Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 29 Jan 2008 17:36:43 -0600
From:      Richard Todd <rmtodd@ichotolot.servalan.com>
To:        bruce@zuhause.mn.org
Cc:        freebsd-current@freebsd.org
Subject:   Re: Weird performance behaviour in 7.0
Message-ID:  <x7y7a8i4qc.fsf@ichotolot.servalan.com>
In-Reply-To: <18332.52845.956601.870334@celery.zuhause.org> (bruce@zuhause.mn.org's message of "Sun, 27 Jan 2008 12:33:17 -0600")
References:  <18328.45282.562906.708945@celery.zuhause.org> <x7lk6favv4.fsf@ichotolot.servalan.com> <18329.22270.123314.900543@bhfs.zuhause.org> <x7sl0k1hz1.fsf@ichotolot.servalan.com> <18332.52845.956601.870334@celery.zuhause.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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.  




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