From: Suresh Siddha <suresh.b.siddha@intel.com>
To: "Pallipadi, Venkatesh" <venkatesh.pallipadi@intel.com>
Cc: Jesse Barnes <jbarnes@virtuousgeek.org>,
Eric Anholt <eric@anholt.net>,
lkml <linux-kernel@vger.kernel.org>
Subject: RE: PAGE_CACHE_WC strikes again
Date: Tue, 31 Mar 2009 17:03:10 -0800 [thread overview]
Message-ID: <1238547790.27006.7743.camel@localhost.localdomain> (raw)
In-Reply-To: <7E82351C108FA840AB1866AC776AEC4657F48B3E@orsmsx505.amr.corp.intel.com>
On Tue, 2009-03-31 at 17:29 -0700, Pallipadi, Venkatesh wrote:
> The key point here is
>
> > setting PAGE_CACHE_WC disables the WC effect of the
> > MTRR on my non-PAT (disabled due to CPU errata)
>
> When PAT is disabled, the default setting in PAT MSR is
> 00 - WB
> 01 - WT
> 10 - UC_MINUS
> 11 - UC
>
> There is no way to set WC with PAT. By hardcoding _PAGE_CACHE_WC
> (which is 01) the driver is basically selecting write-through!
>
> And when MTRR says WC and PAT says WT, effective type is UC.
>
> Basically, no one should be hard-coding the memory type. Please use
> pgprot_writecombine() which does the right thing by using WC
> (when PAT is enabled) or UC_MINUS (when PAT is disabled).
And the driver should use right API to track the underlying page frame
thats getting mapped by this vma, with the corresponding attribute.
API's like remap_pfn_range(), vm_insert_pfn() will setup the PTE's
aswell as track the pfn's attributes.
API's like set_memory_uc/wc() will explicitly setup the page attributes.
Jesse, As far as I see, the drm GEM fault handler routines don't seem to
do any of this. Am I missing something? We need to fix this so that we
can avoid potential aliasing issues.
thanks,
suresh
next prev parent reply other threads:[~2009-04-01 1:04 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-01 0:10 Eric Anholt
2009-04-01 0:14 ` Jesse Barnes
2009-04-01 0:29 ` Pallipadi, Venkatesh
2009-04-01 0:49 ` Jesse Barnes
2009-04-01 1:03 ` Suresh Siddha [this message]
2009-04-01 1:12 ` Jesse Barnes
2009-04-01 1:30 ` Suresh Siddha
2009-04-01 1:57 ` Jesse Barnes
2009-04-01 3:18 ` Dave Airlie
2009-04-01 3:17 ` Pallipadi, Venkatesh
2009-04-01 1:22 ` Jesse Barnes
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=1238547790.27006.7743.camel@localhost.localdomain \
--to=suresh.b.siddha@intel.com \
--cc=eric@anholt.net \
--cc=jbarnes@virtuousgeek.org \
--cc=linux-kernel@vger.kernel.org \
--cc=venkatesh.pallipadi@intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome