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

Torsten Kaiser
2007-04-10T06:09:59Z

On 4/10/07, Andrew Morton <akpm@linux-foundation.org> wrote:
> : root 299 0.0 0.0 0 0 ? S 18:51 0:00 [scsi_eh_0]
> : root 300 0.0 0.0 0 0 ? S 18:51 0:00 [scsi_eh_1]
> : root 305 0.0 0.0 0 0 ? S 18:51 0:00 [scsi_eh_2]
> : root 306 0.0 0.0 0 0 ? S 18:51 0:00 [scsi_eh_3]
>
> This machine has one CPU, one sata disk and one DVD drive. The above is
> hard to explain.

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

> I don't think it's completely silly to object to all this. Sure, a kernel
> thread is worth 4k in the best case, but I bet they have associated unused
> resources and as we've seen, they can cause overhead.

For me its not the 4k that annoy me, but the clutter in ps or top.

Torsten