Messages in this thread | | | From | OGAWA Hirofumi <> | Subject | Re: [Bug #14388] keyboard under X with 2.6.31 | Date | Fri, 16 Oct 2009 07:29:41 +0900 |
| |
Linus Torvalds <torvalds@linux-foundation.org> writes:
> On Fri, 16 Oct 2009, OGAWA Hirofumi wrote: >> >> I.e. the following or something, >> >> static inline int input_available_p(struct tty_struct *tty, int amt) >> { >> int try = 0; >> >> retry: >> if (tty->icanon) { >> if (tty->canon_data) >> return 1; >> } else if (tty->read_cnt >= (amt ? amt : 1)) >> return 1; >> >> if (!checked) { >> tty_flush_to_ldisc(tty); >> try = 1; >> goto retry; >> } >> >> return 0; >> } > > Yeah, we could do that. Especially if we ever see this in any profiles. I > doubt we do, but..
Yes. Or, FWIW, I was thinking to delete schedule_delayed_work() for n_tty with flag or something at previous time. I.e. disable background flush_to_ldisc() by writer for n_tty, only n_tty_read() will check tty.buf synchronously.
So, with it, unnecessary flush_to_ldisc() is removed completely... Well...
Thanks. -- OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
| |