Re: [RFC] iommu: Use put_pages_list

From: Robin Murphy
Date: Thu Oct 14 2021 - 12:17:31 EST


On 2021-10-14 12:52, John Garry wrote:
On 14/10/2021 12:20, Matthew Wilcox wrote:
I'm going to keep pinging this patch weekly.

On Thu, Oct 07, 2021 at 07:17:02PM +0100, Matthew Wilcox wrote:
ping?

Robin, Were you checking this? You mentioned "I got
side-tracked trying to make io-pgtable use that freelist properly" in another thread, which seems related.

Ooh, thanks for the heads-up John - I'm still only just starting to catch up on my mailing list folders since I got back off holiday.

Indeed I already started untangling the freelist handling in the flush queue code (to make the move into iommu-dma smaller). Once I'd figured out how it worked I did wonder whether there was any more "standard" field to borrow, since page->freelist did seem very much in the minority. If page->lru is it then great! From a quick skim of the patch I think I'd only have a few trivial review comments to make - certainly no objection to the fundamental change itself (indeed I hit a point in io-pgtable-arm where adding to the pointer chain got rather awkward, so having proper lists to splice would be lovely).

Matthew - is this something getting in the way of mm development, or just a nice cleanup? I'd be happy either to pursue merging it on its own, or to pick it up and work it into a series with my stuff.

Cheers,
Robin.


Thanks,
John


On Thu, Sep 30, 2021 at 05:20:42PM +0100, Matthew Wilcox (Oracle) wrote:
page->freelist is for the use of slab.  We already have the ability
to free a list of pages in the core mm, but it requires the use of a
list_head and for the pages to be chained together through page->lru.
Switch the iommu code over to using free_pages_list().

Signed-off-by: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx>
---
  drivers/iommu/amd/io_pgtable.c | 99 +++++++++++++++-------------------
  drivers/iommu/dma-iommu.c      | 11 +---
  drivers/iommu/intel/iommu.c    | 89 +++++++++++-------------------
  include/linux/iommu.h          |  3 +-
  4 files changed, 77 insertions(+), 125 deletions(-)

_______________________________________________
iommu mailing list
iommu@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linuxfoundation.org/mailman/listinfo/iommu