Bug 5566

Summary: scsi_eh_x/scsi_wq_x "zombie" processes in kernel 2.6.13+
Product: SCSI Drivers Reporter: Peter Daum (gator_ml)
Component: QLOGIC QLA2XXXAssignee: Andrew Vasquez (andrew.vasquez)
Status: CLOSED OBSOLETE    
Severity: normal CC: alan, bunk, jejb, protasnb
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: 2.6.22 Subsystem:
Regression: Yes Bisected commit-id:

Description Peter Daum 2005-11-07 14:44:34 UTC
Most recent kernel where this bug did not occur: 2.6.12
Starting around kernel version 2.6.13, the scsi_eh_x and scsi_wq_x
processes that are created per scsi host will not terminate if the
driver for the scsi interface is removed. I don't know whether there
are any serious problems involved with this, but one thing that is
definitely annoying, is that the process list fills very quickly when
modules are loaded/unloaded on demand, because 2 new processes will
be created every time the driver for a scsi adapter gets loaded.

(I guess, this happens with all scsi host modules - in my case, the
"culprit" is a qlogic fibre channel driver that gets loaded only when
needed.)
Comment 1 Peter Daum 2005-11-07 14:48:06 UTC
Bug 5237 (http://bugzilla.kernel.org/show_bug.cgi?id=5237)
might be related ...
Comment 2 Andrew Morton 2005-11-11 02:01:34 UTC

Begin forwarded message:

Date: Mon, 7 Nov 2005 14:49:17 -0800
From: bugme-daemon@bugzilla.kernel.org
To: bugme-new@lists.osdl.org
Subject: [Bugme-new] [Bug 5566] New: scsi_eh_x/scsi_wq_x "zombie" processes in kernel 2.6.13+


http://bugzilla.kernel.org/show_bug.cgi?id=5566

           Summary: scsi_eh_x/scsi_wq_x "zombie" processes in kernel 2.6.13+
    Kernel Version: 2.6.13+
            Status: NEW
          Severity: normal
             Owner: andrew.vasquez@qlogic.com
         Submitter: gator@cs.tu-berlin.de


Most recent kernel where this bug did not occur: 2.6.12
Starting around kernel version 2.6.13, the scsi_eh_x and scsi_wq_x
processes that are created per scsi host will not terminate if the
driver for the scsi interface is removed. I don't know whether there
are any serious problems involved with this, but one thing that is
definitely annoying, is that the process list fills very quickly when
modules are loaded/unloaded on demand, because 2 new processes will
be created every time the driver for a scsi adapter gets loaded.

(I guess, this happens with all scsi host modules - in my case, the
"culprit" is a qlogic fibre channel driver that gets loaded only when
needed.)

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.

Comment 3 Peter Daum 2005-11-21 01:11:48 UTC
This problem does not seem to occur with all scsi drivers,
I can't reproduce it with "sym53c8xx" or "tmscsim"
(only a tape drive attached).

With qla2200, when the cable is not connected, the
scsi_* kernel do terminate when the driver is unloaded.
Comment 4 Natalie Protasevich 2007-07-22 15:50:59 UTC
How is it working now, with new kernel (2.6.22+)? It looks like there were multiple fixes in this area.
Thanks.
Comment 5 Peter Daum 2007-07-27 09:13:00 UTC
(In reply to comment #4)
> How is it working now, with new kernel (2.6.22+)?
...it's even worse: now the qla2xxx module always has a usage count >= 1
(without anything else actually using it), so unless you get really
violent (rmmod -f qla2xxx, which causes a mess), there is no way 
to unload the module at all anymore :-(
(tried with 2.6.22.1)
Comment 6 Natalie Protasevich 2008-03-05 22:24:57 UTC
James, do you know who could take a look into this?
Thanks!