[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#377151: tested and confirmed



Hi good kernel team--

I finally got a chance to test this with a modified kernel against a
machine with an extra 8-port serial card, and raising
CONFIG_SERIAL_8250_NR_UARTS to 24 does the trick without causing a
proliferation of devices for machines with a standard 2-4 serial
devices.  Please consider this change for the stock kernel!

Details of my tests follow:

the test machine is running sarge, with a 2.6.16 kernel from
backports.org.  I booted with two different kernels:

 0) 2.6.16-2-686 version 2.6.16-14bpo1, which has:

    CONFIG_SERIAL_8250_NR_UARTS=4
    CONFIG_SERIAL_8250_RUNTIME_UARTS=4

 1) the exact same kernel, rebuilt using the backports.org version of
    kernel-package, but with NR_UARTS bumped to 24:

    CONFIG_SERIAL_8250_NR_UARTS=24
    CONFIG_SERIAL_8250_RUNTIME_UARTS=4

I booted each kernel twice: once with no uart-specific kernel
parameters, and once with 8250.nr_uarts=10.  After each boot, i ran
the following command and recorded its output:

   find /sys -name '*ttyS*'

for the 4/4 kernel, the output was the same whether or not there was a
kernel parameter:

/sys/class/tty/ttyS3
/sys/class/tty/ttyS2
/sys/class/tty/ttyS1
/sys/class/tty/ttyS0
/sys/devices/pnp0/00:08/tty:ttyS1
/sys/devices/pnp0/00:07/tty:ttyS0
/sys/devices/pci0000:00/0000:00:1e.0/0000:01:03.0/tty:ttyS3
/sys/devices/pci0000:00/0000:00:1e.0/0000:01:03.0/tty:ttyS2

for the 24/4 kernel with no boot-time parameter, the results were
exactly the same.  But with 8250.nr_uarts=10, i get:

/sys/class/tty/ttyS3
/sys/class/tty/ttyS2
/sys/class/tty/ttyS9
/sys/class/tty/ttyS8
/sys/class/tty/ttyS7
/sys/class/tty/ttyS6
/sys/class/tty/ttyS5
/sys/class/tty/ttyS4
/sys/class/tty/ttyS1
/sys/class/tty/ttyS0
/sys/devices/pnp0/00:08/tty:ttyS1
/sys/devices/pnp0/00:07/tty:ttyS0
/sys/devices/pci0000:00/0000:00:1e.0/0000:01:03.1/tty:ttyS3
/sys/devices/pci0000:00/0000:00:1e.0/0000:01:03.1/tty:ttyS2
/sys/devices/pci0000:00/0000:00:1e.0/0000:01:03.1/tty:ttyS9
/sys/devices/pci0000:00/0000:00:1e.0/0000:01:03.1/tty:ttyS8
/sys/devices/pci0000:00/0000:00:1e.0/0000:01:03.0/tty:ttyS7
/sys/devices/pci0000:00/0000:00:1e.0/0000:01:03.0/tty:ttyS6
/sys/devices/pci0000:00/0000:00:1e.0/0000:01:03.0/tty:ttyS5
/sys/devices/pci0000:00/0000:00:1e.0/0000:01:03.0/tty:ttyS4

While the numbering is a little weird (it appears that different
physical ports get assigned to ttyS2 and ttyS3 depending on what
choice of boot parameter you use), it's clear that the change in the
config is sufficient to use all 8 ports on the card.

So my conclusion is that boosting CONFIG_SERIAL_8250_NR_UARTS to 24
enables more UARTs for machines that have them (and specify this in
their boot params) without forcing extra nodes in /dev (or /sys) on
machines lacking them.  Please consider making this change to the
stock kernel.

Regards,

	--dkg 



Reply to: