Re: RFC Re: [PATCH v2 04/13] perf tools: Add API to config maps in bpf object

From: Wangnan (F)
Date: Fri Nov 27 2015 - 20:22:41 EST




On 2015/11/28 9:20, Wangnan (F) wrote:


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/

Should be:

./mybpf.c/maps.mymap.value=1234/


like 'sed':

# sed 's/a/b/g'
a
b
# sed 's+/+|+g'
/
|

Thank you.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/