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

From: Torsten Kaiser
Date: Tue Apr 10 2007 - 02:10:49 EST


On 4/10/07, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> 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
-
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/