From: "H. Peter Anvin" <hpa@zytor.com>
To: Venki Pallipadi <venkatesh.pallipadi@intel.com>
Cc: Rufus & Azrael <rufus-azrael@numericable.fr>,
Ingo Molnar <mingo@elte.hu>,
"Siddha, Suresh B" <suresh.b.siddha@intel.com>,
Linux-kernel Mailing List <linux-kernel@vger.kernel.org>,
Yinghai Lu <yhlu.kernel@gmail.com>,
Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [2.6.25-git18 => 2.6.26-rc1-git1] Xorg crash with xf86MapVidMem error
Date: Thu, 08 May 2008 17:49:48 -0700 [thread overview]
Message-ID: <48239FAC.8070707@zytor.com> (raw)
In-Reply-To: <20080509003424.GA19710@linux-os.sc.intel.com>
Venki Pallipadi wrote:
>
> What I meant was:
> MTRRs are not really base and size. They are defined as base and mask.
> Any addr is affected by mtrr if addr & mask == base & mask.
> So, MTRR entry like
> base = 0xf00000, mask = 0xff00000 with 36 bit physical address covers
> 0xf00000-0xffffff, 0x10f00000-0x10ffffff, 0x20f00000-0x20ffffff, ....
>
> In this case if user is trying to mmap 0x1a000000-0x2a000000, we cannot really
> cover this case with single parsing of variable address ranges. We will have
> to go through the sub-ranges withing single variable range, which can be page
> by page in worst case.
>
In practice, though, such MTRRs are never seen. Even in the presence of
such pathological MTRRs, I'm sure one can figure out a *much* smarter
overlap algorithm. I'd have to sit down and think about it, but I'm
pretty sure one could; the basic observation, though, is that any set
mask bit that are in a position <= floor(log2(range_len))-1 don't matter
at all, since the range WILL end up covering both the 0 and the 1 case
in this bit position. At this point, you can test only a limited number
of points (I *believe* you can reduce it down to only the beginning and
the end, but I haven't proven that, so don't count on it yet.)
The key, of course, is to look for the case of multiple MTRRs matching
the range.
-hpa
next prev parent reply other threads:[~2008-05-09 0:50 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-04 8:24 [2.6.25-git18 => 2.6.26-rc1-git1] Xorg crash with xf86MapVidMem error Rufus & Azrael
2008-05-04 8:52 ` Ingo Molnar
2008-05-04 9:03 ` Rufus & Azrael
2008-05-05 17:26 ` Suresh Siddha
2008-05-05 22:19 ` Rufus & Azrael
2008-05-05 23:25 ` Venki Pallipadi
2008-05-05 23:49 ` Ingo Molnar
2008-05-06 2:09 ` Venki Pallipadi
2008-05-06 11:55 ` Ingo Molnar
[not found] ` <4820962B.6050702@numericable.fr>
2008-05-06 20:34 ` Pallipadi, Venkatesh
2008-05-06 21:56 ` Rufus & Azrael
2008-05-06 22:05 ` Pallipadi, Venkatesh
2008-05-07 20:58 ` Rufus & Azrael
2008-05-07 22:12 ` Pallipadi, Venkatesh
2008-05-08 7:08 ` Rufus & Azrael
2008-05-08 13:18 ` Pallipadi, Venkatesh
[not found] ` <B5B0CFF685D7DF46A05CF1678CFB42ED20E04609@orsmsx423.amr.corp.intel.com>
2008-05-08 19:25 ` Venki Pallipadi
2008-05-08 20:08 ` Rufus & Azrael
2008-05-08 21:37 ` Venki Pallipadi
2008-05-08 21:42 ` H. Peter Anvin
[not found] ` <20080508215931.GA5035@jamoon.sc.intel.com>
2008-05-08 23:40 ` Venki Pallipadi
2008-05-08 23:54 ` H. Peter Anvin
2008-05-09 0:34 ` Venki Pallipadi
2008-05-09 0:49 ` H. Peter Anvin [this message]
2008-05-09 0:52 ` H. Peter Anvin
2008-05-09 13:46 ` Pallipadi, Venkatesh
2008-05-29 19:01 ` Venki Pallipadi
2008-05-29 21:51 ` Rufus & Azrael
2008-05-31 8:10 ` Ingo Molnar
2008-05-06 22:51 ` Venki Pallipadi
2008-05-07 7:06 ` Ingo Molnar
2008-05-07 21:42 ` Yinghai Lu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=48239FAC.8070707@zytor.com \
--to=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=rufus-azrael@numericable.fr \
--cc=suresh.b.siddha@intel.com \
--cc=tglx@linutronix.de \
--cc=venkatesh.pallipadi@intel.com \
--cc=yhlu.kernel@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.