Date: Sat, 13 Apr 2013 12:59:49 +0300 From: Alexander Motin <mav@FreeBSD.org> To: freebsd-geom@FreeBSD.org, freebsd-hackers@FreeBSD.org Subject: devstat overhead VS precision Message-ID: <51692C95.3010901@FreeBSD.org>
next in thread | raw e-mail | index | archive | help
Hi. It is long known that collecting disk and GEOM statistics may cause significant processing overhead under high IOPS. On my recent high-IOPS benchmarks performance difference was reaching three times! Last time situation improved a lot by more active use of TSC, but there are still many systems where TSCs are not synchronized. I propose to switch that statistics from using binuptime() to getbinuptime() to solve the problem globally. From one side getbinuptime() resolution is limited by 1ms, but since time is usually averaged over the many I/Os, additional sub-millisecond precision will come from sampling. Since most of tools now show request processing times up to 0.1ms, that precision should be sufficient. I believe real disk performance is more important that n-th digit in some statistics. The following patch does the change and makes disk performance irrelevant to the timecounter performance: http://people.freebsd.org/~mav/devstat_time.patch Are there any objections against it? -- Alexander Motin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?51692C95.3010901>