Date: Sun, 18 Mar 2012 18:56:29 -0400 From: "Dieter BSD" <dieterbsd@engineer.com> To: freebsd-hackers@freebsd.org,freebsd-drivers@freebsd.org Subject: Reigning in disk cache buffer hogs Message-ID: <20120318225630.155070@gmx.com>
next in thread | raw e-mail | index | archive | help
amd64 4 GiB nVidia nForce CK804 (aka nforce4-ultra), SiI3132, JMB363 sata disks FreeBSD 8.2 FFS/SU Problem: I/O to one disk can fill up the disk buffer cache, starving other processes of disk I/O. If the other processes are logging real time data (from a closed source "black box"), then data is lost. Each process has its own private disk to minimise latency due to seeking and such, but that isn't sufficient to prevent the problem. It is always the onboard nforce4-ultra controller that causes the problem. The expansion card controllers never cause the problem. The onboard nforce4-ultra controller is supported by ata(4). The expansion card controllers are supported by ahci(4) and siis(4). The onboard nforce4-ultra controller is much faster than the expansion card controllers, except that ata doesn't support NCQ, so the nforce has a serious bottleneck writing. Is there something about NCQ other than the obvious performance improvement that would explain why the NCQ controllers never have the problem? What sort of miracle would it take to get NCQ support for the nforce4-ultra controller? Linix has had NCQ support since 2006. Is there some knob to control reserving a few buffers per disk to prevent one disk from hogging all the buffer cache?
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120318225630.155070>