Message ID | cover.1537458163.git.robin.murphy@arm.com (mailing list archive) |
---|---|
Headers | show |
Series | Add non-strict mode support for iommu-dma | expand |
On 20/09/2018 17:10, Robin Murphy wrote: > Hi all, > > Hopefully this is the last spin of the series - I've now dropped my light > touch and fixed up all the various prose text, plus implemented the proper > quirk support for short-descriptor because it's actually just a trivial > cut-and-paste job. > > Robin. > Hi Robin, JFYI, I'm trying to test this patchset to get some figures and provide a tested-by tag, but 4/8 seems to rely on "iommu/io-pgtable-arm: Fix race handling in split_blk_unmap()" - more specifically, it seems to rely on the version which Will rewrote in your patch review, and I am not sure on what branch it exists on, if any. Thanks, John > > Robin Murphy (2): > iommu/io-pgtable-arm-v7s: Add support for non-strict mode > iommu/arm-smmu: Support non-strict mode > > Zhen Lei (5): > iommu/arm-smmu-v3: Implement flush_iotlb_all hook > iommu/dma: Add support for non-strict mode > iommu: Add "iommu.strict" command line option > iommu/io-pgtable-arm: Add support for non-strict mode > iommu/arm-smmu-v3: Add support for non-strict mode > > .../admin-guide/kernel-parameters.txt | 12 +++ > drivers/iommu/arm-smmu-v3.c | 89 +++++++++++++----- > drivers/iommu/arm-smmu.c | 93 +++++++++++++------ > drivers/iommu/dma-iommu.c | 32 ++++++- > drivers/iommu/io-pgtable-arm-v7s.c | 11 ++- > drivers/iommu/io-pgtable-arm.c | 14 ++- > drivers/iommu/io-pgtable.h | 5 + > drivers/iommu/iommu.c | 23 +++++ > include/linux/iommu.h | 1 + > 9 files changed, 225 insertions(+), 55 deletions(-) >
Hi John, On 2018-09-21 10:20 AM, John Garry wrote: > On 20/09/2018 17:10, Robin Murphy wrote: >> Hi all, >> >> Hopefully this is the last spin of the series - I've now dropped my light >> touch and fixed up all the various prose text, plus implemented the >> proper >> quirk support for short-descriptor because it's actually just a trivial >> cut-and-paste job. >> >> Robin. >> > > Hi Robin, > > JFYI, I'm trying to test this patchset to get some figures and provide a > tested-by tag, but 4/8 seems to rely on "iommu/io-pgtable-arm: Fix race > handling in split_blk_unmap()" - more specifically, it seems to rely on > the version which Will rewrote in your patch review, and I am not sure > on what branch it exists on, if any. Sorry, I should have said this is based on Will's iommu/devel branch: https://git.kernel.org/pub/scm/linux/kernel/git/will/linux.git/log/?h=iommu/devel Robin. > > Thanks, > John > >> >> Robin Murphy (2): >> iommu/io-pgtable-arm-v7s: Add support for non-strict mode >> iommu/arm-smmu: Support non-strict mode >> >> Zhen Lei (5): >> iommu/arm-smmu-v3: Implement flush_iotlb_all hook >> iommu/dma: Add support for non-strict mode >> iommu: Add "iommu.strict" command line option >> iommu/io-pgtable-arm: Add support for non-strict mode >> iommu/arm-smmu-v3: Add support for non-strict mode >> >> .../admin-guide/kernel-parameters.txt | 12 +++ >> drivers/iommu/arm-smmu-v3.c | 89 +++++++++++++----- >> drivers/iommu/arm-smmu.c | 93 +++++++++++++------ >> drivers/iommu/dma-iommu.c | 32 ++++++- >> drivers/iommu/io-pgtable-arm-v7s.c | 11 ++- >> drivers/iommu/io-pgtable-arm.c | 14 ++- >> drivers/iommu/io-pgtable.h | 5 + >> drivers/iommu/iommu.c | 23 +++++ >> include/linux/iommu.h | 1 + >> 9 files changed, 225 insertions(+), 55 deletions(-) >> > >
On 21/09/18 10:29, Robin Murphy wrote: > Hi John, > > On 2018-09-21 10:20 AM, John Garry wrote: >> On 20/09/2018 17:10, Robin Murphy wrote: >>> Hi all, >>> >>> Hopefully this is the last spin of the series - I've now dropped my >>> light >>> touch and fixed up all the various prose text, plus implemented the >>> proper >>> quirk support for short-descriptor because it's actually just a trivial >>> cut-and-paste job. >>> >>> Robin. >>> >> >> Hi Robin, >> >> JFYI, I'm trying to test this patchset to get some figures and provide >> a tested-by tag, but 4/8 seems to rely on "iommu/io-pgtable-arm: Fix >> race handling in split_blk_unmap()" - more specifically, it seems to >> rely on the version which Will rewrote in your patch review, and I am >> not sure on what branch it exists on, if any. > > Sorry, I should have said this is based on Will's iommu/devel branch: > > https://git.kernel.org/pub/scm/linux/kernel/git/will/linux.git/log/?h=iommu/devel FWIW I've now pushed out a complete branch here: git://linux-arm.org/linux-rm iommu/non-strict Robin.
On 21/09/2018 12:03, Robin Murphy wrote: > On 21/09/18 10:29, Robin Murphy wrote: >> Hi John, >> >> On 2018-09-21 10:20 AM, John Garry wrote: >>> On 20/09/2018 17:10, Robin Murphy wrote: >>>> Hi all, >>>> >>>> Hopefully this is the last spin of the series - I've now dropped my >>>> light >>>> touch and fixed up all the various prose text, plus implemented the >>>> proper >>>> quirk support for short-descriptor because it's actually just a trivial >>>> cut-and-paste job. >>>> >>>> Robin. >>>> >>> >>> Hi Robin, >>> >>> JFYI, I'm trying to test this patchset to get some figures and >>> provide a tested-by tag, but 4/8 seems to rely on >>> "iommu/io-pgtable-arm: Fix race handling in split_blk_unmap()" - more >>> specifically, it seems to rely on the version which Will rewrote in >>> your patch review, and I am not sure on what branch it exists on, if >>> any. >> >> Sorry, I should have said this is based on Will's iommu/devel branch: >> >> https://git.kernel.org/pub/scm/linux/kernel/git/will/linux.git/log/?h=iommu/devel > > > FWIW I've now pushed out a complete branch here: > > git://linux-arm.org/linux-rm iommu/non-strict > Cheers So for my network test scenario I was getting a boost @ 250K vs 160K packet(s)/second with strict off/on For NVMe single disk performance, I was getting a boost @ 582K vs 370K IOPS with strict off/on. I wasn't seeing such a boost for other storage controller scenario (that's with 6 SSDs), with 776K vs 740K IOPS for strict off/on, but SMMU off was ~800K IOPS. FWIW: Tested-by: John Garry <john.garry@huawei.com> Thanks, John > > Robin. > > . >
On Thu, Sep 20, 2018 at 05:10:20PM +0100, Robin Murphy wrote: > Hopefully this is the last spin of the series - I've now dropped my light > touch and fixed up all the various prose text, plus implemented the proper > quirk support for short-descriptor because it's actually just a trivial > cut-and-paste job. Did you manage to clarify how the lifetime of the domain/flush queue interacts with the periodic timer after the cookie has been freed? Will
On 28/09/18 14:36, Will Deacon wrote: > On Thu, Sep 20, 2018 at 05:10:20PM +0100, Robin Murphy wrote: >> Hopefully this is the last spin of the series - I've now dropped my light >> touch and fixed up all the various prose text, plus implemented the proper >> quirk support for short-descriptor because it's actually just a trivial >> cut-and-paste job. > > Did you manage to clarify how the lifetime of the domain/flush queue interacts > with the periodic timer after the cookie has been freed? Oh, yes - it turned out to be wrapped up in put_iova_domain() already (see free_iova_flush_queue()), so all looks good in that regard. Robin.