WorkStruct: Separate delayable and non-delayable events.
authorDavid Howells <dhowells@redhat.com>
Wed, 22 Nov 2006 14:54:01 +0000 (14:54 +0000)
committerDavid Howells <dhowells@redhat.com>
Wed, 22 Nov 2006 14:54:01 +0000 (14:54 +0000)
commit52bad64d95bd89e08c49ec5a071fa6dcbe5a1a9c
tree5849b4e3c17daa70a7e81cfdeaddac9ac8a0e953
parent0f9005a6f7a82f4aacbd72f7b92322a8ca1c3f97
WorkStruct: Separate delayable and non-delayable events.

Separate delayable work items from non-delayable work items be splitting them
into a separate structure (delayed_work), which incorporates a work_struct and
the timer_list removed from work_struct.

The work_struct struct is huge, and this limits it's usefulness.  On a 64-bit
architecture it's nearly 100 bytes in size.  This reduces that by half for the
non-delayable type of event.

Signed-Off-By: David Howells <dhowells@redhat.com>
22 files changed:
arch/x86_64/kernel/mce.c
drivers/ata/libata-core.c
drivers/ata/libata-eh.c
drivers/char/random.c
drivers/char/tty_io.c
fs/aio.c
fs/nfs/client.c
fs/nfs/namespace.c
include/linux/aio.h
include/linux/kbd_kern.h
include/linux/libata.h
include/linux/nfs_fs_sb.h
include/linux/sunrpc/rpc_pipe_fs.h
include/linux/sunrpc/xprt.h
include/linux/tty.h
include/linux/workqueue.h
kernel/workqueue.c
mm/slab.c
net/core/link_watch.c
net/sunrpc/cache.c
net/sunrpc/rpc_pipe.c
net/sunrpc/xprtsock.c