kernel-ark/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
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
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
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
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
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
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
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
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
kd.h
kdebug.h
kdev_t.h
kernel_stat.h
kernel.h
kernelcapi.h
kexec.h
key-ui.h
key.h
keyboard.h
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
lguest_bus.h
lguest_launcher.h
lguest.h
libata.h
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
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_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
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
rose.h
route.h
rslib.h
rtc-v3020.h
rtc.h
rtmutex.h
rtnetlink.h
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
slab_def.h
slab.h
slob_def.h
slub_def.h
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.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
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
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