Messages in this thread | | | Date | Tue, 05 May 2015 21:10:59 -0700 | From | Alexei Starovoitov <> | Subject | Re: [RFC PATCH 0/6] perf bpf: Probing with local variable |
| |
On 5/5/15 8:58 PM, Wang Nan wrote: >> Two high level comments: >> - can you collapse SEC("config") with SEC("func_name") ? >> It seems that "func_name" is only used as reference inside "config". >> I understand that you're proposing one "config" section where multiple >> descriptions are strcat together, but why? Something like: >> SEC("kprobe/generic_perform_write+122(file->f_mapping->a_ops, bytes, offset)") >> int func(...) { ... } >> should be enough and more concise. >> > > Is it possible to use such a long section name? I introduce 'config' section
yes. of course. I don't know what is the limit, but it's definitely above 512 characters. It can contains spaces and special chars too.
> since it contains C strings so I can put things to it freely. By using macro trick, > we can still use not very complex code to describe probing position like this: > > #define PROBE(name, config) \ > SEC("config") char name##_config[] = #name config ; \ > SEC(#name) > PROBE(generic_perform_write, "kprobe: +122(file->f_mapping->a_ops, bytes, offset)")
that's even more obscure :( why hide it behind macros? I think single 'SEC' macro is already not very clean, but I couldn't come up with better alternative. Elf sections are free that why I used them in samples/bpf/ examples, but let's not overuse them.
| |