On Wed, Feb 11, 2015 at 08:38:29AM +0000, Wang, Xiaoming wrote: > Dear David > > > -----Original Message----- > > From: David Vrabel [mailto:david.vrabel@xxxxxxxxxx] > > Sent: Tuesday, February 10, 2015 5:46 PM > > To: Wang, Xiaoming; Konrad Rzeszutek Wilk > > Cc: linux-mips@xxxxxxxxxxxxxx; pebolle@xxxxxxxxxx; Zhang, Dongxing; > > lauraa@xxxxxxxxxxxxxx; d.kasatkin@xxxxxxxxxxx; > > heiko.carstens@xxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; ralf@linux- > > mips.org; chris@xxxxxxxxxxxxxxxxxx; takahiro.akashi@xxxxxxxxxx; > > david.vrabel@xxxxxxxxxx; linux@xxxxxxxxxxx; xen- > > devel@xxxxxxxxxxxxxxxxxxxx; boris.ostrovsky@xxxxxxxxxx; Liu, Chuansheng; > > akpm@xxxxxxxxxxxxxxxxxxxx > > 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@xxxxxxxxxx] > > >> Sent: Friday, February 6, 2015 3:33 AM > > >> To: Wang, Xiaoming > > >> Cc: ralf@xxxxxxxxxxxxxx; boris.ostrovsky@xxxxxxxxxx; > > >> david.vrabel@xxxxxxxxxx; linux-mips@xxxxxxxxxxxxxx; linux- > > >> kernel@xxxxxxxxxxxxxxx; xen-devel@xxxxxxxxxxxxxxxxxxxx; akpm@linux- > > >> foundation.org; linux@xxxxxxxxxxx; lauraa@xxxxxxxxxxxxxx; > > >> heiko.carstens@xxxxxxxxxx; d.kasatkin@xxxxxxxxxxx; > > >> takahiro.akashi@xxxxxxxxxx; chris@xxxxxxxxxxxxxxxxxx; > > >> pebolle@xxxxxxxxxx; 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? > > Xiaoming.