cvs commit: src/sys/kern subr_diskgpt.c subr_disklabel64.c vfs_aio.c src/sys/vfs/specfs spec_vnops.c src/sys/vm vm_swap.c

Matthew Dillon dillon at crater.dragonflybsd.org
Fri Jul 20 10:22:51 PDT 2007


dillon      2007/07/20 10:21:54 PDT

DragonFly src repository

  Modified files:
    sys/kern             subr_diskgpt.c subr_disklabel64.c 
                         vfs_aio.c 
    sys/vfs/specfs       spec_vnops.c 
    sys/vm               vm_swap.c 
  Log:
  Remove the requirement that calls to vn_strategy() be limited to the
  DMA capabilities of the underlying device.  In particular this fixes issues
  with NATA which does not break up large requests when operating on hardware
  with limited DMA capabilities.  The old ATA driver did break up requests.
  
  vn_strategy() -> spec_strategy().  spec_strategy(), which converts vnode
  strategy calls to device strategy calls, now checks the maximum DMA
  capability of the device and breaks up large requests to fit.
  
  Old IDE hardware often can't even transfer a whole 64KB of data and there
  are many subsystems in the kernel which assume that >= 64KB can be transfered
  in a single I/O.   Subsystems include: The pageout code, the buffer clustering
  code, AIO, and the swapin/swapout code.
  
  Reported-by: YONETANI Tomokazu <qhwt+dfly at les.ath.cx>
  
  Revision  Changes    Path
  1.4       +3 -0      src/sys/kern/subr_diskgpt.c
  1.5       +6 -0      src/sys/kern/subr_disklabel64.c
  1.42      +6 -2      src/sys/kern/vfs_aio.c
  1.52      +157 -2    src/sys/vfs/specfs/spec_vnops.c
  1.36      +3 -2      src/sys/vm/vm_swap.c


http://www.dragonflybsd.org/cvsweb/src/sys/kern/subr_diskgpt.c.diff?r1=1.3&r2=1.4&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/subr_disklabel64.c.diff?r1=1.4&r2=1.5&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_aio.c.diff?r1=1.41&r2=1.42&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/specfs/spec_vnops.c.diff?r1=1.51&r2=1.52&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vm/vm_swap.c.diff?r1=1.35&r2=1.36&f=u





More information about the Commits mailing list