Skip site navigation (1)Skip section navigation (2)
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>