diff options
author | 2013-06-15 09:36:13 -0400 | |
---|---|---|
committer | 2013-07-23 16:47:09 -0700 | |
commit | 0f56bd2f6a97d8b0eb5c8f9bc04b83a6c16d1d48 (patch) | |
tree | 70337a7fd95f71d5f39aa9d168c09be2ff3465a1 /include/linux/tty.h | |
parent | tty: Avoid false-sharing flip buffer ptrs (diff) | |
download | linux-0f56bd2f6a97d8b0eb5c8f9bc04b83a6c16d1d48.tar.gz linux-0f56bd2f6a97d8b0eb5c8f9bc04b83a6c16d1d48.tar.bz2 linux-0f56bd2f6a97d8b0eb5c8f9bc04b83a6c16d1d48.zip |
tty: Use non-atomic state to signal flip buffer flush pending
Atomic bit ops are no longer required to indicate a flip buffer
flush is pending, as the flush_mutex is sufficient barrier.
Remove the unnecessary port .iflags field and localize flip buffer
state to struct tty_bufhead.
Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux/tty.h')
-rw-r--r-- | include/linux/tty.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/include/linux/tty.h b/include/linux/tty.h index b8e8adf95bf3..991575fe3451 100644 --- a/include/linux/tty.h +++ b/include/linux/tty.h @@ -68,6 +68,7 @@ struct tty_bufhead { struct tty_buffer *head; /* Queue head */ struct work_struct work; struct mutex flush_mutex; + unsigned int flushpending:1; struct tty_buffer sentinel; struct llist_head free; /* Free queue head */ atomic_t memory_used; /* In-use buffers excluding free list */ @@ -212,8 +213,6 @@ struct tty_port { wait_queue_head_t close_wait; /* Close waiters */ wait_queue_head_t delta_msr_wait; /* Modem status change */ unsigned long flags; /* TTY flags ASY_*/ - unsigned long iflags; /* TTYP_ internal flags */ -#define TTYP_FLUSHPENDING 2 /* Queued buffer flush pending */ unsigned char console:1, /* port is a console */ low_latency:1; /* direct buffer flush */ struct mutex mutex; /* Locking */ |