Date: Wed, 4 Sep 2002 09:42:44 -0400 (EDT) From: Andrew Gallatin <gallatin@cs.duke.edu> To: John Baldwin <jhb@FreeBSD.ORG> Cc: alpha@FreeBSD.ORG, peter@FreeBSD.ORG Subject: Re: FYI: Buffer cache fix gave major speedup Message-ID: <15734.3540.941843.110159@grasshopper.cs.duke.edu> In-Reply-To: <XFMail.20020904090455.jhb@FreeBSD.org> References: <XFMail.20020904090455.jhb@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
John Baldwin writes: > On the DS20 I have here, Peter's fix to basically enable the buffer cache > gave me about a 38% performance increase for a buildworld -j 2 on current: > > Before: > -------------------------------------- > build started at 15:11:08 on 08/28/02 > build finished at 18:43:05 on 08/28/02 > -------------------------------------- > Which is a total time of 3:31:57 > > After: > -------------------------------------- > build started at 22:41:31 on 09/03/02 > build finished at 00:51:46 on 09/04/02 > -------------------------------------- > Which is a total time of 2:10:15 > > If this bug exists in 4.x we should really fix it there as well. > Are you talking about btoc()? I think stable is immune. A simple test shows the buffer cache is working just fine there. The problem was that phk's version of btoc was truncating things by using a 32-bit cast. Eg, phk replaced this: #define btoc(x) (((x) + PAGE_MASK) >> PAGE_SHIFT) With this: #define btoc(x) (((unsigned)(x)+PAGE_MASK)>>PAGE_SHIFT) ^^^^^^^^^ Which Peter replaced with: #define btoc(x) (((vm_offset_t)(x)+PAGE_MASK)>>PAGE_SHIFT) So the difference between -stable and -current is now just the (vm_offset_t) cast. I don't _think_ that should make a difference. But I'm afraid I don't understand how the cast caused such an innocuous problem as disabling the buffer cache. I'd have thought it would have caused memory corruption. Drew To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?15734.3540.941843.110159>