* Kill SCSI_BH
@ 2002-06-16 3:01 Matthew Wilcox
2002-06-16 4:38 ` Douglas Gilbert
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Matthew Wilcox @ 2002-06-16 3:01 UTC (permalink / raw)
To: linux-scsi
I'm not exactly clueful about the linux SCSI layer, but I'd really like
to see old-style bottom halves die before 2.6. Is there any reason why
SCSI_BH can't simply be comverted to a tasklet?
Andrew Morton kindly tested this patch for me and reports it works fine.
I'd expect the Enterprise people to be thrilled by this as it increases
scalability a touch (eg, SCSI handling is now not serialised against
the serial port).
--- linux-2.5.21/drivers/scsi/scsi.c Sun Jun 2 18:44:50 2002
+++ linux-2.5.21-flock/drivers/scsi/scsi.c Sat Jun 15 19:45:45 2002
@@ -1090,6 +1090,9 @@
SCSI_LOG_MLQUEUE(3, printk("Leaving scsi_do_cmd()\n"));
}
+void scsi_tasklet_func(unsigned long);
+static DECLARE_TASKLET(scsi_tasklet, scsi_tasklet_func, 0);
+
/*
* This function is the mid-level interrupt routine, which decides how
* to handle error conditions. Each invocation of this function must
@@ -1187,7 +1190,7 @@
/*
* Mark the bottom half handler to be run.
*/
- mark_bh(SCSI_BH);
+ tasklet_hi_schedule(&scsi_tasklet);
}
/*
@@ -1213,7 +1216,7 @@
* half queue. Thus the only time we hold the lock here is when
* we wish to atomically remove the contents of the queue.
*/
-void scsi_bottom_half_handler(void)
+void scsi_tasklet_func(unsigned long ignore)
{
Scsi_Cmnd *SCpnt;
Scsi_Cmnd *SCnext;
@@ -2545,11 +2548,6 @@
if (scsihosts)
printk(KERN_INFO "scsi: host order: %s\n", scsihosts);
scsi_host_no_init (scsihosts);
- /*
- * This is where the processing takes place for most everything
- * when commands are completed.
- */
- init_bh(SCSI_BH, scsi_bottom_half_handler);
return 0;
}
@@ -2559,7 +2557,7 @@
Scsi_Host_Name *shn, *shn2 = NULL;
int i;
- remove_bh(SCSI_BH);
+ tasklet_kill(&scsi_tasklet);
devfs_unregister (scsi_devfs_handle);
for (shn = scsi_host_no_list;shn;shn = shn->next) {
--
Revolutions do not require corporate support.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Kill SCSI_BH
2002-06-16 3:01 Kill SCSI_BH Matthew Wilcox
@ 2002-06-16 4:38 ` Douglas Gilbert
2002-06-16 16:55 ` James Bottomley
2002-06-16 21:32 ` Oliver Xymoron
2 siblings, 0 replies; 4+ messages in thread
From: Douglas Gilbert @ 2002-06-16 4:38 UTC (permalink / raw)
To: Matthew Wilcox; +Cc: linux-scsi
Matthew Wilcox wrote:
>
> I'm not exactly clueful about the linux SCSI layer, but I'd really like
> to see old-style bottom halves die before 2.6. Is there any reason why
> SCSI_BH can't simply be comverted to a tasklet?
Probably just another linux scsi subsystem anachronism.
> Andrew Morton kindly tested this patch for me and reports it works fine.
> I'd expect the Enterprise people to be thrilled by this as it increases
> scalability a touch (eg, SCSI handling is now not serialised against
> the serial port).
I applied the patch and it's running fine on this box.
See how it goes with some stress testing. So far so go...
Doug Gilbert
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Kill SCSI_BH
2002-06-16 3:01 Kill SCSI_BH Matthew Wilcox
2002-06-16 4:38 ` Douglas Gilbert
@ 2002-06-16 16:55 ` James Bottomley
2002-06-16 21:32 ` Oliver Xymoron
2 siblings, 0 replies; 4+ messages in thread
From: James Bottomley @ 2002-06-16 16:55 UTC (permalink / raw)
To: Matthew Wilcox; +Cc: linux-scsi
willy@debian.org said:
> Andrew Morton kindly tested this patch for me and reports it works
> fine. I'd expect the Enterprise people to be thrilled by this as it
> increases scalability a touch (eg, SCSI handling is now not serialised
> against the serial port).
It works fine for me on an 8-way box with SCSI root discs. Go ahead and send
it to Linus as an obvious fix (given that the bottom half handlers are
supposed to be deprecated). I've also stuck it in a public bitkeeper
repository at:
http://linux-scsi.bkbits.net/scsi-mid-layer-2.5
James
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Kill SCSI_BH
2002-06-16 3:01 Kill SCSI_BH Matthew Wilcox
2002-06-16 4:38 ` Douglas Gilbert
2002-06-16 16:55 ` James Bottomley
@ 2002-06-16 21:32 ` Oliver Xymoron
2 siblings, 0 replies; 4+ messages in thread
From: Oliver Xymoron @ 2002-06-16 21:32 UTC (permalink / raw)
To: Matthew Wilcox; +Cc: linux-scsi
On Sun, 16 Jun 2002, Matthew Wilcox wrote:
> I'm not exactly clueful about the linux SCSI layer, but I'd really like
> to see old-style bottom halves die before 2.6. Is there any reason why
> SCSI_BH can't simply be comverted to a tasklet?
Very nice.
--
"Love the dolphins," she advised him. "Write by W.A.S.T.E.."
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2002-06-16 21:32 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-06-16 3:01 Kill SCSI_BH Matthew Wilcox
2002-06-16 4:38 ` Douglas Gilbert
2002-06-16 16:55 ` James Bottomley
2002-06-16 21:32 ` Oliver Xymoron
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.