Date: Fri, 26 Jan 1996 16:13:35 -0800 (PST) From: Bruce Evans <bde> To: CVS-committers, cvs-sys Subject: cvs commit: src/sys/vm vm_page.c Message-ID: <199601270013.QAA08362@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
bde 96/01/26 16:13:34 Modified: sys/sys malloc.h sys/vm vm_page.c Log: Added a `boundary' arg to vm_alloc_page_contig(). Previously the only way to avoid crossing a 64K DMA boundary was to specify an alignment greater than the size even when the alignment didn't matter, and for sizes larger than a page, this reduced the chance of finding enough contiguous pages. E.g., allocations of 8K not crossing a 64K boundary previously had to be allocated on 8K boundaries; now they can be allocated on any 4K boundary except (64 * n + 60)K. Fixed bugs in vm_alloc_page_contig(): - the last page wasn't allocated for sizes smaller than a page. - failures of kmem_alloc_pageable() weren't handled. Mutated vm_page_alloc_contig() to create a more convenient interface named contigmalloc(). This is the same as the one in 1.1.5 except it has `low' and `high' args, and the `alignment' and `boundary' args are multipliers instead of masks. Revision Changes Path 1.11 +8 -3 src/sys/sys/malloc.h 1.47 +42 -10 src/sys/vm/vm_page.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199601270013.QAA08362>