Messages in this thread | | | From | Arnd Bergmann <> | Subject | [RFC 0/4] compat-ioctl.c diet | Date | Sun, 15 Nov 2009 16:04:06 +0000 |
| |
I've spent some time on making the compat ioctl code significantly smaller. Removing the tty and socket level ioctl handling from common code in linux-next helps a bit, but mostly just moves code to other places but does not save much in an allyesconfig.
This is the output of /usr/bin/size on the fs/compat_ioctl.o file in different versions:
2.6.32-rc7: text data bss dec hex filename 13335 17792 2080 33207 81b7 obj/fs/compat_ioctl.o linux-next: 8877 14696 2080 25653 6435 obj/fs/compat_ioctl.o Simplifying the remaining code (this series): 7572 2144 4 9720 25f8 obj/fs/compat_ioctl.o Moving more handlers directly into driver (future series): 4817 1740 4 6561 19a1 obj/fs/compat_ioctl.o
There are a few dependencies on code in other trees, so this series doesn't currently apply cleanly anywhere except my own tree.
The final series of patches that I'll post separately depends on this one as well and touches most of the drivers that currently require a conversion function in fs/compat_ioctl.c that no other driver uses. Moving those conversions into the drivers simplifies the common code and keeps the native and compat versions closer.
Arnd <><
---
Arnd Bergmann (4): compat_ioctl: inline all conversion handlers compat_ioctl: simplify calling of handlers compat_ioctl: simplify lookup table compat_ioctl: pass compat pointer directly to handlers
fs/compat_ioctl.c | 471 +++++++++++++++++++++++++---------------------------- 1 files changed, 220 insertions(+), 251 deletions(-)
| |