summaryrefslogtreecommitdiff
path: root/include/linux/tty_ldisc.h
diff options
context:
space:
mode:
authorIvo Sieben <meltedpianoman@gmail.com>2012-05-03 14:37:43 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-05-10 11:24:03 -0700
commit1541f845d123a48fbca3cee32b2963b3fb3da83a (patch)
treeace9a1f9278ea84101359d189894c71548193136 /include/linux/tty_ldisc.h
parent3e62c413fb0c75c8cfaf086d00a9ecc6b55009d6 (diff)
downloadlwn-1541f845d123a48fbca3cee32b2963b3fb3da83a.tar.gz
lwn-1541f845d123a48fbca3cee32b2963b3fb3da83a.zip
tty: move global ldisc idle waitqueue to the individual ldisc
The global wait_queue that is used for line discipline idle handling is moved to a separate wait_queue for each line instance. This prevents unnecessary blocking on one line, because of idle handling on another line. Signed-off-by: Ivo Sieben <meltedpianoman@gmail.com> Acked-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux/tty_ldisc.h')
-rw-r--r--include/linux/tty_ldisc.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/tty_ldisc.h b/include/linux/tty_ldisc.h
index ff7dc08696a8..fb79dd8d1537 100644
--- a/include/linux/tty_ldisc.h
+++ b/include/linux/tty_ldisc.h
@@ -110,6 +110,7 @@
#include <linux/fs.h>
#include <linux/wait.h>
#include <linux/pps_kernel.h>
+#include <linux/wait.h>
struct tty_ldisc_ops {
int magic;
@@ -154,6 +155,7 @@ struct tty_ldisc_ops {
struct tty_ldisc {
struct tty_ldisc_ops *ops;
atomic_t users;
+ wait_queue_head_t wq_idle;
};
#define TTY_LDISC_MAGIC 0x5403