summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb/controller/ohci.c
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2012-01-14 23:04:27 +0000
committeralc <alc@FreeBSD.org>2012-01-14 23:04:27 +0000
commit413b89a7e9cb148ffb08855ef27c973cfbeeb5c0 (patch)
treeb4b7b9f68b84a7f86b3d64ae99d131efcdb106e7 /sys/dev/usb/controller/ohci.c
parent1ea7d0d666a38d5bda1efae01c48a1f3142a416c (diff)
downloadFreeBSD-src-413b89a7e9cb148ffb08855ef27c973cfbeeb5c0.zip
FreeBSD-src-413b89a7e9cb148ffb08855ef27c973cfbeeb5c0.tar.gz
Neither tmpfs_nocacheread() nor tmpfs_mappedwrite() needs to call
vm_object_pip_{add,subtract}() on the swap object because the swap object can't be destroyed while the vnode is exclusively locked. Moreover, even if the swap object could have been destroyed during tmpfs_nocacheread() and tmpfs_mappedwrite() this code is broken because vm_object_pip_subtract() does not wake up the sleeping thread that is trying to destroy the swap object. Free invalid pages after an I/O error. There is no virtue in keeping them around in the swap object creating more work for the page daemon. (I believe that any non-busy page in the swap object will now always be valid.) vm_pager_get_pages() does not return a standard errno, so its return value should not be returned by tmpfs without translation to an errno value. There is no reason for the wakeup on vpg in tmpfs_mappedwrite() to occur with the swap object locked. Eliminate printf()s from tmpfs_nocacheread() and tmpfs_mappedwrite(). (The swap pager already spam your console if data corruption is imminent.) Reviewed by: kib MFC after: 3 weeks
Diffstat (limited to 'sys/dev/usb/controller/ohci.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud