summaryrefslogtreecommitdiffstats
path: root/sys/vm
diff options
context:
space:
mode:
authordg <dg@FreeBSD.org>1997-01-15 20:46:02 +0000
committerdg <dg@FreeBSD.org>1997-01-15 20:46:02 +0000
commit78afd808d565ede1deb869a7d1d7885b10db6033 (patch)
tree80b222a8d246fee7cd57a6c4ef76bc307b774810 /sys/vm
parent3f900d53fcdc1fa8bc234e63452b1b782b255ceb (diff)
downloadFreeBSD-src-78afd808d565ede1deb869a7d1d7885b10db6033.zip
FreeBSD-src-78afd808d565ede1deb869a7d1d7885b10db6033.tar.gz
Fix bug related to map entry allocations where a sleep might be attempted
when allocating memory for network buffers at interrupt time. This is due to inadequate checking for the new mcl_map. Fixed by merging mb_map and mcl_map into a single mb_map. Reviewed by: wollman
Diffstat (limited to 'sys/vm')
-rw-r--r--sys/vm/vm_kern.c14
-rw-r--r--sys/vm/vm_kern.h2
2 files changed, 3 insertions, 13 deletions
diff --git a/sys/vm/vm_kern.c b/sys/vm/vm_kern.c
index 7ca36f9..5d8c00d 100644
--- a/sys/vm/vm_kern.c
+++ b/sys/vm/vm_kern.c
@@ -98,8 +98,6 @@ vm_map_t u_map=0;
vm_map_t buffer_map=0;
vm_map_t mb_map=0;
int mb_map_full=0;
-vm_map_t mcl_map=0;
-int mcl_map_full=0;
vm_map_t io_map=0;
vm_map_t phys_map=0;
@@ -289,8 +287,8 @@ kmem_malloc(map, size, waitflag)
vm_offset_t addr;
vm_page_t m;
- if (map != kmem_map && map != mb_map && map != mcl_map)
- panic("kmem_malloc: map != {kmem,mb,mcl}_map");
+ if (map != kmem_map && map != mb_map)
+ panic("kmem_malloc: map != {kmem,mb}_map");
size = round_page(size);
addr = vm_map_min(map);
@@ -305,13 +303,7 @@ kmem_malloc(map, size, waitflag)
vm_map_unlock(map);
if (map == mb_map) {
mb_map_full = TRUE;
- log(LOG_ERR, "Out of mbufs - increase maxusers!\n");
- return (0);
- }
- if (map == mcl_map) {
- mcl_map_full = TRUE;
- log(LOG_ERR,
- "Out of mbuf clusters - increase maxusers!\n");
+ log(LOG_ERR, "Out of mbuf clusters - increase maxusers!\n");
return (0);
}
if (waitflag == M_WAITOK)
diff --git a/sys/vm/vm_kern.h b/sys/vm/vm_kern.h
index 602630f..32f924b 100644
--- a/sys/vm/vm_kern.h
+++ b/sys/vm/vm_kern.h
@@ -73,8 +73,6 @@ extern vm_map_t kernel_map;
extern vm_map_t kmem_map;
extern vm_map_t mb_map;
extern int mb_map_full;
-extern vm_map_t mcl_map;
-extern int mcl_map_full;
extern vm_map_t io_map;
extern vm_map_t clean_map;
extern vm_map_t phys_map;
OpenPOWER on IntegriCloud