diff options
author | alc <alc@FreeBSD.org> | 2004-04-03 09:16:27 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2004-04-03 09:16:27 +0000 |
commit | 1ec4d75266041d6ea34c956b2e1921c1326800e4 (patch) | |
tree | 0da7662b4e3ccfb3f8999cccb8a3301194f373ce /sys/powerpc | |
parent | f18821928b1822e430badc9b8017fe9587228e53 (diff) | |
download | FreeBSD-src-1ec4d75266041d6ea34c956b2e1921c1326800e4.zip FreeBSD-src-1ec4d75266041d6ea34c956b2e1921c1326800e4.tar.gz |
In some cases, sf_buf_alloc() should sleep with pri PCATCH; in others, it
should not. Add a new parameter so that the caller can specify which is
the case.
Reported by: dillon
Diffstat (limited to 'sys/powerpc')
-rw-r--r-- | sys/powerpc/aim/vm_machdep.c | 4 | ||||
-rw-r--r-- | sys/powerpc/powerpc/vm_machdep.c | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/sys/powerpc/aim/vm_machdep.c b/sys/powerpc/aim/vm_machdep.c index 44f2f6c..796ae66 100644 --- a/sys/powerpc/aim/vm_machdep.c +++ b/sys/powerpc/aim/vm_machdep.c @@ -259,7 +259,7 @@ sf_buf_init(void *arg) * Get an sf_buf from the freelist. Will block if none are available. */ struct sf_buf * -sf_buf_alloc(struct vm_page *m) +sf_buf_alloc(struct vm_page *m, int pri) { struct sf_buf *sf; int error; @@ -268,7 +268,7 @@ sf_buf_alloc(struct vm_page *m) while ((sf = SLIST_FIRST(&sf_freelist.sf_head)) == NULL) { sf_buf_alloc_want++; mbstat.sf_allocwait++; - error = msleep(&sf_freelist, &sf_freelist.sf_lock, PVM|PCATCH, + error = msleep(&sf_freelist, &sf_freelist.sf_lock, PVM | pri, "sfbufa", 0); sf_buf_alloc_want--; diff --git a/sys/powerpc/powerpc/vm_machdep.c b/sys/powerpc/powerpc/vm_machdep.c index 44f2f6c..796ae66 100644 --- a/sys/powerpc/powerpc/vm_machdep.c +++ b/sys/powerpc/powerpc/vm_machdep.c @@ -259,7 +259,7 @@ sf_buf_init(void *arg) * Get an sf_buf from the freelist. Will block if none are available. */ struct sf_buf * -sf_buf_alloc(struct vm_page *m) +sf_buf_alloc(struct vm_page *m, int pri) { struct sf_buf *sf; int error; @@ -268,7 +268,7 @@ sf_buf_alloc(struct vm_page *m) while ((sf = SLIST_FIRST(&sf_freelist.sf_head)) == NULL) { sf_buf_alloc_want++; mbstat.sf_allocwait++; - error = msleep(&sf_freelist, &sf_freelist.sf_lock, PVM|PCATCH, + error = msleep(&sf_freelist, &sf_freelist.sf_lock, PVM | pri, "sfbufa", 0); sf_buf_alloc_want--; |