On 12/8/20 7:29 PM, Jason Gunthorpe wrote:
> On Tue, Dec 08, 2020 at 05:29:00PM +0000, Joao Martins wrote:
>
>> static void __ib_umem_release(struct ib_device *dev, struct ib_umem *umem,
>> int dirty)
>> {
>> + bool make_dirty = umem->writable && dirty;
>> + struct page **page_list = NULL;
>> struct sg_page_iter sg_iter;
>> + unsigned long nr = 0;
>> struct page *page;
>>
>> + page_list = (struct page **) __get_free_page(GFP_KERNEL);
>
> Gah, no, don't do it like this!
>
> Instead something like:
>
> for_each_sg(umem->sg_head.sgl, sg, umem->nmap, i)
> unpin_use_pages_range_dirty_lock(sg_page(sg),
> sg->length/PAGE_SIZE,
> umem->writable && dirty);
>
> And have the mm implementation split the contiguous range of pages into
> pairs of (compound head, ntails) with a bit of maths.
>
Got it :)
I was trying to avoid another exported symbol.
Albeit upon your suggestion below, it doesn't justify the efficiency/clearness
lost.
Joao
_______________________________________________
Linux-nvdimm mailing list -- [email protected]
To unsubscribe send an email to [email protected]
- Re: [PATCH RFC 6/9] mm/gup: Gr... Joao Martins
- [PATCH RFC 7/9] mm/gup: Decrement head page once for gro... Joao Martins
- Re: [PATCH RFC 7/9] mm/gup: Decrement head page onc... John Hubbard
- Re: [PATCH RFC 7/9] mm/gup: Decrement head page onc... Joao Martins
- Re: [PATCH RFC 7/9] mm/gup: Decrement head page onc... Joao Martins
- Re: [PATCH RFC 7/9] mm/gup: Decrement head page... Joao Martins
- Re: [PATCH RFC 7/9] mm/gup: Decrement head page... John Hubbard
- Re: [PATCH RFC 7/9] mm/gup: Decrement head ... Joao Martins
- [PATCH RFC 8/9] RDMA/umem: batch page unpin in __ib_mem_... Joao Martins
- Re: [PATCH RFC 8/9] RDMA/umem: batch page unpin in ... John Hubbard
- Re: [PATCH RFC 8/9] RDMA/umem: batch page unpin in ... Joao Martins
- Re: [PATCH RFC 8/9] RDMA/umem: batch page unpin... Joao Martins
- [PATCH RFC 9/9] mm: Add follow_devmap_page() for devdax ... Joao Martins
- Re: [PATCH RFC 9/9] mm: Add follow_devmap_page() fo... John Hubbard
- Re: [PATCH RFC 9/9] mm: Add follow_devmap_page() fo... Christoph Hellwig
- Re: [PATCH RFC 9/9] mm: Add follow_devmap_page() fo... Joao Martins
- [PATCH RFC 1/9] memremap: add ZONE_DEVICE support for co... Joao Martins
- Re: [PATCH RFC 1/9] memremap: add ZONE_DEVICE suppo... John Hubbard
- Re: [PATCH RFC 1/9] memremap: add ZONE_DEVICE s... Matthew Wilcox
- Re: [PATCH RFC 1/9] memremap: add ZONE_DEVI... Joao Martins
- Re: [PATCH RFC 1/9] memremap: add ZONE_DEVICE s... Dan Williams
