Re: [PATCH v5 2/2] dax/kmem: allow kmem to add memory with memmap_on_memory

From: Huang, Ying
Date: Tue Oct 17 2023 - 01:21:06 EST


"Verma, Vishal L" <vishal.l.verma@xxxxxxxxx> writes:

> On Thu, 2023-10-05 at 14:16 -0700, Dan Williams wrote:
>> Vishal Verma wrote:
>> >
> <..>
>
>> > +
>> > + rc = kstrtobool(buf, &val);
>> > + if (rc)
>> > + return rc;
>>
>> Perhaps:
>>
>> if (dev_dax->memmap_on_memory == val)
>> return len;
>>
>> ...and skip the check below when it is going to be a nop
>>
>> > +
>> > + device_lock(dax_region->dev);
>> > + if (!dax_region->dev->driver) {
>>
>> Is the polarity backwards here? I.e. if the device is already attached to
>> the kmem driver it is too late to modify memmap_on_memory policy.
>
> Hm this sounded logical until I tried it. After a reconfigure-device to
> devdax (i.e. detach kmem), I get the -EBUSY if I invert this check.

Can you try to unbind the device via sysfs by hand and retry?

--
Best Regards,
Huang, Ying

>>
>> > + device_unlock(dax_region->dev);
>> > + return -ENXIO;
>>

[snip]