DragonFly commits List (threaded) for 2007-07
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
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
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@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
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]