From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752000AbbJLOUf (ORCPT ); Mon, 12 Oct 2015 10:20:35 -0400 Received: from mga01.intel.com ([192.55.52.88]:35820 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751660AbbJLOUa (ORCPT ); Mon, 12 Oct 2015 10:20:30 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.17,673,1437462000"; d="scan'208";a="824980695" Date: Mon, 12 Oct 2015 19:53:36 +0530 From: Vinod Koul To: Rameshwar Sahu Cc: dan.j.williams@intel.com, dmaengine@vger.kernel.org, Arnd Bergmann , linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, jcm@redhat.com, patches@apm.com Subject: Re: [PATCH v2] dmaengine: xgene-dma: Disable memcpy operation due to performance drop Message-ID: <20151012142336.GA27370@localhost> References: <1444295217-3099-1-git-send-email-rsahu@apm.com> <20151009161208.GJ3609@vkoul-mobl.iind.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Oct 09, 2015 at 10:08:32PM +0530, Rameshwar Sahu wrote: > Hi Vinod, > > On Fri, Oct 9, 2015 at 9:42 PM, Vinod Koul wrote: > > On Thu, Oct 08, 2015 at 02:36:57PM +0530, Rameshwar Prasad Sahu wrote: > >> The DMA engine supports memory copy, RAID5 XOR, RAID6 PQ, and other > >> computations. But the bandwidth of the entire DMA engine is shared > >> among all channels. This patch re-configures operations availability > >> such that one can achieve maximum performance for XOR and PQ > >> computation by removing the memory offload operations. > >> > >> Signed-off-by: Rameshwar Prasad Sahu > >> --- > >> drivers/dma/xgene-dma.c | 1 - > >> 1 file changed, 1 deletion(-) > >> > >> diff --git a/drivers/dma/xgene-dma.c b/drivers/dma/xgene-dma.c > >> index 8d57b1b..cd38022 100644 > >> --- a/drivers/dma/xgene-dma.c > >> +++ b/drivers/dma/xgene-dma.c > >> @@ -1707,7 +1707,6 @@ static void xgene_dma_set_caps(struct xgene_dma_chan *chan, > >> dma_cap_zero(dma_dev->cap_mask); > >> > >> /* Set DMA device capability */ > >> - dma_cap_set(DMA_MEMCPY, dma_dev->cap_mask); > >> dma_cap_set(DMA_SG, dma_dev->cap_mask); > > > > This will not work. Still clients can invoke memcpy operation. You need to > > remove the callback > > Got it, instead of removing the callback registration can we keep it > inside the condition like.. > > if (dma_has_cap(DMA_MEMCPY, dma_dev->cap_mask)) > dma_dev->device_prep_dma_memcpy = xgene_dma_prep_memcpy; But the code is dead and will not be tested and hence not maintained. I do not see a reason to keep dead code in kernel -- ~Vinod