Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754645AbbBLAz6 (ORCPT ); Wed, 11 Feb 2015 19:55:58 -0500 Received: from mga11.intel.com ([192.55.52.93]:19962 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754154AbbBLAz4 convert rfc822-to-8bit (ORCPT ); Wed, 11 Feb 2015 19:55:56 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.09,562,1418112000"; d="scan'208";a="676662871" From: "Wang, Xiaoming" To: Konrad Rzeszutek Wilk CC: David Vrabel , "linux-mips@linux-mips.org" , "pebolle@tiscali.nl" , "Zhang, Dongxing" , "lauraa@codeaurora.org" , "d.kasatkin@samsung.com" , "heiko.carstens@de.ibm.com" , "linux-kernel@vger.kernel.org" , "ralf@linux-mips.org" , "chris@chris-wilson.co.uk" , "takahiro.akashi@linaro.org" , "linux@horizon.com" , "xen-devel@lists.xenproject.org" , "boris.ostrovsky@oracle.com" , "Liu, Chuansheng" , "akpm@linux-foundation.org" Subject: RE: [Xen-devel] [PATCH] modify the IO_TLB_SEGSIZE to io_tlb_segsize configurable as flexible requirement about SW-IOMMU. Thread-Topic: [Xen-devel] [PATCH] modify the IO_TLB_SEGSIZE to io_tlb_segsize configurable as flexible requirement about SW-IOMMU. Thread-Index: AQHQQRJJKhpis9DUDUadJ41Llkm2a5zh7MKAgADSw2CABmUHgIACAXdQgABJ+ICAAMPnAA== Date: Thu, 12 Feb 2015 00:55:48 +0000 Message-ID: References: <1423177274-22118-1-git-send-email-xiaoming.wang@intel.com> <20150205193241.GC11646@x230.dumpdata.com> <54D9D363.5060904@citrix.com> <20150211204841.GB30585@l.oracle.com> In-Reply-To: <20150211204841.GB30585@l.oracle.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4922 Lines: 111 Dear Wilk: > -----Original Message----- > From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com] > Sent: Thursday, February 12, 2015 4:49 AM > To: Wang, Xiaoming > Cc: David Vrabel; linux-mips@linux-mips.org; pebolle@tiscali.nl; Zhang, > Dongxing; lauraa@codeaurora.org; d.kasatkin@samsung.com; > heiko.carstens@de.ibm.com; linux-kernel@vger.kernel.org; ralf@linux- > mips.org; chris@chris-wilson.co.uk; takahiro.akashi@linaro.org; > linux@horizon.com; xen-devel@lists.xenproject.org; > boris.ostrovsky@oracle.com; Liu, Chuansheng; akpm@linux-foundation.org > Subject: Re: [Xen-devel] [PATCH] modify the IO_TLB_SEGSIZE to > io_tlb_segsize configurable as flexible requirement about SW-IOMMU. > > On Wed, Feb 11, 2015 at 08:38:29AM +0000, Wang, Xiaoming wrote: > > Dear David > > > > > -----Original Message----- > > > From: David Vrabel [mailto:david.vrabel@citrix.com] > > > Sent: Tuesday, February 10, 2015 5:46 PM > > > To: Wang, Xiaoming; Konrad Rzeszutek Wilk > > > Cc: linux-mips@linux-mips.org; pebolle@tiscali.nl; Zhang, Dongxing; > > > lauraa@codeaurora.org; d.kasatkin@samsung.com; > > > heiko.carstens@de.ibm.com; linux-kernel@vger.kernel.org; ralf@linux- > > > mips.org; chris@chris-wilson.co.uk; takahiro.akashi@linaro.org; > > > david.vrabel@citrix.com; linux@horizon.com; xen- > > > devel@lists.xenproject.org; boris.ostrovsky@oracle.com; Liu, > > > Chuansheng; akpm@linux-foundation.org > > > Subject: Re: [Xen-devel] [PATCH] modify the IO_TLB_SEGSIZE to > > > io_tlb_segsize configurable as flexible requirement about SW-IOMMU. > > > > > > On 06/02/15 00:10, Wang, Xiaoming wrote: > > > > > > > > > > > >> -----Original Message----- > > > >> From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com] > > > >> Sent: Friday, February 6, 2015 3:33 AM > > > >> To: Wang, Xiaoming > > > >> Cc: ralf@linux-mips.org; boris.ostrovsky@oracle.com; > > > >> david.vrabel@citrix.com; linux-mips@linux-mips.org; linux- > > > >> kernel@vger.kernel.org; xen-devel@lists.xenproject.org; > > > >> akpm@linux- foundation.org; linux@horizon.com; > > > >> lauraa@codeaurora.org; heiko.carstens@de.ibm.com; > > > >> d.kasatkin@samsung.com; takahiro.akashi@linaro.org; > > > >> chris@chris-wilson.co.uk; pebolle@tiscali.nl; Liu, Chuansheng; > > > >> Zhang, Dongxing > > > >> Subject: Re: [PATCH] modify the IO_TLB_SEGSIZE to io_tlb_segsize > > > >> configurable as flexible requirement about SW-IOMMU. > > > >> > > > >> On Fri, Feb 06, 2015 at 07:01:14AM +0800, xiaomin1 wrote: > > > >>> The maximum of SW-IOMMU is limited to 2^11*128 = 256K. > > > >>> While in different platform and different requirements this > > > >>> seems > > > improper. > > > >>> So modify the IO_TLB_SEGSIZE to io_tlb_segsize as configurable > > > >>> is make > > > >> sense. > > > >> > > > >> More details please. What is the issue you are hitting? > > > >> > > > > Example: > > > > If 1M bytes are requied. There has an error like. > > > > > > Instead of allowing the bouncing of such large buffers, could the > > > gadget driver be modified to submit the buffers to the hardware in > smaller chunks? > > > > > > David > > > > Our target is try to make IO_TLB_SEGSIZE configurable. > > Neither 256 bytes or 1M bytes seems suitable value, I think. > > It's better to use the tactics something like kmem_cache_create in > > kmalloc function. > > But SW-IOMMU seems more lighter. > > So we choose variable rather than function. > > Would it be possible to understand why the gadget needs such large buffer? > That is irrespective of the patchset you are proposing. > > In regards to the pathchset - I don't see anything fundamentally wrong with > the patch. What I am afraid is that this fixes the symptoms instead of the > underlaying problem. The problem I think is that with this large 1MB requests > you risk of using the SWIOTLB bounce buffer which can result in poor > performance. > > So eventually somebody will have to figure out why the performance is poor > and have a hard time figuring what is wrong - as the symptoms have been > removed. > > Hence looking at potentially using an scatter gather mechanism and chop up > the requests in smaller sizes might be an better option. But I don't know? > Perhaps you are more familiar with the gadget and could tell me why it needs > an 1MB size request? > > The 1M size is requested when doing flash fastboot in system/core/fastbootd/commands/flash.c defined by Google. I listed a partial code from flash.c here. #define BUFFER_SIZE 1024 * 1024 int current_size = MIN(size - written, BUFFER_SIZE); (gpt_mmap(&input, written + skip, current_size, data_fd)) mapping->size = ALIGN(size + location_diff, PAGE_SIZE); > > > > Xiaoming. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/