Source-Changes-HG archive

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

[src/trunk]: src/external/cddl/osnet/dist/lib/libzpool/common Only KM_SLEEP |...



details:   https://anonhg.NetBSD.org/src/rev/d1768d1c13fc
branches:  trunk
changeset: 759741:d1768d1c13fc
user:      haad <haad%NetBSD.org@localhost>
date:      Wed Dec 15 22:09:14 2010 +0000

description:
Only KM_SLEEP | KM_NOSLEEP can be passed down to kmem layer, clean up
tqflags from internal taskq flags (TQ_FRONT) before calling kmem_alloc.

diffstat:

 external/cddl/osnet/dist/lib/libzpool/common/taskq.c |  5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diffs (15 lines):

diff -r ee3076c911cb -r d1768d1c13fc external/cddl/osnet/dist/lib/libzpool/common/taskq.c
--- a/external/cddl/osnet/dist/lib/libzpool/common/taskq.c      Wed Dec 15 21:33:10 2010 +0000
+++ b/external/cddl/osnet/dist/lib/libzpool/common/taskq.c      Wed Dec 15 22:09:14 2010 +0000
@@ -76,7 +76,10 @@
                         */
                        delay(hz);
                }
-               t = kmem_alloc(sizeof (task_t), tqflags);
+               
+               /* Clean up TQ_FRONT from tqflags before passing it to kmem */
+               t = kmem_alloc(sizeof (task_t),
+                   tqflags & (KM_SLEEP | KM_NOSLEEP));
                mutex_enter(&tq->tq_lock);
                if (t != NULL)
                        tq->tq_nalloc++;



Home | Main Index | Thread Index | Old Index