[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <21d7e9970808032353m40fcea6dtbf1b7bc1c5cf06d9@mail.gmail.com>
Date: Mon, 4 Aug 2008 16:53:37 +1000
From: "Dave Airlie" <airlied@...il.com>
To: "Shaohua Li" <shaohua.li@...el.com>
Cc: lkml <linux-kernel@...r.kernel.org>,
"Andrew Morton" <akpm@...ux-foundation.org>,
"Ingo Molnar" <mingo@...hat.com>,
"Arjan van de Ven" <arjan@...radead.org>
Subject: Re: [patch 0/2] reduce agpgart memory allocation time
On Mon, Aug 4, 2008 at 4:51 PM, Shaohua Li <shaohua.li@...el.com> wrote:
> agpgart memory allocation is quite expensive. For each page agpgart
> allocated, it changes the page to uc and as result flush tlb/cache for
> the page. In my test, Intel Xorg driver takes about 0.2s for a 32M 3D
> fb, and the total time for memory allocation is about 0.33s when intel
> xorg driver initializes. Below patches fix the gap. It can reduce the
> time to 0.03s, so xserver can boot 0.3s faster.
>
This approach is quite like what was there before, and I think was
objected to on the grounds the caller might forget to
call the flush and leave the system in an inconsistent state.
Personally I've never bought that argument, its not like we have
thousands of users for this API.
I proposed an alternative interface but I failed to get it merged and
ran out of time
http://www.ussg.iu.edu/hypermail/linux/kernel/0804.3/1112.html
I was trying to get the cpa interface to allow arrays of pages to be
passed in, I was then going to change AGP like
http://git.kernel.org/?p=linux/kernel/git/airlied/agp-2.6.git;a=shortlog;h=agp-pageattr2
I really should fix those patches up at some point, feel free to base
a system on those if someone objects to the method with the call site
doing the flush.
Dave.
--
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