public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* PAT status?
@ 2005-11-29 22:22 Jeff Garzik
  2005-12-01 20:49 ` Terence Ripperda
  0 siblings, 1 reply; 7+ messages in thread
From: Jeff Garzik @ 2005-11-29 22:22 UTC (permalink / raw)
  To: Linux Kernel; +Cc: Terence Ripperda, Dave Airlie


What's the status of PAT support?

I'm interested in that sort of stuff, for use with on-board GPUs such as 
Intel/VIA/SiS, where system memory is used rather than offboard ram.

	Jeff




^ permalink raw reply	[flat|nested] 7+ messages in thread
* Re: PAT status?
@ 2005-11-30 12:04 Daniel J Blueman
  2005-11-30 21:58 ` Andi Kleen
  0 siblings, 1 reply; 7+ messages in thread
From: Daniel J Blueman @ 2005-11-30 12:04 UTC (permalink / raw)
  To: jgarzik, Linux Kernel

Hi Jeff,

IIRC, the kernel (c. 2.6.14) still does nothing to setup the
processors' PAT registers to enable write combining in one of the
slots - the defaults the BIOS establishes do not cover this. Once this
is done, drivers would readily be able to set page flags for a
particular PAT slot, and MTRRs can (almost) be safely ignored.

Daniel
___
Daniel J Blueman

^ permalink raw reply	[flat|nested] 7+ messages in thread
* Re: PAT status?
@ 2005-12-08 15:37 Daniel J Blueman
  2005-12-09 18:45 ` Dave Jones
  0 siblings, 1 reply; 7+ messages in thread
From: Daniel J Blueman @ 2005-12-08 15:37 UTC (permalink / raw)
  To: tripperda; +Cc: Linux Kernel, ak, jgarzik

Terence Ripperda wrote:
> Hi Jeff,
>
> I unfortunately haven't had much time to look at the status of the PAT
> code I had been working on. there are really 2 steps to the code:
>
> the first is enabling and configuring the PAT registers. this then
> allows a page table entry define that can be passed to traditional
> interfaces, such as remap_page_range or change_page_attr. this is
> pretty simple and we've been using a similar interface in our driver
> for some time now.
>
> the second part was to make sure we didn't create any cache aliasing
> via duplicate mappings. this part is a bit more involved and what was
> holding everything back. I've been meaning to get back to looking at
> this, but really haven't had the time.

If you mean aliasing by the way of having MTRR entries conflicting
with PAT page flags, then is this better dealt with by in-kernel
drivers being changed to use PAT rather than the MTRR interface? One
day, the kernel MTRR interface will be deprecated and unusable
(modules could still program the MTRRs as PAT is done today in a
number of drivers).

> I don't know if you still want to limit the additional of the first
> step, based on completion of the second step. I can try to set time
> aside over the next month to try and sync up and take a look at where
> we stand w/ the cachemap portion of the code. I think there where
> still issues with gathering/passing in the correct attributes.
>
> Thanks,
> Terence

Presumably, the aliasing will only bite where eg the X server sets up
MTRRs and PAT is used for the region also. For x86_64 and IA32, the
Intel IA32 system guides tell us that strong store ordering (ie
write-through) takes precendence over weaker store ordering (eg
write-combining), so we should be safe. For processors with known
errata with PAT etc, we can disable PAT support.

Would it be useful to get a rough patch covering point #1 onto LKML
for discussion?
___
Daniel J Blueman

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2005-12-09 18:45 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-11-29 22:22 PAT status? Jeff Garzik
2005-12-01 20:49 ` Terence Ripperda
  -- strict thread matches above, loose matches on Subject: below --
2005-11-30 12:04 Daniel J Blueman
2005-11-30 21:58 ` Andi Kleen
2005-12-01 14:30   ` Daniel J Blueman
2005-12-08 15:37 Daniel J Blueman
2005-12-09 18:45 ` Dave Jones

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox