summaryrefslogtreecommitdiffstats
path: root/sys/dev/i2c
diff options
context:
space:
mode:
authormpi <mpi@openbsd.org>2016-01-13 10:00:55 +0000
committermpi <mpi@openbsd.org>2016-01-13 10:00:55 +0000
commit69dc856612686806a22aac0c5ec30d0789582c0d (patch)
tree644299233983126dc70540882cba6104d99b0417 /sys/dev/i2c
parentPrevent a double if_put(). (diff)
downloadwireguard-openbsd-69dc856612686806a22aac0c5ec30d0789582c0d.tar.xz
wireguard-openbsd-69dc856612686806a22aac0c5ec30d0789582c0d.zip
Implement VFS read clustering for MSDOSFS.
The logic used in msdosfs_bmap() to loop calling pcbmap() comes from FreeBSD and is not really efficient but it is good enough since it is only called when generating I/O. With this diff I get a 100% improvement when reading big files from a crappy USB stick. With this and bread_cluster(9) modified to not re-fetch B_CACHED buffers, reading large contiguous files with chunk sizes of MAXPHYS is almost as fast as physio(9) on the same device. For a 'real world' example, when copying music files from a USB stick I see a speed jump from 15MB/s on -current to 24Mb/s with this diff. While here rename some 'lbn' variables into 'cn' to better reflect what we're dealing with. Tested by Mathieu, with support from deraadt@
Diffstat (limited to 'sys/dev/i2c')
0 files changed, 0 insertions, 0 deletions