[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 0/5] xen: avoid module usage in non-modular code
This series of commits is a part of a larger project to ensure people don't reference modular support functions in non-modular code. Overall there was roughly 5k lines of dead code in the kernel due to this. So far we've fixed several areas, like tty, x86, net, ... and we continue to work on other areas. There are several reasons to not use module support for code that can never be built as a module, but the big ones are: (1) it is easy to accidentally write unused module_exit and remove code (2) it can be misleading when reading the source, thinking it can be modular when the Makefile and/or Kconfig prohibit it (3) it requires the include of the module.h header file which in turn includes nearly everything else. (4) it gets copied/replicated into other code and spreads like weeds. For the xen subsystem, there are just five commits: First, we get rid of "include <linux/module.h>" instances that are completely unnecessary. Then #2 and #3 and #5 are basically trivial remapping to the appropriate non-modular counterparts, meaning that there is no runtime change here either. The fourth hypervisor commit is similar, but also has removal of some dead code associated with the module_exit function that will never be called. So the runtime should be the same, but the object file will be different (reduced in size). Patches created on linux-next and build tested for x86-64 and ARM64 allmodconfig. --- Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: David Vrabel <david.vrabel@xxxxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx Paul Gortmaker (5): xen: audit usages of module.h ; remove unnecessary instances drivers/xen: make [xen-]ballon explicitly non-modular drivers/xen: make xenbus_dev_[front/back]end explicitly non-modular drivers/xen: make sys-hypervisor.c explicitly non-modular drivers/xen: make platform-pci.c explicitly non-modular arch/arm/include/asm/xen/hypercall.h | 2 ++ drivers/xen/balloon.c | 4 ---- drivers/xen/events/events_2l.c | 1 - drivers/xen/events/events_base.c | 2 +- drivers/xen/events/events_fifo.c | 1 - drivers/xen/features.c | 2 +- drivers/xen/grant-table.c | 1 - drivers/xen/platform-pci.c | 16 ++++++---------- drivers/xen/sys-hypervisor.c | 31 ++++--------------------------- drivers/xen/xen-balloon.c | 14 +++----------- drivers/xen/xen-pciback/conf_space.c | 2 +- drivers/xen/xen-pciback/pciback_ops.c | 2 +- drivers/xen/xen-pciback/xenbus.c | 2 +- drivers/xen/xen-selfballoon.c | 1 - drivers/xen/xenbus/xenbus_dev_backend.c | 13 ++----------- drivers/xen/xenbus/xenbus_dev_frontend.c | 13 ++----------- drivers/xen/xenbus/xenbus_xs.c | 1 - drivers/xen/xenfs/xensyms.c | 1 - 18 files changed, 24 insertions(+), 85 deletions(-) -- 2.6.1 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |