This is a pretty sweet device but I have a suggestion. Would it be possible to turn those variables (kernelpath, commitid, and so on) into symbols, something *equivalent* to this (I'm not saying this is the only way to do it): char *KernelPath = "whatever" and so on, i.e. just generate a C file full of such declarations, then in your device, you can, given the QID you get from the walk, on open, use QID.path to index into an array of pointers to those variables, then use the readstr func to copy the value out to user mode?
This would avoid the need to parse the variables. Just an idea. If you're not liking the use of the QID.Path you could still maybe do this in a way that avoids searching for the : and so on. ron On Mon, Dec 14, 2015 at 8:33 PM 'Davide Libenzi' via Akaros < [email protected]> wrote: > As far as Akaros perf, I will append a new commit there. > I needed the kernel size also, in theory, but then it's like the dog > biting his tail 😀 > I don't know it until I am creating it. > But, I don't really need that. > Linux perf wants to know which ELF to use to look for symbols at a given > address, and I can assume from the kernel load address, up-a-while, only > the kernel ELF is there. > So I can just pass a relatively big number as size, and be done with it. > > > > On Mon, Dec 14, 2015 at 8:28 PM, Davide Libenzi <[email protected]> > wrote: > >> The new machinery create an info file like: >> >> KernelPath: >> /usr/local/google/home/src/akaros/akaros/obj/kern/akaros-kernel-64b >> Date: Mon Dec 14 20:21:26 PST 2015 >> Host: dlibenzi.mtv.corp.google.com >> CommitID: 769cc0c093f9c9b9f41c6387d0272e317e0e62c3 >> >> And stick it into the kernel ELF file. >> The new device reads the information out into separate files (path, date, >> host, commit). >> This branch is based upon the devarch_msr_perf one. >> >> >> >> https://github.com/dlibenzi/akaros/compare/devarch_msr_perf...dlibenzi:build_info >> >> >> The following changes since commit >> b1e8b1a61a4e0493ef3605910477459fe30eaa43: >> >> Move Linux perf format conversion into perf tool, drop kprof2perf >> (2015-12-14 14:27:06 -0800) >> >> are available in the git repository at: >> >> [email protected]:dlibenzi/akaros build_info >> >> for you to fetch changes up to 25c241765f4395cd9ff910688c5f4afc91b8c2d1: >> >> Added #version device (2015-12-14 20:23:39 -0800) >> >> ---------------------------------------------------------------- >> Davide Libenzi (3): >> Added makefile machinary to generate a build info ELF section >> Added memstr() API to allow to search strings in memory >> Added #version device >> >> Makefile | 39 +++++++---- >> kern/drivers/dev/Kbuild | 1 + >> kern/drivers/dev/version.c | 157 >> +++++++++++++++++++++++++++++++++++++++++++++ >> kern/include/string.h | 1 + >> kern/src/strstr.c | 19 ++++++ >> 5 files changed, 203 insertions(+), 14 deletions(-) >> create mode 100644 kern/drivers/dev/version.c >> >> > -- > You received this message because you are subscribed to the Google Groups > "Akaros" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Akaros" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. For more options, visit https://groups.google.com/d/optout.
