Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 Jan 2008 08:49:57 -0500
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-current@freebsd.org
Cc:        Richard Todd <rmtodd@ichotolot.servalan.com>
Subject:   Re: Weird performance behaviour in 7.0
Message-ID:  <200801300849.58321.jhb@freebsd.org>
In-Reply-To: <x7y7a8i4qc.fsf@ichotolot.servalan.com>
References:  <18328.45282.562906.708945@celery.zuhause.org> <18332.52845.956601.870334@celery.zuhause.org> <x7y7a8i4qc.fsf@ichotolot.servalan.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday 29 January 2008 06:36:43 pm Richard Todd wrote:
> bruce@zuhause.mn.org writes:
> 
> > I'm curious, though, should I be worried about the memcontrol list
> > entries that are listed as "set-by-firmware active bogus"?
> >
> > 0x0/0xf080000000 BIOS write-back set-by-firmware active bogus 
> > 0x80000000/0xf040000000 BIOS write-back set-by-firmware active bogus 
> > 0xc0000000/0xf010000000 BIOS write-back set-by-firmware active bogus 
> > 0xcf800000/0xf000800000 BIOS uncacheable set-by-firmware active bogus 
> > 0xcf700000/0xf000100000 BIOS uncacheable set-by-firmware active bogus 
> > 0x100000000/0xf020000000 BIOS write-back set-by-firmware active bogus 
> > 0x120000000/0xf008000000 BIOS write-back set-by-firmware active bogus 
> 
> Worried that it says "bogus"?  No, not really.  This is, as I said earlier,
> the result of an issue in the amd64 machdep.c code for handling MTRRs --
> it was written for the original amd64 where the "size" field of the MTRR
> was a certain width.  On Core 2 Duo these fields are 4 bits shorter, so
> the machdep.c code looks at 4 more bits from that register than it should and
> so all the size fields have that leading "f" digit.  This causes the sizes
> to no longer be a power of two, which causes machdep.c to set the "bogus" 
> flag because those entries look funny.  The "bogus" flag being set doesn't
> seem to actually break anything, and as near as I can figure if you change
> the memcontrol entries the correct data gets written back to the registers
> even on Core2Duo, so the "bogus" warnings seem to be pretty harmless.

Ahh, I will look at fixing this.

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200801300849.58321.jhb>