Re: [PATCH] [7/8] CPA: Don't flush caches on CPUs that support self-snoop
From: Andi Kleen
Date: Mon Feb 11 2008 - 12:59:00 EST
On Monday 11 February 2008 18:36:06 Siddha, Suresh B wrote:
> On Mon, Feb 11, 2008 at 04:27:23PM +0100, Andi Kleen wrote:
> >
> > > > That is exactly the situation in pageattr.c. You're saying the manual
> > > > is wrong here?
> > >
> > > I'm saying that we are not following step 2 (marking the pages not present)
> >
> > Yes that's true. It's one of the design problems of the intent API that makes
> > fixing this hard unfortunately.
>
> BTW, making pages not present is required only while changing the attribute
> from WB to WC or WC to WB. I think this step is for avoiding attribute aliasing
> for speculative accesses. For UC, we don't have speculative accesses and such we
> probably don't need it.
Ok that would imply that my patch is ok for all current in tree users at least
(none of them ever set WC currently, only UC). It might not be safe for
the out of tree WC users though.
So it should be ok to apply according to standard policy :)
> So WC support through PAT should take care of it.
You mean the PAT patch should do something about it? Yes probably, but what?
> > (intent API assumes that the caller doesn't fully own the page to change, and
> > if you can't control it 100% it is not possible to unmap it temporarily)
>
> True. Perhaps for WC chages we can assume the ownership?
Not assuming owner ship was the main reason why the intent change was originally
submitted. I personally never quite understood the rationale for that,
but the submitter and the maintainers apparently thought it a valuable
thing to have, otherwise the patch would not have been written and included.
You'll need to ask them if that has changed now.
At least if that requirement was dropped it would be possible to remove
quite a lot of code from pageattr.c
-Andi
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/