Messages in this thread | | | Date | Sat, 28 Nov 2015 09:20:26 +0800 | From | "Wangnan (F)" <> | Subject | Re: RFC Re: [PATCH v2 04/13] perf tools: Add API to config maps in bpf object |
| |
On 2015/11/28 9:10, Arnaldo Carvalho de Melo wrote: > Em Fri, Nov 27, 2015 at 08:47:38AM +0000, Wang Nan escreveu: >> bpf__config_obj() is introduced as a core API to config BPF object >> after loading. One configuration option of maps is introduced. After >> this patch BPF object can accept configuration like: >> >> maps:my_map:value=1234 >> >> (maps.my_map.value looks pretty. However, there's a small but hard >> to fixed problem related to flex's greedy matching. Please see [1]. >> Choose ':' to avoid it in a simpler way.) > Understood the issues, but I would like to hear from Ingo, Jiri, > Namhyung, Brian and others here, since we're setting up syntax, and yes, > using: > > maps.my_map.value[0,3...6]=1234; > > or even: > > maps->my_map->value[0,3...6]=1234; > > Looks more natural than: > > maps:my_map:value[0,3...6]=1234;
You don't mention maps::my_map::value. C++ use '::' this way, so I think it is also a possible choice.
Or we can use another character for example '|' to replace '/' in case we have a map starting with 'c' or 'o'. For example:
./mybpf.c|maps.channel.value=1234|
and in normal case still support '/':
./mybpf.c/maps.channel.value=1234/
like 'sed':
# sed 's/a/b/g' a b # sed 's+/+|+g' / |
Thank you.
| |