Re: [PATCH] hvc_console: returning 0 from put_chars is not an error

From: Benjamin Herrenschmidt
Date: Fri Oct 16 2009 - 00:48:46 EST


On Thu, 2009-10-15 at 13:57 -0500, Scott Wood wrote:
> I'd say the dropping approach is quite undesirable (significant
> potential for output loss unless the buffer is huge), unless there's
> simply no way to safely spin. Hopefully there are no such backends, but
> if there are perhaps we can have them return some special code to
> indicate that.

Should never spin. Best is to keep a copy in the upper layer of the
pending data and throttle (not accept further data from tty layer) until
we have managed to flush out that "pending" buffer.

> > If we just busy loop, it actually does not matter how we let hvc_console react
> > on 0, as long as we adopt all backends to use that interface consistent.
> >
> > On the other hand, backends might want to do special magic on congestion so I
> > personally tend to let the backend loop instead of hvc_console. But I am really
> > not sure.
>
> Doing it in the backend requires the backend to know whether it's being
> called for printk or for user I/O. In the latter case, we don't want to
> spin, but rather wait for an IRQ (or poll with a timer if there's no IRQ).

Ben.


--
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/