2006-12-08 18:25:03

by Thomas Hellström

[permalink] [raw]
Subject: [patch 2/2] agpgart - Remove unnecessary flushes.

This patch is to speed up flipping of pages in and out of the AGP
aperture as needed by the new drm memory manager.

A number of global cache flushes are removed as well as some PCI posting
flushes.
The following guidelines have been used:

1) Memory that is only mapped uncached and that has been subject to a
global cache flush after the mapping was changed to uncached does not
need any more cache flushes. Neither before binding to the aperture nor
after unbinding.

2) Only do one PCI posting flush after a sequence of writes modifying
page entries in the GATT.

Patch against davej's agpgart.git

/Thomas Hellstr?m





Attachments:
patch2.diff (4.55 kB)

2006-12-19 00:05:47

by Dave Jones

[permalink] [raw]
Subject: Re: [patch 2/2] agpgart - Remove unnecessary flushes.

On Fri, Dec 08, 2006 at 07:24:37PM +0100, Thomas Hellstr?m wrote:
> This patch is to speed up flipping of pages in and out of the AGP
> aperture as needed by the new drm memory manager.
>
> A number of global cache flushes are removed as well as some PCI posting
> flushes.
> The following guidelines have been used:
>
> 1) Memory that is only mapped uncached and that has been subject to a
> global cache flush after the mapping was changed to uncached does not
> need any more cache flushes. Neither before binding to the aperture nor
> after unbinding.
>
> 2) Only do one PCI posting flush after a sequence of writes modifying
> page entries in the GATT.
>
> Patch against davej's agpgart.git

I looked at applying this one to agpgart.git, as it's less controversial
than the other patch. However,..

- MIME : just say no. I had to hand fix up a few things before git would
even see that I was feeding it a diff.
- No Signed-off-by: line.
- The diff adds trailing whitespace. This makes git sad also.
(This problem also affects the other diff, which is possibly why...)
- Finally..
error: patch failed: drivers/char/agp/generic.c:1076
error: drivers/char/agp/generic.c: patch does not apply
error: patch failed: drivers/char/agp/intel-agp.c:256
error: drivers/char/agp/intel-agp.c: patch does not apply

Perhaps this diff should have have been [1/2] instead.

Can you fix those up, and resend this one?

The other diff I want to chew over some more before applying, especially
after Arjan's comments.

Dave

--
http://www.codemonkey.org.uk