Re: [PATCH 2/5] mm/resource: move HMM pr_debug() deeper into resource code
From: Dave Hansen
Date: Fri Jan 25 2019 - 16:24:46 EST
On 1/25/19 1:18 PM, Bjorn Helgaas wrote:
> On Thu, Jan 24, 2019 at 5:21 PM Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> wrote:
>> diff -puN kernel/resource.c~move-request_region-check kernel/resource.c
>> --- a/kernel/resource.c~move-request_region-check 2019-01-24 15:13:14.453199539 -0800
>> +++ b/kernel/resource.c 2019-01-24 15:13:14.458199539 -0800
>> @@ -1123,6 +1123,16 @@ struct resource * __request_region(struc
>> conflict = __request_resource(parent, res);
>> if (!conflict)
>> break;
>> + /*
>> + * mm/hmm.c reserves physical addresses which then
>> + * become unavailable to other users. Conflicts are
>> + * not expected. Be verbose if one is encountered.
>> + */
>> + if (conflict->desc == IORES_DESC_DEVICE_PRIVATE_MEMORY) {
>> + pr_debug("Resource conflict with unaddressable "
>> + "device memory at %#010llx !\n",
>> + (unsigned long long)start);
>
> I don't object to the change, but are you really OK with this being a
> pr_debug() message that is only emitted when enabled via either the
> dynamic debug mechanism or DEBUG being defined? From the comments, it
> seems more like a KERN_INFO sort of message.
I left it consistent with the original message that was in the code.
I'm happy to change it, though, if the consumers of it (Jerome,
basically) want something different.
> Also, maybe the message would be more useful if it included the
> conflicting resource as well as the region you're requesting? Many of
> the other callers of request_resource_conflict() have something like
> this:
>
> dev_err(dev, "resource collision: %pR conflicts with %s %pR\n",
> new, conflict->name, conflict);
Seems sane. I was just trying to change as little as possible.