From: "Antonino A. Daplas" <adaplas@gmail.com>
To: Alan Hourihane <alanh@fairlite.demon.co.uk>
Cc: dri-devel@lists.sf.net,
Linux Fbdev development list
<linux-fbdev-devel@lists.sourceforge.net>
Subject: Re: DRM & MTRR's
Date: Tue, 11 Oct 2005 06:06:16 +0800 [thread overview]
Message-ID: <434AE5D8.3020806@gmail.com> (raw)
In-Reply-To: <1128974307.9450.66.camel@jetpack.demon.co.uk>
Alan Hourihane wrote:
> On Fri, 2005-09-23 at 22:07 +0800, Antonino A. Daplas wrote:
>> Alan Hourihane wrote:
>>> Has anyone any objections to me removing the MTRR code from the DRM.
>>>
>>> It doesn't have the intimate knowledge needed to properly configure
>>> MTRR's and fails in many cases.
>>>
>>> There are two cases currently, one for the framebuffer and a second for
>>> the entire AGP space.
>>>
>>> Certainly in Intel hardware this is the same memory space and you always
>>> get bogus error messages in your kernel logs as things fail due to lack
>>> of boundary checks.
>>>
>>> I'm more of the opinion that it should be left up to userspace to
>>> configure MTRR's if it indeed wants them and we shouldn't force them
>>> within the DRM.
>>>
>>> Additionally, the Xserver (for user-space) already sets up the MTRR's,
>>> as should Xgl (Xegl) or other user space apps.
>>>
>>> What makes the situation a little worse is that vesafb (and other *fb
>>> drivers) also setup an mtrr which frequently stops subsequent processes
>>> from adding a new one that overlaps an existing write-combining range.
>>> But the *fb drivers do provide a nomtrr option in many cases. (But I'd
>>> like to remove it from them too :-) or at least default those to off)
>> I don't know the repercussions of defaulting to nomtrr. But I would
>> surmise that a large percentage of users gives more importance to X/DRI
>> performance than console performance (majority of vesafb users still
>> use redraw for scrolling where ypan is magnitudes faster, so I'm pretty
>> sure defaulting vesafb to nomtrr will not be noticeable to most users,
>> they probably go straight to X anyway :-)
>>
>> I cannot decide on this alone, so I'm going to CC the fbdev-devel list.
>> Perhaps I can submit a patch that defaults all drivers to nomtrr and a
>> big warning about mtrr not being set in dmesg. If I don't get any
>> backlash for a few patch cycles, I can make this permanent.
>
> Tony,
>
> What was the outcome of this in kernel land ??
No one responded :-(. But I'll try to get a patch to the mm tree
disabling the mtrr's.
>
> Just to give you an idea of why it really causes problems.
>
> If you are using vesafb and it sets up it's own mtrr for usually the
> first 4MB of the framebuffer. Now, X will fail to set it's MTRR. And
> thus the first 4MB remains write-combined.
Yes, I know the problem. vesafb does attempt to type range the entire
aperture (which is different from the the actual memory vesafb uses),
but the Video BIOS usually gets it wrong (the actual aperture size).
>
> Running the isosurf benchmark from Mesa, shows only 300fps. Yet, doing
> echo "disable=3" > /proc/mtrr to remove that vesafb mtrr and allows X to
> setup the full range results in isosurf jumping to 650fps.
>
> Defaulting vesafb (and the others) to nomtrr which save us this pain.
Okay.
Tony
-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
prev parent reply other threads:[~2005-10-10 22:06 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1127475052.9377.18.camel@jetpack.demon.co.uk>
2005-09-23 14:07 ` DRM & MTRR's Antonino A. Daplas
2005-10-10 19:58 ` Alan Hourihane
2005-10-10 22:06 ` Antonino A. Daplas [this message]
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=434AE5D8.3020806@gmail.com \
--to=adaplas@gmail.com \
--cc=alanh@fairlite.demon.co.uk \
--cc=dri-devel@lists.sf.net \
--cc=linux-fbdev-devel@lists.sourceforge.net \
/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.