RE: [PATCH] iommu/io-pgtable-arm: Optimize partial walk flush for large scatter-gather list

From: Krishna Reddy
Date: Thu Jun 17 2021 - 17:18:40 EST


> Instead of flush_ops in init_context hook, perhaps a io_pgtable quirk since this is
> related to tlb, probably a bad name but IO_PGTABLE_QUIRK_TLB_INV which will
> be set in init_context impl hook and the prev condition in
> io_pgtable_tlb_flush_walk()
> becomes something like below. Seems very minimal and neat instead of poking
> into tlb_flush_walk functions or touching dma strict with some flag?
>
> if (iop->cfg.quirks & IO_PGTABLE_QUIRK_NON_STRICT ||
> iop->cfg.quirks & IO_PGTABLE_QUIRK_TLB_INV) {
> iop->cfg.tlb->tlb_flush_all(iop->cookie);
> return;
> }

Can you name it as IO_PGTABLE_QUIRK_TLB_INV_ASID or IO_PGTABLE_QUIRK_TLB_INV_ALL_ASID?

-KR