Re: [RFC PATCH 00/35] remove in-kernel syscall invocations

From: Ingo Molnar
Date: Tue Mar 13 2018 - 01:48:22 EST



* Dominik Brodowski <linux@xxxxxxxxxxxxxxxxxxxx> wrote:

> On Mon, Mar 12, 2018 at 08:32:56AM +0100, Ingo Molnar wrote:
> >
> > * Dominik Brodowski <linux@xxxxxxxxxxxxxxxxxxxx> wrote:
> >
> > > I'm a bit more unsure about these remaining patches. They use inline stubs
> > > named ksys_xyzzy() which (mostly) call fs-internal functions. Another
> > > alternative would be to define these in fs/*, but then we'd get more and
> > > more indirections.
> > >
> > > syscalls: do not call sys_unlink() within the kernel
> > > syscalls: do not call sys_rmdir() within the kernel
> > > syscalls: do not call sys_mkdir{,at}() within the kernel
> > > syscalls: do not call sys_symlink{,at}() within the kernel
> > > syscalls: do not call sys_mknod{,at}() within the kernel
> > > syscalls: do not call sys_link{,at}() within the kernel
> > > syscalls: do not call sys_{f,}chmod{at,}() within the kernel
> > > syscalls: do not call sys_{f,}access{,at}() within the kernel
> > > syscalls: do not call sys_ftruncate() within the kernel
> > > syscalls: do not call sys_{,l,f}chown() within the kernel
> > > syscalls: do not call sys_close() within the kernel
> >
> > > 72 files changed, 572 insertions(+), 274 deletions(-)
> >
> > Just curious, have you done a before/after vmlinux /usr/bin/size comparison?
> > How do these changes impact generated code?
> >
> > My expectation would be for there to be a noticeable decrease in text size.
>
> Unfortunately, no:
>
> text data bss dec hex filename
> 10352515 6598692 13344972 30296179 1ce4873 vmlinux-v4.16-rc5
> 10352845 6598852 13344972 30296669 1ce4a5d vmlinux-v4.16-rc5-patch23
> 10352942 6598948 13344972 30296862 1ce4b1e vmlinux-v4.16-rc5-patch35

Maybe it's due to the new helpers - still, the changes in size are very small so
this isn't a showstopper.

Thanks,

Ingo