Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/dev/scsipi scsipi_completion_thread:



details:   https://anonhg.NetBSD.org/src/rev/34a5b0f2697c
branches:  trunk
changeset: 580000:34a5b0f2697c
user:      yamt <yamt%NetBSD.org@localhost>
date:      Mon Apr 04 11:26:50 2005 +0000

description:
scsipi_completion_thread:
if we seemt to need more resources after doing ADAPTER_REQ_GROW_RESOURCES,
yield cpu rather than busy-looping.  PR/25164.

diffstat:

 sys/dev/scsipi/scsipi_base.c |  7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diffs (28 lines):

diff -r 88d307de0244 -r 34a5b0f2697c sys/dev/scsipi/scsipi_base.c
--- a/sys/dev/scsipi/scsipi_base.c      Mon Apr 04 11:05:14 2005 +0000
+++ b/sys/dev/scsipi/scsipi_base.c      Mon Apr 04 11:26:50 2005 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: scsipi_base.c,v 1.128 2005/02/27 00:27:48 perry Exp $  */
+/*     $NetBSD: scsipi_base.c,v 1.129 2005/04/04 11:26:50 yamt Exp $   */
 
 /*-
  * Copyright (c) 1998, 1999, 2000, 2002, 2003, 2004 The NetBSD Foundation, Inc.
@@ -38,7 +38,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: scsipi_base.c,v 1.128 2005/02/27 00:27:48 perry Exp $");
+__KERNEL_RCSID(0, "$NetBSD: scsipi_base.c,v 1.129 2005/04/04 11:26:50 yamt Exp $");
 
 #include "opt_scsi.h"
 
@@ -2116,6 +2116,9 @@
                            ADAPTER_REQ_GROW_RESOURCES, NULL);
                        scsipi_channel_thaw(chan, 1);
                        splx(s);
+                       if (chan->chan_tflags & SCSIPI_CHANT_GROWRES) {
+                               preempt(1);
+                       }
                        continue;
                }
                if (chan->chan_tflags & SCSIPI_CHANT_KICK) {



Home | Main Index | Thread Index | Old Index