On 30.03.21 17:00, Minchan Kim wrote:
On Tue, Mar 30, 2021 at 09:58:37AM +0200, David Hildenbrand wrote:
On 29.03.21 22:12, Minchan Kim wrote:
On Mon, Mar 29, 2021 at 07:44:31PM +0100, Matthew Wilcox wrote:
On Mon, Mar 29, 2021 at 11:25:53AM -0700, Minchan Kim wrote:
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.
67a2e213e7e937c41c52ab5bc46bf3f4de469f6e
Right.
Fortunately, we don't have such large allocations yet via
CMA/alloc_contig_range
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@xxxxxxxxxx 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