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>
This commit is contained in:
@@ -3580,7 +3580,7 @@ static void initialize_tty_struct(struct tty_struct *tty)
|
||||
tty->overrun_time = jiffies;
|
||||
tty->buf.head = tty->buf.tail = NULL;
|
||||
tty_buffer_init(tty);
|
||||
INIT_WORK(&tty->buf.work, flush_to_ldisc, tty);
|
||||
INIT_DELAYED_WORK(&tty->buf.work, flush_to_ldisc, tty);
|
||||
init_MUTEX(&tty->buf.pty_sem);
|
||||
mutex_init(&tty->termios_mutex);
|
||||
init_waitqueue_head(&tty->write_wait);
|
||||
|
Reference in New Issue
Block a user