Giter Club home page Giter Club logo

Comments (7)

danobi avatar danobi commented on August 15, 2024 1

Oh, BTF tags only work for clang built linux. Lemme think on it more

from bpftool.

danobi avatar danobi commented on August 15, 2024 1

So I think this approach is probably still doable, except we cannot use BTF type tags from kernel side. Instead we'd probably want to teach pahole to parse the .BTF_ids section in vmlinux and generate type tags from that. But unfortunately not the quick win I was looking for :p w.r.t. how much time I can allocate to this.

from bpftool.

qmonnet avatar qmonnet commented on August 15, 2024 1

Could be worth opening a thread on bpf@, I wouldn't be surprised if other people are interested in listing the kfuncs, too. Some may even have more suggestions, or cycles to take a look?

from bpftool.

danobi avatar danobi commented on August 15, 2024

Interesting, I thought kfuncs were encoded into BTF. I see a reference to that here: https://github.com/torvalds/linux/blob/0e389834672c723435a44818ed2cabc4dad24429/kernel/bpf/btf.c#L7669

Mind double checking me on that? If kfuncs availability can be pulled from BTF feel free to give this one to me -- it's been bugging me for a while

from bpftool.

qmonnet avatar qmonnet commented on August 15, 2024

Hey, thanks Daniel for looking into this!

As far as I'm aware, kfuncs and their prototypes are indeed available in the raw BTF, but I can't see them in the vmlinux.h generated by bpftool. In the raw BTF ouput, I don't know if there's a way to distinguish them from other non-kfuncs kernel functions.

What do you have in mind, exactly?

from bpftool.

danobi avatar danobi commented on August 15, 2024

Hey, thanks Daniel for looking into this!

As far as I'm aware, kfuncs and their prototypes are indeed available in the raw BTF, but I can't see them in the vmlinux.h generated by bpftool. In the raw BTF ouput, I don't know if there's a way to distinguish them from other non-kfuncs kernel functions.

Ah makes sense. In that case, I was thinking of adding a BTF tag to all kfunc via __bpf_kfunc macro. Then bpftool could just walk all the tags and find kfunc tagged functions.

What do you have in mind, exactly?

I'm interested in two things:

  1. Have bpftool support a "feature dump" of all supported kfuncs on running kernel
  2. Have bpftool generate vmlinux.h with kfunc prototypes

from bpftool.

qmonnet avatar qmonnet commented on August 15, 2024

Would be great to have these tags, indeed. Thanks!

from bpftool.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.