On Mon, 2015-03-23 at 19:19 -0400, Sowmini Varadhan wrote: > What I've tried to do is to have a bool large_pool arg passed > to iommu_tbl_pool_init. In my observation (instrumented for scsi, ixgbe), > we never allocate more than 4 pages at a time, so I pass in > large_pool == false for all the sparc platforms.
But that might not be necessary. If indeed we very rarely use the large pool, then just make it flush always. My feeling is that it will only ever be used at driver init/remove time when allocating things like descriptor rings, where the flush overhead dont' matter. > > Or we can decide that large allocs are rare (typically > > pci_alloc_consistent, ie, driver init time), and thus always flush on > > them (or rather on free of a large chunk). David, what's your take > > there ? I have a feeling that should work fine without a noticeable > > performance issue... > > > > I would also keep a "dirty" flag set on any free and cleared on any > > flush to avoid more spurrious flushes, but here too the benefit might be > > in the noise. Ben. _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev