Re: [PATCH -next v4] mm/hotplug: silence a lockdep splat with printk()

From: David Hildenbrand
Date: Fri Jan 17 2020 - 09:44:10 EST


On 17.01.20 15:42, Michal Hocko wrote:
> On Fri 17-01-20 07:40:15, Qian Cai wrote:
>>
>>
>>> On Jan 17, 2020, at 3:51 AM, David Hildenbrand <david@xxxxxxxxxx> wrote:
>>>
>>> -> you are accessing the pageblock without the zone lock. It could
>>> change to "isolate" again in the meantime if I am not wrong!
>>
>> Since we are just dumping the state for debugging, it should be fine
>> to accept a bit inaccuracy here due to racing. I could put a bit
>> comments over there.
>
> Sorry, I could have been more specific. The race I was talking about is
> not about accuracy. The current code is racy in that sense already
> because you are looking at a struct page you do not own so its state can
> change at any time. Please note that the zone->lock doesn't really

The pageblock state cannot change with the zone->lock. That's what I was
referring to here. (this specific check)

> prevent from the state transition because that applies only to free
> pages and those are obviously OK. So this is not really different.


--
Thanks,

David / dhildenb