Date: Fri, 13 May 2011 09:00:22 -0500 From: Mark Tinguely <marktinguely@gmail.com> To: =?KOI8-R?Q?=F7=CC=C1=C4=C9=CD=C9=D2_=E6=C5=DD=C5=CE=CB=CF?= <vladimir-its@yandex.ru> Cc: freebsd-arm@freebsd.org Subject: Re: S3C2440A strange perfomance issue Message-ID: <4DCD3976.9010603@gmail.com> In-Reply-To: <94351305269509@web20.yandex.ru> References: <578421305188959@web64.yandex.ru> <4DCBEB00.3040608@gmail.com> <881651305221476@web156.yandex.ru> <4DCC2C88.3030809@gmail.com> <94351305269509@web20.yandex.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
On 5/13/2011 1:51 AM, Владимир Фещенко wrote: > Thank you, Mark! > After applying of patch, execution time become a stable (3 sec):) That patch that I sent was bad, the variable pv was not defined at the point. Below is a better temporary test patch. TAILQ_FOREACH(pv, &pg->md.pv_list, pv_list) { + if (pv->pv_flags & PVF_EXEC) + return; /* generate a count of the pv_entry uses */ The thread was in March 2010. It is in the FreeBSD ARM mailing list archive under the subject, "Performance of SheevaPlug on 8-stable". Is this FreeBSD current or 8.x? (We made some changes between 8.x and -current). Do you have cluster I/O enabled on the filesystem? Does it do this with the cluster I/O turned off? (If the below theory is true, this won't matter). The executable page should be in the page cache, so there should not be any I/O for the "cat" command. That leads me to suspect the "cat" turns the write bit on the page and that bit is left on. The cache fixing routine is doing its job based on incorrect information (that the page is mapped for writing). --Mark Tinguely
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4DCD3976.9010603>