Re: [PATCH 2/2] x86: mtrr_cleanup try gran_size to less than 1M

Yinghai Lu
2008-10-02T23:20:24Z

On Thu, Oct 2, 2008 at 4:00 PM, J.A. Magallón <jamagallon@ono.com> wrote:
> On Thu, 2 Oct 2008 15:52:11 -0700, "Yinghai Lu" <yinghai@kernel.org> wrote:
>
>> On Thu, Oct 2, 2008 at 3:33 PM, Yinghai Lu <yinghai@kernel.org> wrote:
>> > On Thu, Oct 2, 2008 at 3:03 PM, J.A. Magallón <jamagallon@ono.com> wrote:
>> >> On Mon, 29 Sep 2008 18:54:12 -0700, Yinghai Lu <yhlu.kernel@gmail.com> wrote:
>> >>
>> >>>
>> >>> so start from 64k instead of 1M
>> >>>
>> >>
>> >> Or there is something I don't catch about mtrrs, or it still does silly
>> >> things.
>> >>
>> >> I have an ASUS PCDL, dual xeon, 2Gb of memory. Mtrrs after cleanup are:
>> >>
>> >> werewolf:/proc> cat mtrr
>> >> reg00: base=0x00000000 ( 0MB), size=1024MB: write-back, count=1
>> >> reg01: base=0x40000000 (1024MB), size= 512MB: write-back, count=1
>> >> reg02: base=0x60000000 (1536MB), size= 256MB: write-back, count=1
>> >> reg03: base=0x70000000 (1792MB), size= 128MB: write-back, count=1
>> >> reg04: base=0x78000000 (1920MB), size= 64MB: write-back, count=1
>> >> reg05: base=0x7c000000 (1984MB), size= 64MB: write-back, count=1
>> >> reg06: base=0x7ff00000 (2047MB), size= 1MB: uncachable, count=1
>> >>
>> >> So it adds a last WB zone, but substracts the last 1Mb. (Why do
>> >> I have that stupid uncacheable mb ? probably a bios issue...)
>> >> But those two 64 mb zones could be add to a 128Mb, that new one
>> >> with previous to 256Mb and so on, giving something like:
>> >>
>> >> reg00: base=0x00000000 ( 0MB), size=2048MB: write-back, count=1
>> >> reg01: base=0x7ff00000 (2047MB), size= 1MB: uncachable, count=1
>> >>
>> >> Is this incorrect ?
>> >>
>> >
>> > can you boot with mtrr_cleanup_debug?
>> >
>> > also what is /proc/mtrr with disable_mtrr_cleanup?
>>
>> are you on latest tip/master?
>>
>
> No, I use rc8-git3 with your patches (the small gran_size series and the
> parameter rename, except the debug one) manually applied.
>

ah..
please pick up all of them from tip/master...

x86: don't need to go to chunksize to 4G
x86: mtrr_cleanup optimization, v2
x86: add mtrr_cleanup_debug command line
x86: cleanup, remove extra ifdef
x86: mtrr_cleanup hole size should be less than half of chunk_size, v2
x86: mtrr_cleanup safe to get more spare regs now
x86: mtrr_cleanup prepare to make gran_size to less 1M
x86: mtrr_cleanup try gran_size to less than 1M
x86: change MTRR_SANITIZER to def_bool y

YH