Mike Tancsa
2015-Mar-21 00:46 UTC
RELENG_10 performance regression (was Re: 35-40% performance drop releng9 vs releng10 openvpn
On 3/20/2015 8:15 PM, Konstantin Belousov wrote:>> >> For the purpose of devfs, does it make sense to bump timestamps like >> normal filesystems for each read/write operation? Looks like Mac OS X >> will bump timestamps for each operation but Debian don't. > > First question is, what timecounter hardware is used. I would accept > some slowdown from hardware like HPET, but it is indeed surprising > if caused by TSC. > >David Wolfskill suggested trying the problem commit with vfs.timestamp_precision=0 and it does indeed restore performance to what it was. The raw dtrace files are available and FlameGraphs can all be found at http://tancsa.com/time/ ---Mike -- ------------------- Mike Tancsa, tel +1 519 651 3400 Sentex Communications, mike at sentex.net Providing Internet services since 1994 www.sentex.net Cambridge, Ontario Canada http://www.tancsa.com/
John Baldwin
2015-Mar-21 15:52 UTC
RELENG_10 performance regression (was Re: 35-40% performance drop releng9 vs releng10 openvpn
On 3/20/15 8:46 PM, Mike Tancsa wrote:> On 3/20/2015 8:15 PM, Konstantin Belousov wrote: >>> >>> For the purpose of devfs, does it make sense to bump timestamps like >>> normal filesystems for each read/write operation? Looks like Mac OS X >>> will bump timestamps for each operation but Debian don't. >> >> First question is, what timecounter hardware is used. I would accept >> some slowdown from hardware like HPET, but it is indeed surprising >> if caused by TSC. >> >> > > David Wolfskill suggested trying the problem commit with > > vfs.timestamp_precision=0 > > and it does indeed restore performance to what it was. The raw dtrace > files are available and FlameGraphs can all be found at > > http://tancsa.com/time/Do you know why you are using the HPET instead of TSC for timestamping? Using the TSC can make a non-trivial performance difference since userland can calculate timestamps without using system calls when it is used. (That is not related to this case, but switching to the TSC in general is preferable.) There are a few generations of Intel CPUs where you can't mix deeper sleep states with the TSC as timecounter, but those CPUs are getting to be a bit older at this point. -- John Baldwin