Date: Wed, 4 Apr 2018 19:45:10 +0300 From: Andriy Gapon <avg@FreeBSD.org> To: Stefan Esser <se@freebsd.org>, "M. Warner Losh" <imp@freebsd.org> Cc: FreeBSD Current <freebsd-current@freebsd.org> Subject: Re: Is kern.sched.preempt_thresh=0 a sensible default? Message-ID: <32d6305b-3d57-4d37-ba1b-51631e994520@FreeBSD.org> In-Reply-To: <49fa8de4-e164-0642-4e01-a6188992c32e@freebsd.org> References: <dc8d0285-1916-6581-2b2d-e8320ec3d894@freebsd.org> <CANCZdfoieekesqKa5RmOp=z2vycsVqnVss7ROnO87YTV-qBUzA@mail.gmail.com> <1d188cb0-ebc8-075f-ed51-57641ede1fd6@freebsd.org> <49fa8de4-e164-0642-4e01-a6188992c32e@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 04/04/2018 16:19, Stefan Esser wrote: > I have identified the cause of the extremely low I/O performance (2 to 6 read > operations scheduled per second). > > The default value of kern.sched.preempt_thresh=0 does not give any CPU to the > I/O bound process unless a (long) time slice expires (kern.sched.quantum=94488 > on my system with HZ=1000) or one of the CPU bound processes voluntarily gives > up the CPU (or exits). > > Any non-zero value of preemt_thresh lets the system perform I/O in parallel > with the CPU bound processes, again. Let me guess... you have a custom kernel configuration and, unlike GENERIC (assuming x86), it does not have 'options PREEMPTION'? -- Andriy Gapon
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?32d6305b-3d57-4d37-ba1b-51631e994520>