Re: [PATCH] hvc_console: returning 0 from put_chars is not an error
From: Scott Wood
Date: Thu Oct 15 2009 - 14:58:41 EST
Christian Borntraeger wrote:
Right. Looking at more drivers it seems that both ways (waiting and dropping)
are used.
Hmmm, if we are ok with having both options, we should let the hvc backend
decide if it wants to drain or to discard.
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.
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).
-Scott
--
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/