Skip site navigation (1)Skip section navigation (2)
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>