[PATCH] inode_diet: Replace inode.u.generic_ip with inode.i_private
The following patches reduce the size of the VFS inode structure by 28 bytes on a UP x86. (It would be more on an x86_64 system). This is a 10% reduction in the inode size on a UP kernel that is configured in a production mode (i.e., with no spinlock or other debugging functions enabled; if you want to save memory taken up by in-core inodes, the first thing you should do is disable the debugging options; they are responsible for a huge amount of bloat in the VFS inode structure). This patch: The filesystem or device-specific pointer in the inode is inside a union, which is pretty pointless given that all 30+ users of this field have been using the void pointer. Get rid of the union and rename it to i_private, with a comment to explain who is allowed to use the void pointer. This is just a cleanup, but it allows us to reuse the union 'u' for something something where the union will actually be used. [judith@osdl.org: powerpc build fix] Signed-off-by:"Theodore Ts'o" <tytso@mit.edu> Signed-off-by:
Judith Lebzelter <judith@osdl.org> Signed-off-by:
Andrew Morton <akpm@osdl.org> Signed-off-by:
Linus Torvalds <torvalds@osdl.org>
Showing
- arch/powerpc/platforms/cell/spufs/inode.c 1 addition, 1 deletionarch/powerpc/platforms/cell/spufs/inode.c
- arch/powerpc/platforms/pseries/hvCall_inst.c 1 addition, 1 deletionarch/powerpc/platforms/pseries/hvCall_inst.c
- arch/s390/hypfs/inode.c 3 additions, 3 deletionsarch/s390/hypfs/inode.c
- arch/s390/kernel/debug.c 1 addition, 1 deletionarch/s390/kernel/debug.c
- block/blktrace.c 1 addition, 1 deletionblock/blktrace.c
- drivers/i2c/chips/tps65010.c 1 addition, 1 deletiondrivers/i2c/chips/tps65010.c
- drivers/infiniband/hw/ipath/ipath_fs.c 6 additions, 6 deletionsdrivers/infiniband/hw/ipath/ipath_fs.c
- drivers/infiniband/ulp/ipoib/ipoib_fs.c 2 additions, 2 deletionsdrivers/infiniband/ulp/ipoib/ipoib_fs.c
- drivers/misc/ibmasm/ibmasmfs.c 8 additions, 8 deletionsdrivers/misc/ibmasm/ibmasmfs.c
- drivers/net/irda/vlsi_ir.h 1 addition, 1 deletiondrivers/net/irda/vlsi_ir.h
- drivers/net/wireless/bcm43xx/bcm43xx_debugfs.c 1 addition, 1 deletiondrivers/net/wireless/bcm43xx/bcm43xx_debugfs.c
- drivers/oprofile/oprofilefs.c 5 additions, 5 deletionsdrivers/oprofile/oprofilefs.c
- drivers/pci/hotplug/cpqphp_sysfs.c 1 addition, 1 deletiondrivers/pci/hotplug/cpqphp_sysfs.c
- drivers/usb/core/devio.c 1 addition, 1 deletiondrivers/usb/core/devio.c
- drivers/usb/core/inode.c 3 additions, 3 deletionsdrivers/usb/core/inode.c
- drivers/usb/gadget/inode.c 3 additions, 3 deletionsdrivers/usb/gadget/inode.c
- drivers/usb/host/isp116x-hcd.c 1 addition, 1 deletiondrivers/usb/host/isp116x-hcd.c
- drivers/usb/host/uhci-debug.c 1 addition, 1 deletiondrivers/usb/host/uhci-debug.c
- drivers/usb/mon/mon_stat.c 1 addition, 1 deletiondrivers/usb/mon/mon_stat.c
- drivers/usb/mon/mon_text.c 2 additions, 2 deletionsdrivers/usb/mon/mon_text.c
Loading
Please register or sign in to comment