From: Peter Hurley Date: Sat, 15 Jun 2013 13:36:12 +0000 (-0400) Subject: tty: Avoid false-sharing flip buffer ptrs X-Git-Tag: v3.12-rc1~182^2~186 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=8c1fb49ba107c7db9441ef6ec0ab5830d112cc2a;p=~emulex%2Finfiniband.git tty: Avoid false-sharing flip buffer ptrs Separate the head and tail ptrs to avoid cache-line contention (so called 'false-sharing') between concurrent threads. Signed-off-by: Peter Hurley Signed-off-by: Greg Kroah-Hartman --- diff --git a/include/linux/tty.h b/include/linux/tty.h index 1d5bacca365..b8e8adf95bf 100644 --- a/include/linux/tty.h +++ b/include/linux/tty.h @@ -65,13 +65,13 @@ static inline char *flag_buf_ptr(struct tty_buffer *b, int ofs) struct tty_bufhead { + struct tty_buffer *head; /* Queue head */ struct work_struct work; struct mutex flush_mutex; struct tty_buffer sentinel; - struct tty_buffer *head; /* Queue head */ - struct tty_buffer *tail; /* Active buffer */ struct llist_head free; /* Free queue head */ atomic_t memory_used; /* In-use buffers excluding free list */ + struct tty_buffer *tail; /* Active buffer */ }; /* * When a break, frame error, or parity error happens, these codes are