Re: [PATCH v2 0/4] Change the return value for page isolation functions

From: David Hildenbrand
Date: Tue Feb 14 2023 - 12:53:43 EST


On 14.02.23 14:59, Baolin Wang wrote:
Now the page isolation functions did not return a boolean to indicate
success or not, instead it will return a negative error when failed
to isolate a page. So below code used in most places seem a boolean
success/failure thing, which can confuse people whether the isolation
is successful.

if (folio_isolate_lru(folio))
continue;

Moreover the page isolation functions only return 0 or -EBUSY, and
most users did not care about the negative error except for few users,
thus we can convert all page isolation functions to return a boolean
value, which can remove the confusion to make code more clear.

No functional changes intended in this patch series.

Changes from v1:
- Convert all isolation functions to return bool.

Acked-by: David Hildenbrand <david@xxxxxxxxxx>

Although it's controversial if

if (!ret)
ret = -EBUSY;
else
ret = 0;

is really appealing to the readers eye :)

ret = ret ? 0 : -EBUSY;

It's still confusing.

would be better as

ret = isolated ? 0 : -EBUSY;

IOW, not reusing the "int ret" variable.

--
Thanks,

David / dhildenb