[Top] [All Lists]

Re: [PATCH v3 2/2] MIPS: HIGHMEM DMA on noncoherent MIPS32 processors

To: Ralf Baechle <>, Nicolas Pitre <>, Gary King <>
Subject: Re: [PATCH v3 2/2] MIPS: HIGHMEM DMA on noncoherent MIPS32 processors
From: Kevin Cernekee <>
Date: Wed, 13 Oct 2010 11:01:06 -0700
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=6fb890Jexd9WrUutBXPJyIPL9LP9J7fpEcuhukLSZOc=; b=IXqIZ5beazV+lZ86AtugcvjxMTcbkBPhtD3Ib2FoLHiFBNoY6v/G2nEX/NNiS0OsJ6 o8d0nb8ujodUdzMFjqL0inHZr1/kl5ZgBnyfQQMTRYusmosBe0+OZnLGol0WWGmvbGDV XorK8yjMiFi1byfEmn86DrY8nQz3Iqm8JbIyU=
Domainkey-signature: a=rsa-sha1; c=nofws;; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=v+7W9HKWWe+fT5v+48FzjkuZyG56hiXoJh5Ov0F+B1AR/bR4geOcn6VAoZvDOdeocj AfO/S0o64mvNVSDw77QwXU/rx/Fy02ydca7CBRuLJY/3vX8vgnGpthz83Z9EhfL4yXGP ivLuUD2Jv4OL6yB0oz3OEyF/xRzAxOKBY6Ukw=
In-reply-to: <>
Original-recipient: rfc822;
References: <f3f140ca90dc9dac2f645748bc3a0150@localhost> <>
On Wed, Oct 13, 2010 at 12:53 AM, Ralf Baechle <> wrote:
> It's this disabling of interrupts which I don't like.  It's easy to get
> around it by having one kmap type for each of process, softirq and
> interrupt context.

I am curious as to why ARM opted for the "pte push/pop" strategy
(kmap_high_l1_vipt()) instead of something along these lines?

Is there a reason why using 3 kmap types to solve the "interrupted
flush problem" would work for MIPS, but is not a good solution on ARM?

> The good news is that Peter Zijlstra has rewritten kmap to make the need
> for manually allocated kmap types go away and his patches are queued to
> be merged for 2.6.37.  So I'd like to put this patch on hold until after
> his patches are merged.

OK, I'll take a look at that.  Thanks for the pointer.

> Does your system have both highmem and cache aliases?

This system has HIGHMEM + SMP, no cache aliases.

<Prev in Thread] Current Thread [Next in Thread>