Re: [PATCH bpf-next v3 3/4] x86: implement per-function metadata storage for x86

From: Menglong Dong
Date: Mon Mar 03 2025 - 22:08:53 EST


On Tue, Mar 4, 2025 at 10:07 AM Menglong Dong <menglong8.dong@xxxxxxxxx> wrote:
>
> On Tue, Mar 4, 2025 at 12:05 AM Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
> >
> > On Mon, 3 Mar 2025 14:53:44 +0800
> > Menglong Dong <menglong8.dong@xxxxxxxxx> wrote:
> >
> > > In the third case, we make the kernel function 32 bytes aligned, and there
> > > will be 32 bytes padding before the functions. According to my testing,
> > > the text size didn't increase on this case, which is weird.
> > >
> > > With 16-bytes padding:
> > >
> > > -rwxr-xr-x 1 401190688 x86-dev/vmlinux*
> > > -rw-r--r-- 1 251068 x86-dev/vmlinux.a
> > > -rw-r--r-- 1 851892992 x86-dev/vmlinux.o
> > > -rw-r--r-- 1 12395008 x86-dev/arch/x86/boot/bzImage
> > >
> > > With 32-bytes padding:
> > >
> > > -rwxr-xr-x 1 401318128 x86-dev/vmlinux*
> > > -rw-r--r-- 1 251154 x86-dev/vmlinux.a
> > > -rw-r--r-- 1 853636704 x86-dev/vmlinux.o
> > > -rw-r--r-- 1 12509696 x86-dev/arch/x86/boot/bzImage
> >
> > Use the "size" command to see the differences in sizes and not the file size.
> >
> > $ size vmlinux
> > text data bss dec hex filename
> > 36892658 9798658 16982016 63673332 3cb93f4 vmlinux
>
> Great! It seems that the way I tested has something wrong. I'll
> compare the text size with "size" command later.

With the size command, the text size with 32-bytes padding is:

text data bss dec hex filename
48299471 14776173 18345936 81421580
4da650c x86-dev/vmlinux

And with 16-bytes padding is:

text data bss dec hex filename
46620640 14772017 18458396 79851053
4c26e2d x86-dev/vmlinux

It increases about 3%, which I think is acceptable in this case.

I'll post the message in the commit log of the next version.

Thanks!
Menglong Dong

>
> Thanks!
> Menglong Dong
>
> >
> > -- Steve