Message ID | 1560421215-10750-1-git-send-email-yoshihiro.shimoda.uh@renesas.com (mailing list archive) |
---|---|
Headers | show |
Series | treewide: improve R-Car SDHI performance | expand |
On Thu, Jun 13, 2019 at 07:20:10PM +0900, Yoshihiro Shimoda wrote: > This patch series is based on iommu.git / next branch. > > Since SDHI host internal DMAC of the R-Car Gen3 cannot handle two or > more segments, the performance rate (especially, eMMC HS400 reading) > is not good. However, if IOMMU is enabled on the DMAC, since IOMMU will > map multiple scatter gather buffers as one contignous iova, the DMAC can > handle the iova as well and then the performance rate is possible to > improve. In fact, I have measured the performance by using bonnie++, > "Sequential Input - block" rate was improved on r8a7795. > > To achieve this, this patch series modifies IOMMU and Block subsystem > at first. Since I'd like to get any feedback from each subsystem whether > this way is acceptable for upstream, I submit it to treewide with RFC. > > Changes from v5: > - Almost all patches are new code. > - [4/5 for MMC] This is a refactor patch so that I don't add any > {Tested,Reviewed}-by tags. > - [5/5 for MMC] Modify MMC subsystem to use bigger segments instead of > the renesas_sdhi driver. > - [5/5 for MMC] Use BLK_MAX_SEGMENTS (128) instead of local value > SDHI_MAX_SEGS_IN_IOMMU (512). Even if we use BLK_MAX_SEGMENTS, > the performance is still good. Thanks for your hard work, Shimoda-san! I may not be the biggest DMA, IOMMU, and block layer expert, but I really like how this simplifies the SDHI driver and enhances the MMC core. So, I'll add my two cents to the patches although I can't really comment on the main functionality.