diff options
author | dg <dg@FreeBSD.org> | 1997-01-15 20:46:02 +0000 |
---|---|---|
committer | dg <dg@FreeBSD.org> | 1997-01-15 20:46:02 +0000 |
commit | 78afd808d565ede1deb869a7d1d7885b10db6033 (patch) | |
tree | 80b222a8d246fee7cd57a6c4ef76bc307b774810 /sys/vm/vm_kern.c | |
parent | 3f900d53fcdc1fa8bc234e63452b1b782b255ceb (diff) | |
download | FreeBSD-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/vm_kern.c')
-rw-r--r-- | sys/vm/vm_kern.c | 14 |
1 files changed, 3 insertions, 11 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) |