Re: [PATCH] mm: change size_t to unsigned int for cma_alloc
From: David Hildenbrand <hidden>
Date: 2021-03-30 15:05:55
Also in:
lkml
On 30.03.21 17:00, Minchan Kim wrote:
On Tue, Mar 30, 2021 at 09:58:37AM +0200, David Hildenbrand wrote:quoted
On 29.03.21 22:12, Minchan Kim wrote:quoted
On Mon, Mar 29, 2021 at 07:44:31PM +0100, Matthew Wilcox wrote:quoted
On Mon, Mar 29, 2021 at 11:25:53AM -0700, Minchan Kim wrote:quoted
size_t in cma_alloc is confusing since it makes people think it's byte count, not pages. Fix it.i think it has to be unsigned long. 67a2e213e7e937c41c52ab5bc46bf3f4de469f6eRight. Fortunately, we don't have such large allocations yet via CMA/alloc_contig_rangequoted
Thanks for the pinter. I wanted to have the smallest change. The commit leads me to change cma_release, trace_cma_alloc, cma_clear_bitmap and front_contig_range as well.(Not sure we have more. Will check). Ccing david@redhat.com for upcoming changing free_contig_range.While at it, we might want to convert free_contig_range() to eat "unsigned long start, unsigned long end" like alloc_contig_range(), instead of "unsigned long pfn, unsigned int nr_pages" like alloc_contig_pages() ...Well, I personllay tempted to change alloc_contig_range, not free_contig_range because base_pfn with nr_pages was more straightforward than base_pfn and end_pfn in that we don't need to tell whether end_pfn is inclusive or exclusive.
That's right.
When I look at callers of [alloc|free]_contig_range, many of them already have used nr_pages based approach rather than start_pfn, end_pfn. If your suggestion come from that "it's *range* API",
Right you are, teaching alloc_contig_range() to eat "nr_pages" might actually be even better and more consistent.
I'd like to rename it with "alloc_contig_pages|free_contig_pages".
alloc_contig_pages is just a wrapper for alloc_contig_range(), so free_contig_range() is a better fit; OTOH, having both would also somehow make sense.
Since it's beyond the goal of this patch and might be controversial, I will not deal with it in this patch.
Sure, but feel free to send a patch to make that consistent. It's been bugging me already (having to always remember if to pass in nr_pages or end). -- Thanks, David / dhildenb