android_kernel_samsung_univ.../include/linux
Ingo Molnar f8cbd99bd3 [PATCH] sched: voluntary kernel preemption
This patch adds a new preemption model: 'Voluntary Kernel Preemption'.  The
3 models can be selected from a new menu:

            (X) No Forced Preemption (Server)
            ( ) Voluntary Kernel Preemption (Desktop)
            ( ) Preemptible Kernel (Low-Latency Desktop)

we still default to the stock (Server) preemption model.

Voluntary preemption works by adding a cond_resched()
(reschedule-if-needed) call to every might_sleep() check.  It is lighter
than CONFIG_PREEMPT - at the cost of not having as tight latencies.  It
represents a different latency/complexity/overhead tradeoff.

It has no runtime impact at all if disabled.  Here are size stats that show
how the various preemption models impact the kernel's size:

    text    data     bss     dec     hex filename
 3618774  547184  179896 4345854  424ffe vmlinux.stock
 3626406  547184  179896 4353486  426dce vmlinux.voluntary   +0.2%
 3748414  548640  179896 4476950  445016 vmlinux.preempt     +3.5%

voluntary-preempt is +0.2% of .text, preempt is +3.5%.

This feature has been tested for many months by lots of people (and it's
also included in the RHEL4 distribution and earlier variants were in Fedora
as well), and it's intended for users and distributions who dont want to
use full-blown CONFIG_PREEMPT for one reason or another.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-25 16:24:45 -07:00
..
byteorder
dvb
hdlc
isdn
lockd [PATCH] NLM: fix a client-side race on blocking locks. 2005-06-22 16:07:42 -04:00
mmc
mtd
netfilter_arp
netfilter_bridge
netfilter_ipv4 [NETFILTER]: Fix "iptables -D" rule deletion with ipt_CLUSTERIP target. 2005-06-22 12:38:33 -07:00
netfilter_ipv6
nfsd [PATCH] knfsd: nfsd4 reboot dirname fix 2005-06-24 00:06:36 -07:00
raid [PATCH] Two small fixes for md verion-1 superblocks. 2005-06-21 19:07:47 -07:00
sunrpc [PATCH] NFSD: Add server support for NFSv3 ACLs. 2005-06-22 16:07:23 -04:00
tc_act
tc_ematch [PKT_SCHED]: Packet classification based on textsearch (ematch) 2005-06-23 21:00:58 -07:00
8250_pci.h
a.out.h
ac97_codec.h
acct.h
acpi.h
adb.h
adfs_fs_i.h
adfs_fs_sb.h
adfs_fs.h
affs_fs.h
affs_hardblocks.h
agp_backend.h
agpgart.h
aio_abi.h
aio.h
amifd.h
amifdreg.h
amigaffs.h
apm_bios.h
arcdevice.h
arcfb.h [PATCH] Framebuffer driver for Arc LCD board 2005-06-21 19:07:41 -07:00
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
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
attribute_container.h
audit.h
auto_fs4.h [PATCH] autofs4: subversion bump to identify these changes 2005-06-21 19:07:36 -07:00
auto_fs.h
awe_voice.h
ax25.h
b1lli.h
b1pcmcia.h
backing-dev.h
backlight.h
baycom.h
bcd.h
bfs_fs.h
binfmts.h [PATCH] setuid core dump 2005-06-23 09:45:26 -07:00
bio.h
bitmap.h
bitops.h
blkdev.h [PATCH] blk: remove BLK_TAGS_{PER_LONG|MASK} 2005-06-23 09:45:15 -07:00
blkpg.h
blockgroup_lock.h
bootmem.h [PATCH] sparsemem base: simple NUMA remap space allocator 2005-06-23 09:45:01 -07:00
bpqether.h
buffer_head.h
cache.h
capability.h
capi.h
cciss_ioctl.h
cd1400.h
cdev.h
cdk.h
cdrom.h
chio.h
circ_buf.h
cobalt-nvram.h
coda_cache.h
coda_fs_i.h
coda_linux.h
coda_proc.h
coda_psdev.h
coda.h
coff.h
com20020.h
compat_ioctl.h
compat.h
compiler-gcc2.h
compiler-gcc3.h
compiler-gcc4.h
compiler-gcc.h
compiler-intel.h
compiler.h
completion.h
comstats.h
concap.h
config.h
console_struct.h
console.h
consolemap.h
cpu.h [PATCH] make smp_prepare_cpu to a weak function 2005-06-25 16:24:30 -07:00
cpufreq.h
cpumask.h
cpuset.h
cramfs_fs_sb.h
cramfs_fs.h
crc32.h
crc32c.h
crc-ccitt.h
crypto.h
cryptohash.h
ctype.h
cuda.h
cyclades.h
cyclomx.h
cycx_cfm.h
cycx_drv.h
cycx_x25.h
dcache.h
dcookies.h
debugfs.h
delay.h
devfs_fs_kernel.h
devfs_fs.h
device-mapper.h
device.h
devpts_fs.h
dio.h
dirent.h
divert.h
dm9000.h
dm-ioctl.h
dma-mapping.h
dmapool.h
dmi.h [PATCH] I8K: use standard DMI interface 2005-06-25 16:24:24 -07:00
dn.h
dnotify.h
dqblk_v1.h [PATCH] quota: improve credits estimates 2005-06-24 00:05:19 -07:00
dqblk_v2.h [PATCH] quota: improve credits estimates 2005-06-24 00:05:19 -07:00
dqblk_xfs.h
ds1286.h
dtlk.h
edd.h
eeprom.h
efi.h
efs_dir.h
efs_fs_i.h
efs_fs_sb.h
efs_fs.h
efs_vh.h
eisa.h
elevator.h
elf-fdpic.h
elf.h
elfcore.h
err.h
errno.h
errqueue.h
etherdevice.h
ethtool.h
eventpoll.h
ext2_fs_sb.h
ext2_fs.h [PATCH] xip: ext2: execute in place 2005-06-24 00:06:41 -07:00
ext3_fs_i.h
ext3_fs_sb.h
ext3_fs.h [PATCH] quota: ext3: Improve quota credit estimates 2005-06-24 00:05:20 -07:00
ext3_jbd.h [PATCH] quota: ext3: Improve quota credit estimates 2005-06-24 00:05:20 -07:00
fadvise.h
fb.h [PATCH] fbdev: stack reduction 2005-06-21 19:07:41 -07:00
fcdevice.h
fcntl.h [PATCH] Don't force O_LARGEFILE for 32 bit processes on ia64 2005-06-23 09:45:28 -07:00
fd1772.h
fd.h
fddidevice.h
fdreg.h
file.h
filter.h
firmware.h
flat.h
font.h [PATCH] New framebuffer fonts + updated 12x22 font available 2005-06-21 19:07:41 -07:00
fs_struct.h
fs.h [PATCH] xip: reduce code duplication 2005-06-24 00:06:41 -07:00
fsl_devices.h [PATCH] ppc32: Added support for new MPC8548 family of PowerQUICC III processors 2005-06-21 18:46:23 -07:00
ftape-header-segment.h
ftape-vendors.h
ftape.h
futex.h
gameport.h
gen_stats.h
genalloc.h [PATCH] ia64 uncached alloc 2005-06-21 18:46:18 -07:00
generic_serial.h
genhd.h [PATCH] add check to /proc/devices read routines 2005-06-23 09:45:19 -07:00
gfp.h [PATCH] Periodically drain non local pagesets 2005-06-21 18:46:18 -07:00
hardirq.h
harrier_defs.h
hash.h
hayesesp.h
hdlc.h
hdlcdrv.h
hdpu_features.h
hdreg.h
hdsmart.h
hiddev.h
highmem.h
highuid.h
hippidevice.h
hpet.h
hpfs_fs.h
hugetlb.h [PATCH] Hugepage consolidation 2005-06-21 18:46:15 -07:00
hwmon-sysfs.h [PATCH] I2C: rename i2c-sysfs.h to hwmon-sysfs.h 2005-06-21 21:52:05 -07:00
hysdn_if.h
i2c-algo-bit.h
i2c-algo-ite.h
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-algo-sgi.h
i2c-algo-sibyte.h
i2c-dev.h
i2c-id.h [PATCH] I2C: Add support for Maxim/Dallas DS1374 Real-Time Clock Chip (1/2) 2005-06-21 21:52:06 -07:00
i2c-sensor.h
i2c-vid.h [PATCH] I2C: i2c-vid.h: Support for VID to reg conversion 2005-06-21 21:51:49 -07:00
i2c.h [PATCH] I2C: Kill address ranges in non-sensors i2c chip drivers 2005-06-21 21:51:48 -07:00
i2o-dev.h [PATCH] I2O: second code cleanup of sparse warnings and unneeded syncronization 2005-06-24 00:05:29 -07:00
i2o.h [PATCH] I2O: Lindent run and replacement of printk through osm printing functions 2005-06-24 00:05:29 -07:00
i8k.h
ibmtr.h
icmp.h
icmpv6.h
ide.h [PATCH] NUMA aware block device control structure allocation 2005-06-23 09:45:09 -07:00
idr.h
if_arcnet.h
if_arp.h
if_bonding.h
if_bridge.h
if_cablemodem.h
if_ec.h
if_eql.h
if_ether.h
if_fc.h
if_fddi.h
if_frad.h
if_hippi.h
if_infiniband.h
if_ltalk.h
if_packet.h
if_plip.h
if_ppp.h
if_pppox.h
if_shaper.h
if_slip.h
if_strip.h
if_tr.h
if_tun.h
if_tunnel.h
if_vlan.h
if_wanpipe_common.h
if_wanpipe.h
if.h
igmp.h
in6.h
in_route.h
in.h
inet.h
inetdevice.h
init_task.h [PATCH] sched: cleanup context switch locking 2005-06-25 16:24:43 -07:00
init.h [PATCH] x86_64: Change init sections for CPU hotplug support 2005-06-25 16:24:30 -07:00
initrd.h
input.h
interrupt.h
ioc4.h [PATCH] ioc4: PCI bus speed detection 2005-06-21 18:46:32 -07:00
ioctl32.h
ioctl.h
ioport.h
ip6_tunnel.h
ip_mp_alg.h
ip.h
ipc.h
ipmi_msgdefs.h
ipmi_smi.h
ipmi.h [PATCH] ipmi: add power cycle capability 2005-06-24 00:05:23 -07:00
ipsec.h
ipv6_route.h
ipv6.h
ipx.h
irda.h
irq_cpustat.h
irq.h [PATCH] make various thing static 2005-06-24 00:06:43 -07:00
isapnp.h
isdn_divertif.h
isdn_ppp.h
isdn.h
isdnif.h
isicom.h
iso_fs.h
istallion.h
ite_gpio.h
ixjuser.h
jbd.h
jffs2_fs_i.h
jffs2_fs_sb.h
jffs2.h
jffs.h
jhash.h
jiffies.h
journal-head.h
joystick.h
kallsyms.h
kbd_diacr.h
kbd_kern.h
kd.h
kdev_t.h
kernel_stat.h
kernel.h [PATCH] sched: voluntary kernel preemption 2005-06-25 16:24:45 -07:00
kernelcapi.h
key-ui.h [PATCH] Keys: Make request-key create an authorisation key 2005-06-24 00:05:19 -07:00
key.h [PATCH] Keys: Make request-key create an authorisation key 2005-06-24 00:05:19 -07:00
keyboard.h
keyctl.h [PATCH] Keys: Make request-key create an authorisation key 2005-06-24 00:05:19 -07:00
kfifo.h
klist.h
kmalloc_sizes.h
kmod.h [PATCH] Keys: Pass session keyring to call_usermodehelper() 2005-06-24 00:05:18 -07:00
kobj_map.h
kobject_uevent.h
kobject.h
kprobes.h [PATCH] kprobes: Temporary disarming of reentrant probe 2005-06-23 09:45:24 -07:00
kref.h
kthread.h
lapb.h
lcd.h
libata.h
libps2.h
limits.h
linkage.h
linux_logo.h
list.h [PATCH] RCU: clean up a few remaining synchronize_kernel() calls 2005-06-25 16:24:38 -07:00
llc.h
loop.h [PATCH] optimise loop driver a bit 2005-06-23 09:45:18 -07:00
lp.h
major.h
matroxfb.h
mbcache.h
mc6821.h
mc146818rtc.h
mca-legacy.h
mca.h
mempolicy.h
mempool.h [PATCH] NUMA aware block device control structure allocation 2005-06-23 09:45:09 -07:00
meye.h
mii.h
minix_fs.h
miscdevice.h
mm_inline.h
mm.h [PATCH] sparsemem memory model 2005-06-23 09:45:04 -07:00
mman.h
mmtimer.h
mmzone.h [PATCH] sparsemem hotplug base 2005-06-23 09:45:05 -07:00
mod_devicetable.h
module.h [PATCH] modules: add version and srcversion to sysfs 2005-06-24 00:06:40 -07:00
moduleloader.h
moduleparam.h
mount.h
mpage.h
mqueue.h
mroute.h
msdos_fs.h
msg.h
mtio.h
mv643xx.h
n_r3964.h
namei.h
namespace.h [PATCH] make various thing static 2005-06-24 00:06:43 -07:00
nbd.h
ncp_fs_i.h
ncp_fs_sb.h
ncp_fs.h
ncp_mount.h
ncp_no.h
ncp.h
net.h
netdevice.h [NET]: Eliminate netif_rx massive packet drops. 2005-06-23 20:12:48 -07:00
netfilter_arp.h
netfilter_bridge.h
netfilter_decnet.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter_logging.h
netfilter.h
netlink.h
netpoll.h [NETPOLL]: allow multiple netpoll_clients to register against one interface 2005-06-22 22:05:59 -07:00
netrom.h
nfs2.h
nfs3.h
nfs4_acl.h
nfs4_mount.h
nfs4.h [PATCH] nfsd4: fix fh_expire_type 2005-06-24 00:06:28 -07:00
nfs_fs_i.h [PATCH] NFSv4: Clean up nfs4 lock state accounting 2005-06-22 16:07:42 -04:00
nfs_fs_sb.h [PATCH] NFS: Add support for NFSv3 ACLs 2005-06-22 16:07:24 -04:00
nfs_fs.h [PATCH] NFS: Replace nfs_page insertion sort with a radix sort 2005-06-22 16:07:39 -04:00
nfs_idmap.h
nfs_mount.h [PATCH] NFS: Add support for NFSv3 ACLs 2005-06-22 16:07:24 -04:00
nfs_page.h [PATCH] NFS: Replace nfs_page insertion sort with a radix sort 2005-06-22 16:07:39 -04:00
nfs_xdr.h [PATCH] NFS: Add support for NFSv3 ACLs 2005-06-22 16:07:24 -04:00
nfs.h
nfsacl.h [PATCH] NFSD: Add server support for NFSv3 ACLs. 2005-06-22 16:07:23 -04:00
nfsd_idmap.h [PATCH] knfsd: nfsd4: idmap initialization 2005-06-24 00:06:32 -07:00
nls.h
nmi.h
node.h
nodemask.h
notifier.h
nubus.h
numa.h [PATCH] sparsemem memory model 2005-06-23 09:45:04 -07:00
nvram.h
openprom_fs.h
oprofile.h
page-flags.h [PATCH] __read_page_state(): pass unsigned long instead of unsigned 2005-06-21 18:46:17 -07:00
pagemap.h [PATCH] VM: add __GFP_NORECLAIM 2005-06-21 18:46:14 -07:00
pagevec.h
param.h
parport_pc.h
parport.h
parser.h
patchkey.h
pci_ids.h [PATCH] tpm: TPMs on additional LPC bus 2005-06-24 00:05:27 -07:00
pci-acpi.h
pci-dynids.h
pci.h
pcieport_if.h
percpu_counter.h
percpu.h
personality.h
pfkeyv2.h
pg.h
phonedev.h
pid.h
pipe_fs_i.h
pkt_cls.h [PKT_SCHED]: Packet classification based on textsearch (ematch) 2005-06-23 21:00:58 -07:00
pkt_sched.h
pktcdvd.h [PATCH] Improve CD/DVD packet driver write performance 2005-06-23 09:45:30 -07:00
platform.h
pm.h [PATCH] properly stop devices before poweroff 2005-06-25 16:24:33 -07:00
pmu.h
pnp.h
pnpbios.h
poll.h
posix_acl_xattr.h [PATCH] remove <linux/xattr_acl.h> 2005-06-23 09:45:33 -07:00
posix_acl.h
posix_types.h
posix-timers.h
ppdev.h
ppp_channel.h
ppp_defs.h
ppp-comp.h
prctl.h
preempt.h
prefetch.h
prio_tree.h
proc_fs.h
profile.h
ps2esdi.h
ptrace.h
qic117.h
qnx4_fs.h [PATCH] fs/qnx4/*: fix sparse warnings 2005-06-24 14:14:24 -07:00
qnxtypes.h [PATCH] fs/qnx4/*: fix sparse warnings 2005-06-24 14:14:24 -07:00
quota.h [PATCH] quota: improve credits estimates 2005-06-24 00:05:19 -07:00
quotaio_v1.h
quotaio_v2.h
quotaops.h [PATCH] quota: consolidate code surrounding vfs_quota_on_mount 2005-06-23 09:45:20 -07:00
radeonfb.h
radix-tree.h
ramfs.h
random.h
raw.h
rbtree.h
rcupdate.h
reboot_fixups.h
reboot.h
reiserfs_acl.h [PATCH] remove <linux/xattr_acl.h> 2005-06-23 09:45:33 -07:00
reiserfs_fs_i.h
reiserfs_fs_sb.h [PATCH] quota: reiserfs: improve quota credit estimates 2005-06-24 00:05:20 -07:00
reiserfs_fs.h [PATCH] quota: reiserfs: improve quota credit estimates 2005-06-24 00:05:20 -07:00
reiserfs_xattr.h
resource.h
rmap.h [PATCH] xip: fs/mm: execute in place 2005-06-24 00:06:41 -07:00
romfs_fs.h
root_dev.h
rose.h
route.h
rslib.h
rtc.h
rtnetlink.h [PKT_SCHED]: Packet classification based on textsearch (ematch) 2005-06-23 21:00:58 -07:00
rwsem-spinlock.h
rwsem.h
sc26198.h
scatterlist.h
scc.h
sched.h [PATCH] Dynamic sched domains: sched changes 2005-06-25 16:24:45 -07:00
sctp.h
scx200_gpio.h
scx200.h
sdla_asy.h
sdla_chdlc.h
sdla_fr.h
sdla_ppp.h
sdla_x25.h
sdla.h
sdladrv.h
sdlapci.h
sdlasfm.h
seccomp.h
securebits.h
security.h
selection.h
selinux_netlink.h
sem.h
seq_file.h
seqlock.h
serial167.h
serial_8250.h
serial_core.h
serial_reg.h
serial.h
serialP.h
serio.h
shm.h
shmem_fs.h
signal.h
skbuff.h [NET]: skb_find_text() - Find a text pattern in skb data 2005-06-23 21:00:17 -07:00
slab.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
socket.h
sockios.h
som.h
sonet.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock.h
stallion.h
stat.h
statfs.h
stddef.h
stop_machine.h
string.h [PATCH] create a kstrdup library function 2005-06-23 09:45:18 -07:00
stringify.h
superhyway.h
suspend.h [PATCH] suspend/resume SMP support 2005-06-25 16:24:32 -07:00
swap.h [PATCH] vm: try_to_free_pages unused argument 2005-06-21 18:46:17 -07:00
swapops.h
synclink.h
sys.h
syscalls.h
sysctl.h [NET]: Separate two usages of netdev_max_backlog. 2005-06-23 20:14:40 -07:00
sysdev.h
sysfs.h
sysrq.h
sysv_fs.h
tcp_diag.h [TCP]: Report congestion control algorithm in tcp_diag. 2005-06-23 12:21:28 -07:00
tcp.h [TCP]: Allow choosing TCP congestion control via sockopt. 2005-06-23 20:37:36 -07:00
telephony.h
termios.h
textsearch_fsm.h [LIB]: Naive finite state machine based textsearch 2005-06-23 20:59:16 -07:00
textsearch.h [LIB]: Textsearch infrastructure. 2005-06-23 20:49:30 -07:00
thread_info.h
threads.h
ticable.h
time.h
timer.h [PATCH] timers: introduce try_to_del_timer_sync() 2005-06-23 09:45:16 -07:00
times.h
timex.h
tiocl.h
topology.h [PATCH] sched: sched tuning 2005-06-25 16:24:42 -07:00
toshiba.h
transport_class.h
trdevice.h
tty_driver.h
tty_flip.h
tty_ldisc.h
tty.h [PATCH] Introduce tty_unregister_ldisc() 2005-06-23 09:45:35 -07:00
types.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.h
ultrasound.h
umem.h
un.h
unistd.h
usb_cdc.h
usb_ch9.h
usb_gadget.h
usb_gadgetfs.h
usb_otg.h
usb_sl811.h
usb.h [PATCH] better USB_MON dependencies 2005-06-23 10:04:15 -07:00
usbdevice_fs.h
user.h
utime.h
uts.h
utsname.h
vermagic.h
vfs.h
via.h
video_decoder.h
video_encoder.h
videodev2.h
videodev.h
videotext.h
vmalloc.h
vt_buffer.h
vt_kern.h
vt.h
wait.h [PATCH] aio: make wait_queue ->task ->private 2005-06-23 09:45:34 -07:00
wanpipe.h
wanrouter.h
watchdog.h
wavefront.h
wireless.h
workqueue.h
writeback.h
x25.h [X25]: Fast select with no restriction on response 2005-06-22 22:16:17 -07:00
xattr_acl.h
xattr.h
xfrm.h
yam.h
zconf.h
zftape.h
zlib.h
zorro_ids.h
zorro.h
zutil.h