Re: [PATCH tty-next 5/7] n_tty: Refactor input_available_p() bycall site

From: One Thousand Gnomes
Date: Sat Nov 23 2013 - 19:23:13 EST


On Fri, 22 Nov 2013 10:59:23 -0500
Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> wrote:

> Distinguish if caller is n_tty_poll() or n_tty_read(), and
> set the read/wakeup threshold accordingly.

That looks very wrong to me. The poll() and read() wakeup should always
match. In addition if MIN_CHAR is set without a timeout then it should not
wake up until MIN_CHAR characters are present. The MIN_CHAR feature is
used by various (these days obscure) protocols to optimise block transfer
rates.

Changing this is also a userspace visible API change.

So NAK.

The underlying intention of the system (and SYS5.4) is that you can do

MIN_CHAR = 64

alarm(some_timeout)
while(1) {
poll();
events
read(chunksized blocks)
}

while it's hardly as critical with modern fast hardware its still the API
and necessary to avoid SWS type behaviours in the queue turning it from
block/syscall to byte I/O.

Alan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/