[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090331171431.69ad044f@hobbes>
Date: Tue, 31 Mar 2009 17:14:31 -0700
From: Jesse Barnes <jbarnes@...tuousgeek.org>
To: Eric Anholt <eric@...olt.net>
Cc: lkml <linux-kernel@...r.kernel.org>,
Venkatesh Pallipadi <venkatesh.pallipadi@...el.com>
Subject: Re: PAGE_CACHE_WC strikes again
On Tue, 31 Mar 2009 17:10:47 -0700
Eric Anholt <eric@...olt.net> wrote:
> I just tracked down what was cutting performance 10x on one of my
> systems on a microbenchmark I'd just written:
>
> --- a/drivers/gpu/drm/drm_gem.c
> +++ b/drivers/gpu/drm/drm_gem.c
> @@ -540,7 +540,7 @@ int drm_gem_mmap(struct file *filp, struct
> vm_area_struct *vma)
> /* FIXME: use pgprot_writecombine when available */
> prot = pgprot_val(vma->vm_page_prot);
> #ifdef CONFIG_X86
> - prot |= _PAGE_CACHE_WC;
> + /*prot |= _PAGE_CACHE_WC;*/
> #endif
> vma->vm_page_prot = __pgprot(prot);
>
> Turns out that setting PAGE_CACHE_WC disables the WC effect of the
> MTRR on my non-PAT (disabled due to CPU errata) 945GM system, and this
> workaround took GTT-mapped writes from 120MB/s to 1180MB/s.
What the... There's a pgprot_writecombine now, but it basically does
the same thing. Why is WC so broken? Venki is the fix for this
covered in your last patchset?
--
Jesse Barnes, Intel Open Source Technology Center
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists