twx-linux/include/linux
Pavel Emelyanov 4665079cbb [NETNS]: Move some code into __init section when CONFIG_NET_NS=n
With the net namespaces many code leaved the __init section,
thus making the kernel occupy more memory than it did before.
Since we have a config option that prohibits the namespace
creation, the functions that initialize/finalize some netns
stuff are simply not needed and can be freed after the boot.

Currently, this is almost not noticeable, since few calls
are no longer in __init, but when the namespaces will be
merged it will be possible to free more code. I propose to
use the __net_init, __net_exit and __net_initdata "attributes"
for functions/variables that are not used if the CONFIG_NET_NS
is not set to save more space in memory.

The exiting functions cannot just reside in the __exit section,
as noticed by David, since the init section will have
references on it and the compilation will fail due to modpost
checks. These references can exist, since the init namespace
never dies and the exit callbacks are never called. So I
introduce the __exit_refok attribute just like it is already
done with the __init_refok.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2007-10-10 16:54:58 -07:00
..
amba
byteorder
dvb
hdlc
isdn
lockd
mlx4
mmc
mtd
netfilter [NETFILTER]: x_tables: add xt_time match 2007-10-10 16:53:40 -07:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
nfsd
raid
rtc
spi
ssb [SSB]: add Sonics Silicon Backplane bus support 2007-10-10 16:51:36 -07:00
sunrpc
tc_act [PKT_SCHED]: Add stateless NAT 2007-10-10 16:53:11 -07:00
tc_ematch
usb
8250_pci.h
a.out.h
ac97_codec.h
acct.h
acpi_pmtmr.h
acpi.h
adb.h
adfs_fs_i.h
adfs_fs_sb.h
adfs_fs.h
aer.h PCI AER: fix warnings when PCIEAER=n 2007-09-11 04:22:16 -07:00
affs_hardblocks.h
agp_backend.h
agpgart.h
aio_abi.h
aio.h
amifd.h
amifdreg.h
amigaffs.h
anon_inodes.h
apm_bios.h
apm-emulation.h
arcdevice.h arcnet endianness annotations 2007-10-10 16:51:59 -07:00
arcfb.h
async_tx.h
ata.h ata: add ATA_MWDMA* and ATA_SWDMA* defines 2007-08-31 04:00:19 -04:00
atalk.h
atm_eni.h
atm_he.h
atm_idt77105.h
atm_nicstar.h
atm_suni.h
atm_tcp.h
atm_zatm.h
atm.h
atmapi.h
atmarp.h
atmbr2684.h
atmclip.h
atmdev.h
atmel_pdc.h
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
attribute_container.h
audit.h [XFRM]: xfrm audit calls 2007-10-10 16:49:02 -07:00
auto_fs4.h
auto_fs.h
auxvec.h
ax25.h
b1lli.h
b1pcmcia.h
backing-dev.h
backlight.h
baycom.h
bcd.h
bfs_fs.h
binfmts.h
bio.h
bit_spinlock.h
bitmap.h
bitops.h
bitrev.h
blkdev.h
blkpg.h
blktrace_api.h
blockgroup_lock.h
bootmem.h
bottom_half.h
bpqether.h
bsg.h
buffer_head.h
bug.h
cache.h
calc64.h
capability.h
capi.h
cciss_ioctl.h
cd1400.h
cdev.h
cdk.h
cdrom.h
cfag12864b.h
chio.h
circ_buf.h
clk.h
clockchips.h
clocksource.h
cm4000_cs.h
cn_proc.h
coda_cache.h
coda_fs_i.h
coda_linux.h
coda_psdev.h
coda.h
coff.h
com20020.h
compat.h
compiler-gcc3.h
compiler-gcc4.h
compiler-gcc.h
compiler-intel.h
compiler.h
completion.h
comstats.h
concap.h
configfs.h
connector.h
console_struct.h
console.h
consolemap.h
const.h
cpu.h PM: Fix dependencies of CONFIG_SUSPEND and CONFIG_HIBERNATION 2007-08-31 01:42:22 -07:00
cpufreq.h Revert "[PATCH] x86-64: fix x86_64-mm-sched-clock-share" 2007-09-26 15:52:17 -07:00
cpumask.h
cpuset.h
cramfs_fs_sb.h
cramfs_fs.h
crash_dump.h
crc7.h
crc16.h
crc32.h
crc32c.h
crc-ccitt.h
crc-itu-t.h
crypto.h
cryptohash.h
ctype.h
cuda.h
cyclades.h
cyclomx.h
cycx_cfm.h
cycx_drv.h
cycx_x25.h
dcache.h
dccp.h [DCCP]: Tidy-up -- minisock initialisation 2007-10-10 16:54:36 -07:00
dcookies.h
debug_locks.h
debugfs.h
delay.h
delayacct.h
device-mapper.h
device.h
devpts_fs.h
dio.h
dirent.h
display.h
dlm_device.h
dlm_netlink.h
dlm.h
dm9000.h
dm-ioctl.h
dma-mapping.h
dmaengine.h
dmapool.h
dmi.h
dn.h
dnotify.h
dqblk_v1.h
dqblk_v2.h
dqblk_xfs.h
ds1wm.h
ds1286.h
ds17287rtc.h
dtlk.h
edac.h
edd.h
eeprom_93cx6.h ax88796: add 93cx6 eeprom support 2007-10-10 16:53:56 -07:00
efi.h
efs_dir.h
efs_fs_i.h
efs_fs_sb.h
efs_fs.h
efs_vh.h
eisa.h
elevator.h
elf-em.h
elf-fdpic.h
elf.h
elfcore.h
elfnote.h
err.h
errno.h
errqueue.h [NET]: struct sock_exterr_skb annotations 2006-09-28 18:02:08 -07:00
etherdevice.h [NET]: Move hardware header operations out of netdevice. 2007-10-10 16:52:52 -07:00
ethtool.h [ETHTOOL]: Introduce ->{get,set}_priv_flags, ETHTOOL_[GS]PFLAGS 2007-10-10 16:48:08 -07:00
eventfd.h
eventpoll.h
exportfs.h
ext2_fs_sb.h
ext2_fs.h
ext3_fs_i.h
ext3_fs_sb.h
ext3_fs.h
ext3_jbd.h
ext4_fs_extents.h
ext4_fs_i.h
ext4_fs_sb.h
ext4_fs.h
ext4_jbd2.h
fadvise.h
falloc.h
fault-inject.h
fb.h
fcdevice.h
fcntl.h
fd1772.h
fd.h
fddidevice.h
fdreg.h
fib_rules.h
file.h
filter.h
firewire-cdev.h
firewire-constants.h
firmware.h
flat.h
font.h
freezer.h
fs_enet_pd.h fs_enet: Be an of_platform device when CONFIG_PPC_CPM_NEW_BINDING is set. 2007-10-10 16:54:03 -07:00
fs_stack.h
fs_struct.h
fs_uart_pd.h
fs.h
fsl_devices.h
fsnotify.h
fuse.h
futex.h
gameport.h
gen_stats.h
genalloc.h
generic_acl.h
generic_serial.h
genetlink.h
genhd.h
getcpu.h
gfp.h
gfs2_ondisk.h
gigaset_dev.h
gpio_keys.h
gpio_mouse.h
hardirq.h
harrier_defs.h
hash.h
hayesesp.h
hdlc.h
hdlcdrv.h
hdpu_features.h
hdreg.h
hdsmart.h
hid-debug.h
hid.h
hiddev.h
highmem.h
highuid.h
hil_mlc.h
hil.h
hippidevice.h
hp_sdc.h
hpet.h
hrtimer.h
htirq.h
hugetlb.h hugepage: fix broken check for offset alignment in hugepage mappings 2007-08-31 01:42:23 -07:00
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hysdn_if.h
i2c-algo-bit.h
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-algo-sgi.h
i2c-dev.h
i2c-gpio.h
i2c-id.h
i2c-ocores.h
i2c-pnx.h
i2c-pxa.h
i2c.h
i2o-dev.h
i2o.h
i8k.h
ibmtr.h
icmp.h
icmpv6.h
ide.h ide: add ide_dev_is_sata() helper (take 2) 2007-09-11 22:28:36 +02:00
idr.h
ieee80211.h [PATCH] wireless networking: move frame inline functions to generic header 2007-10-10 16:52:59 -07:00
if_addr.h
if_arcnet.h arcnet endianness annotations 2007-10-10 16:51:59 -07:00
if_arp.h
if_bonding.h
if_bridge.h [NET]: Make the device list and device lookups per namespace. 2007-10-10 16:49:10 -07:00
if_cablemodem.h
if_ec.h
if_eql.h [NET] drivers/net: statistics cleanup #1 -- save memory and shrink code 2007-10-10 16:51:16 -07:00
if_ether.h [NET]: Move hardware header operations out of netdevice. 2007-10-10 16:52:52 -07:00
if_fc.h
if_fddi.h
if_frad.h
if_hippi.h
if_infiniband.h
if_link.h [NET]: netlink support for moving devices between network namespaces. 2007-10-10 16:49:13 -07:00
if_ltalk.h
if_macvlan.h
if_packet.h
if_plip.h
if_ppp.h
if_pppol2tp.h [PPPOL2TP]: Fix endianness annotations. 2007-08-26 18:35:42 -07:00
if_pppox.h pppoe: endianness 2007-10-10 16:52:04 -07:00
if_shaper.h [NET]: Move hardware header operations out of netdevice. 2007-10-10 16:52:52 -07:00
if_slip.h
if_strip.h
if_tr.h
if_tun.h [NET] drivers/net: statistics cleanup #1 -- save memory and shrink code 2007-10-10 16:51:16 -07:00
if_tunnel.h
if_vlan.h [NET]: Make the device list and device lookups per namespace. 2007-10-10 16:49:10 -07:00
if_wanpipe.h
if.h
igmp.h
in6.h
in_route.h
in.h
inet_diag.h
inet_lro.h [NET]: Generic Large Receive Offload for TCP traffic 2007-10-10 16:47:46 -07:00
inet.h
inetdevice.h
init_task.h [NETNS]: Fix allnoconfig compilation error. 2007-10-10 16:49:21 -07:00
init.h [NETNS]: Move some code into __init section when CONFIG_NET_NS=n 2007-10-10 16:54:58 -07:00
initrd.h
inotify.h
input-polldev.h
input.h [RFKILL]: Add support for ultrawideband 2007-10-10 16:49:23 -07:00
interrupt.h
io.h
ioc3.h
ioc4.h
ioctl.h
ioport.h
ioprio.h
ip6_tunnel.h
ip.h
ipc.h
ipmi_msgdefs.h
ipmi_smi.h
ipmi.h
ipsec.h
ipv6_route.h
ipv6.h
ipx.h
irda.h
irq_cpustat.h
irq.h
irqflags.h
irqreturn.h
isa.h Fix non-ISA link error in drivers/scsi/advansys.c 2007-09-16 21:13:58 -07:00
isapnp.h
isdn_divertif.h
isdn_ppp.h
isdn.h [ISDN]: Change I4L to use alloc_netdev(). 2007-10-10 16:54:57 -07:00
isdnif.h
isicom.h
iso_fs.h
istallion.h
ixjuser.h
jbd2.h
jbd.h
jffs2.h
jhash.h
jiffies.h
journal-head.h
joystick.h
kallsyms.h
kbd_diacr.h
kbd_kern.h
Kbuild [KBUILD]: Sanitize tc_ematch headers. 2007-08-26 18:35:34 -07:00
kd.h
kdebug.h
kdev_t.h
kernel_stat.h
kernel.h PTR_ALIGN 2007-09-11 17:21:20 -07:00
kernelcapi.h
kexec.h
key-ui.h
key.h
keyboard.h Input: add more Braille keycodes 2007-09-04 23:16:04 -04:00
keyctl.h
kfifo.h
klist.h
kmalloc_sizes.h
kmod.h
kobj_map.h
kobject.h
kprobes.h
kref.h
ks0108.h
kthread.h
ktime.h [KTIME]: Introduce ktime_sub_ns and ktime_sub_us 2007-10-10 16:48:12 -07:00
kvm_para.h
kvm.h
lapb.h
latency.h
lcd.h
leds.h leds: Add missing include for leds.h 2007-09-11 22:24:45 +01:00
lguest_bus.h
lguest_launcher.h
lguest.h
libata.h libata: implement BROKEN_HPA horkage and apply it to affected drives 2007-08-31 04:21:13 -04:00
libps2.h
license.h
limits.h
linkage.h
linux_logo.h
list.h [NETNS]: Cleanup list walking in setup_net and cleanup_net 2007-10-10 16:51:35 -07:00
llc.h
lm_interface.h
lock_dlm_plock.h
lockdep.h
log2.h
loop.h
lp.h
lzo.h
m41t00.h
m48t86.h
magic.h
major.h
matroxfb.h
mbcache.h
mc6821.h
mc146818rtc.h
mca-legacy.h
mca.h
mdio-bitbang.h Generic bitbanged MDIO library 2007-10-10 16:54:03 -07:00
memory_hotplug.h
memory.h
mempolicy.h Fix NUMA Memory Policy Reference Counting 2007-09-19 11:24:18 -07:00
mempool.h
meye.h
migrate.h
mii.h
minix_fs.h
miscdevice.h
mm_inline.h
mm_types.h
mm.h
mman.h
mmtimer.h
mmzone.h
mnt_namespace.h
mod_devicetable.h [SSB]: add Sonics Silicon Backplane bus support 2007-10-10 16:51:36 -07:00
module.h
moduleloader.h
moduleparam.h
mount.h
mpage.h
mqueue.h
mroute.h
msdos_fs.h
msg.h
msi.h
mtio.h
mutex-debug.h
mutex.h
mv643xx.h
n_r3964.h
namei.h
nbd.h
ncp_fs_i.h
ncp_fs_sb.h
ncp_fs.h
ncp_mount.h
ncp_no.h
ncp.h
neighbour.h
net.h [NET]: Make socket creation namespace safe. 2007-10-10 16:49:07 -07:00
netdevice.h [NET]: Move hardware header operations out of netdevice. 2007-10-10 16:52:52 -07:00
netfilter_arp.h
netfilter_bridge.h
netfilter_decnet.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter.h [NETFILTER]: Fix/improve deadlock condition on module removal netfilter 2007-09-11 11:28:26 +02:00
netlink.h [NETLINK]: Introduce nested and byteorder flag to netlink attribute 2007-10-10 16:49:16 -07:00
netpoll.h [NET] netconsole: Support dynamic reconfiguration using configfs 2007-10-10 16:48:06 -07:00
netrom.h
nfs2.h
nfs3.h
nfs4_acl.h
nfs4_mount.h
nfs4.h
nfs_fs_i.h
nfs_fs_sb.h
nfs_fs.h NFS: Fix a write request leak in nfs_invalidate_page() 2007-09-01 10:14:54 -04:00
nfs_idmap.h
nfs_mount.h
nfs_page.h
nfs_xdr.h
nfs.h
nfsacl.h
nfsd_idmap.h
nl80211.h [NL80211]: add netlink interface to cfg80211 2007-10-10 16:52:14 -07:00
nls.h
nmi.h
node.h
nodemask.h
notifier.h
nsc_gpio.h
nsproxy.h [NET]: Add a network namespace parameter to tasks 2007-10-10 16:49:04 -07:00
nubus.h
numa.h
nvram.h
of_device.h
of_platform.h
of.h
oom.h
oprofile.h
page-flags.h
pagemap.h
pagevec.h
param.h
parport_pc.h
parport.h
parser.h
pata_platform.h
patchkey.h
pci_hotplug.h
pci_ids.h [TG3]: Add 5784 and 5764 support. 2007-10-10 16:54:45 -07:00
pci_regs.h [TG3]: Walk PCI capability lists. 2007-10-10 16:54:44 -07:00
pci-acpi.h
pci.h
pcieport_if.h
pda_power.h
percpu_counter.h
percpu.h
personality.h
pfkeyv2.h
pfn.h
pg.h
phantom.h
phonedev.h
phy_fixed.h PHY fixed driver: rework release path and update phy_id notation 2007-10-10 16:53:50 -07:00
phy.h PHYLIB: IRQ event workqueue handling fixes 2007-10-10 16:53:55 -07:00
pid_namespace.h
pid.h
pipe_fs_i.h
pkt_cls.h
pkt_sched.h [NET_SCHED]: Making rate table lookups more flexible. 2007-10-10 16:49:20 -07:00
pktcdvd.h
platform_device.h
plist.h
pm_legacy.h
pm.h
pmu.h
pnp.h
pnpbios.h
poison.h
poll.h Fix select on /proc files without ->poll 2007-09-11 17:21:20 -07:00
posix_acl_xattr.h
posix_acl.h
posix_types.h
posix-timers.h
power_supply.h
ppdev.h
ppp_channel.h
ppp_defs.h
ppp-comp.h
prctl.h
preempt.h
prefetch.h
prio_tree.h
proc_fs.h [NET]: Fix race when opening a proc file while a network namespace is exiting. 2007-10-10 16:49:22 -07:00
profile.h
ps2esdi.h
ptrace.h
qnx4_fs.h
qnxtypes.h
quicklist.h
quota.h
quotaio_v1.h
quotaio_v2.h
quotaops.h
radeonfb.h
radix-tree.h
raid_class.h
ramfs.h
random.h
raw.h
rbtree.h
rcupdate.h
reboot.h
reciprocal_div.h
reiserfs_acl.h
reiserfs_fs_i.h
reiserfs_fs_sb.h
reiserfs_fs.h
reiserfs_xattr.h
relay.h
resource.h
resume-trace.h
rfkill.h [RFKILL]: Add support for hardware-only rfkill buttons 2007-10-10 16:54:11 -07:00
rio_drv.h
rio_ids.h
rio_regs.h
rio.h
rmap.h
romfs_fs.h
root_dev.h [PATCH] Fix broken kernel headers preventing ARM build 2006-07-13 13:21:35 -07:00
rose.h
route.h
rslib.h
rtc-v3020.h
rtc.h
rtmutex.h
rtnetlink.h [TCP]: Allow minimum RTO to be configurable via routing metrics. 2007-08-30 22:10:28 -07:00
rwsem-spinlock.h
rwsem.h
rxrpc.h
sc26198.h
scatterlist.h
scc.h
sched.h [NETNS]: CLONE_NEWNET don't use the same clone flag as the pid namespace. 2007-10-10 16:53:30 -07:00
screen_info.h
sctp.h [SCTP]: protocol definitions for SCTP-AUTH implementation 2007-10-10 16:51:28 -07:00
scx200_gpio.h
scx200.h
sdla.h
seccomp.h
securebits.h
security.h
selection.h
selinux_netlink.h
selinux.h
sem.h
seq_file.h
seqlock.h
serial167.h
serial_8250.h
serial_core.h
serial_pnx8xxx.h
serial_reg.h
serial.h
serialP.h
serio.h
shm.h
shmem_fs.h
signal.h
signalfd.h signalfd simplification 2007-09-20 13:19:59 -07:00
skbuff.h [NET] skbuff: Add skb_cow_head 2007-09-16 16:21:16 -07:00
slab_def.h
slab.h
slob_def.h
slub_def.h SLUB: Force inlining for functions in slub_def.h 2007-08-31 01:09:21 -07:00
sm501-regs.h
sm501.h
smb_fs_i.h
smb_fs_sb.h
smb_fs.h
smb_mount.h
smb.h
smbno.h
smp_lock.h
smp.h
snmp.h [TCP] MIB: Count FRTO's successfully detected spurious RTOs 2007-10-10 16:52:39 -07:00
socket.h
sockios.h
som.h
sonet.h
sony-laptop.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock_api_smp.h
spinlock_api_up.h
spinlock_types_up.h
spinlock_types.h
spinlock_up.h
spinlock.h
splice.h
srcu.h
stacktrace.h
stallion.h
start_kernel.h
stat.h
statfs.h
stddef.h
stop_machine.h
string.h
stringify.h
superhyway.h
suspend.h
svga.h
swap.h
swapops.h
synclink.h
sys.h
syscalls.h
sysctl.h
sysdev.h sysfs: kill unnecessary attribute->owner 2007-07-11 16:09:06 -07:00
sysfs.h
sysrq.h
sysv_fs.h
task_io_accounting_ops.h
task_io_accounting.h
taskstats_kern.h
taskstats.h
tc.h
tcp.h [TCP]: Comment fastpath_cnt_hint off-by-one trap 2007-10-10 16:54:47 -07:00
telephony.h
termios.h
textsearch_fsm.h
textsearch.h
tfrc.h
thread_info.h
threads.h
ticable.h
tick.h
tifm.h
time.h
timer.h
timerfd.h
times.h
timex.h
tiocl.h
tipc_config.h
tipc.h
topology.h
toshiba.h
transport_class.h
trdevice.h
tsacct_kern.h
tty_driver.h
tty_flip.h
tty_ldisc.h
tty.h
types.h
uaccess.h
udf_fs_i.h
udf_fs_sb.h
udf_fs.h
udp.h
ufs_fs_i.h
ufs_fs_sb.h
ufs_fs.h
uinput.h
uio_driver.h
uio.h
ultrasound.h
umem.h
un.h
unistd.h
unwind.h
usb_gadget.h
usb_sl811.h
usb_usual.h
usb.h
usbdevice_fs.h
user_namespace.h Convert uid hash to hlist 2007-09-19 11:24:18 -07:00
user.h
utime.h
uts.h
utsname.h
vermagic.h
vfs.h
via.h
video_decoder.h
video_encoder.h
video_output.h
videodev2.h
videodev.h
videotext.h
vmalloc.h
vmstat.h
vt_buffer.h
vt_kern.h
vt.h
wait.h
wanrouter.h
watchdog.h
wireless.h
workqueue.h make cancel_xxx_work_sync() return a boolean 2007-07-16 09:05:51 -07:00
writeback.h mm: set_page_dirty_balance() vs ->page_mkwrite() 2007-10-08 12:58:14 -07:00
x25.h
xattr.h
xfrm.h
yam.h
zconf.h
zlib.h [ZLIB]: Move bnx2 driver gzip unpacker into zlib. 2007-10-10 16:53:57 -07:00
zorro_ids.h
zorro.h
zutil.h