[PATCH v2 1/7] kernel/resource: make release_mem_region_adjustable() never fail

David Hildenbrand
2020-09-15T09:15:53Z

On 15.09.20 11:06, Wei Yang wrote:
> On Tue, Sep 15, 2020 at 09:35:30AM +0200, David Hildenbrand wrote:
>>
>>>> static int __ref try_remove_memory(int nid, u64 start, u64
size)
>>>> {
>>>> 	int rc = 0;
>>>> @@ -1777,7 +1757,7 @@ static int __ref try_remove_memory(int
nid, u64 start, u64 size)
>>>> 		memblock_remove(start, size);
>>>> 	}
>>>>
>>>> -	__release_memory_resource(start, size);
>>>> +	release_mem_region_adjustable(&iomem_resource, start,
size);
>>>>
>>>
>>> Seems the only user of release_mem_region_adjustable() is here, can
we move
>>> iomem_resource into the function body? Actually, we don't
iterate the resource
>>> tree from any level. We always start from the root.
>>
>> You mean, making iomem_resource implicit? I can spot that something
>> similar was done for
>>
>> #define devm_release_mem_region(dev, start, n) \
>> 	__devm_release_region(dev, &iomem_resource, (start), (n))
>>
>
> What I prefer is remove iomem_resource from the parameter list. Just use is
in
> the function body.
>
> For the example you listed, __release_region() would have varies of
*parent*,
> which looks reasonable to keep it here.

Yeah I got that ("making iomem_resource implicit"), as I said:

>> I'll send an addon patch for that, ok? - thanks.

--
Thanks,

David / dhildenb