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

From: Dominik Brodowski
Date: Mon Mar 12 2018 - 15:54:42 EST


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

Thanks,
Dominik