From mboxrd@z Thu Jan 1 00:00:00 1970 From: Randy Dunlap Subject: Re: [RFC PATCH] dma: Add barrierless dma mapping/unmapping api Date: Tue, 26 Jan 2010 08:48:59 -0800 Message-ID: <20100126084859.d33904d3.randy.dunlap@oracle.com> References: <1264473346-32721-1-git-send-email-adharmap@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: Received: from rcsinet11.oracle.com ([148.87.113.123]:18201 "EHLO rcsinet11.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753474Ab0AZQt4 (ORCPT ); Tue, 26 Jan 2010 11:49:56 -0500 In-Reply-To: <1264473346-32721-1-git-send-email-adharmap@codeaurora.org> Sender: linux-arch-owner@vger.kernel.org List-ID: To: adharmap@codeaurora.org Cc: linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, dwalker@codeaurora.org, Arnd Bergmann , FUJITA Tomonori , Andrew Morton , Ingo Molnar , Joerg Roedel , Maciej Sosnowski , Dan Williams , Becky Bruce , Benjamin Herrenschmidt , Yang Hongyang , linux-arch@vger.kernel.org, Abhijeet Dharmapurikar On Mon, 25 Jan 2010 18:35:46 -0800 adharmap@codeaurora.org wrote: > From: Abhijeet Dharmapurikar > > Tests have shown that there is a significant performance gain > when a driver uses mapping/unmapping functions without a barrier > multiple times and calls dsb() only after the last buffer. This > api adds support for barrierless dma operations on ARMv6 > and ARMv7. > > Signed-off-by: Abhijeet Dharmapurikar > --- > > Please refer to the earlier post here http://lkml.org/lkml/2010/1/4/347. > These changes only are only for the arm v6 and v7 > architecture and introduce dma_map/unmap_single_nobarrier api. > The idea is to extend the cpu_cache_fns.dma_.*_range functions to accept > a third boolean argument that tells it whether to execute the barrier or > skip it. Note that this applies over Linux 2.6.33-rc5 and needs a few changes > to apply on the linux-next tree. > > > arch/arm/include/asm/cacheflush.h | 12 ++++---- > arch/arm/include/asm/dma-mapping.h | 57 ++++++++++++++++++++++++++++++++++-- > arch/arm/mm/cache-v6.S | 15 ++++++---- > arch/arm/mm/cache-v7.S | 19 +++++++++++- > arch/arm/mm/dma-mapping.c | 17 ++++++----- > drivers/staging/dream/pmem.c | 4 +- > 6 files changed, 97 insertions(+), 27 deletions(-) Along with the other comments, the patch is also missing updates to Documentation/DMA-API.txt ... --- ~Randy