Re: init's children list is long and slows reaping children.

From: Jeff Garzik
Date: Tue Apr 10 2007 - 03:09:35 EST


Torsten Kaiser wrote:
One thread per port, not per device.

796 ? S 0:00 \_ [scsi_eh_0]
797 ? S 0:00 \_ [scsi_eh_1]
798 ? S 0:00 \_ [scsi_eh_2]
819 ? S 0:00 \_ [scsi_eh_3]
820 ? S 0:00 \_ [scsi_eh_4]
824 ? S 0:00 \_ [scsi_eh_5]
825 ? S 0:14 \_ [scsi_eh_6]

bardioc ~ # lsscsi -d
[0:0:0:0] disk ATA ST3160827AS 3.42 /dev/sda[8:0]
[1:0:0:0] disk ATA ST3160827AS 3.42 /dev/sdb[8:16]
[5:0:0:0] disk ATA IBM-DHEA-36480 HE8O /dev/sdc[8:32]
[5:0:1:0] disk ATA Maxtor 6L160P0 BAH4 /dev/sdd[8:48]
[6:0:0:0] cd/dvd HL-DT-ST DVDRAM GSA-4081B A100 /dev/sr0[11:0]
bardioc ~ # lsscsi -H
[0] sata_promise
[1] sata_promise
[2] sata_promise
[3] sata_via
[4] sata_via
[5] pata_via
[6] pata_via

The bad is, that there is always a thread, even if the hardware is not
even hotplug capable.
Don't know if the thread is even needed for hotplug...

Nope, it's not. At least for SATA (your chosen examples), hotplug is handled by a libata-specific thread.

The SCSI EH threads are there purely for SCSI exception handling. For the majority of SAS and SATA, we replace the entire SCSI EH handling code with our own, making those threads less useful than on older (read: majority) of SCSI drivers.

Jeff


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