Re: performance-improvement-of-serial-console-via-virtual.patch added to -mm tree

From: Russell King
Date: Tue Sep 13 2005 - 03:18:10 EST


On Thu, Sep 08, 2005 at 04:47:32PM +0900, Taku Izumi wrote:
> >I don't think we want this. With early serial console, tx_loadsz is
> >not guaranteed to be initialised, and may in fact be zero.
>
> >Plus there's no guarantee that the FIFOs will actually be enabled, so
> >I think it's better that this patch doesn't go to mainline.
>
> Our server has a virtual serial port, but its performance seems to be poor.
> It takes 10 seconds to output 4000 characters (from kernel) to serial
> console. By applying my patch, its peformance could be improved. ( 0.4
> seconds / 4000 characters output), so I think it is useful to use FIFO at
> serial8250_console_write function like transmit_chars function. Where
> should I correct in order to use FIFO?

The problem is that we don't know:

* if there is a FIFO
* what size the FIFO is
* if it has been initialised
* how much data is already contained in the FIFO

So we can't really blindly initialise the FIFO in the console write
method. Neither can we initialise it in the console setup. If we
could initialise it, we can't blindly load 16 bytes into the FIFO
at a time.

I don't think it's technically practical to use the FIFO for the
console and still have a reliable serial port.

--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 Serial core
-
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/