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

From: Baolin Wang
Date: Tue Feb 14 2023 - 20:22:17 EST




On 2/15/2023 1:52 AM, David Hildenbrand wrote:
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>

Thanks.


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.

Yes, pretty clear. Will do in next version.