Date: Tue, 30 Aug 2011 16:00:45 -0700 From: Kirk McKusick <mckusick@mckusick.com> To: lev@FreeBSD.org Cc: freebsd-fs@FreeBSD.org Subject: Re: Very inconsistent (read) speed on UFS2 Message-ID: <201108302300.p7UN0jJ6022811@chez.mckusick.com> In-Reply-To: <1693072185.20110831022933@serebryakov.spb.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
> Date: Wed, 31 Aug 2011 02:29:33 +0400 > From: Lev Serebryakov <lev@FreeBSD.org> > To: Kirk McKusick <mckusick@mckusick.com>, freebsd-fs@FreeBSD.org > Subject: Re: Very inconsistent (read) speed on UFS2 > > Hello, Kirk. > > > I'll try this experiment with mmap() and touching every 4096-th byte of > > mapped memory instead of read(2). > > Strange enough, it gives only 40-50MiB/s and results are very > consistent. > > It really surprise me. I didn't think, that there will be so much > difference, I was sure, that it will be almost equivalent speed. > > -- > // Black Lion AKA Lev Serebryakov <lev@FreeBSD.org> I had not realized that you were using O_DIRECT. That would in fact avoid most of the caching / memory-recovery effects that I was blaming earlier. Your test above is definitely hitting them though. My guess is that the consistency is because you are measuring the rate at which free memory can be created. So, my new theory on why your O_DIRECT test is running slowly is due to the single threading in the GEOM layer. Pawel Jakub Dawidek (pjd@) gave a very interesting talk on this problem at this year's BSDCan. Kirk McKusick
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201108302300.p7UN0jJ6022811>