__isolate_lru_page: change code style
Subsystems (3)
PATCH 1/1 __isolate_lru_page: change code style
As Andrew said:
"
it wouldn't be a good and maintainable change -
one point in using enumerations such as ISOLATE_* is to hide their real values. Adding code which implicitly "knows" that a particular enumerated identifier has a particular underlying value is rather grubby and fragile.
It's also a bit fragile to assume that a true/false-returning C function (PageActive) will always return 0 or 1. It's a common C idiom for such functions to return 0 or non-zero (not necessarily 1).
So a clean and maintainable implementation of
if (mode != ISOLATE_BOTH && (!PageActive(page) != !mode))
return ret;would be
if (mode != ISOLATE_BOTH &&
((PageActive(page) && mode == ISOLATE_ACTIVE) ||
(!PageActive(page) && mode ==
ISOLATE_INACTIVE)))
return ret;"
I changed my "skip unneeded 'not' patch" following his idea.
Signed-off-by Bob Liu <[email protected]>
--- mm/vmscan.c | 9 +++------ 1 files changed, 3 insertions(+), 6 deletions(-)
mm/vmscan.c +3 -6
@@ -862,12 +862,9 @@ int __isolate_lru_page(struct page *page, int mode, int file)if (!PageLRU (page))return ret; -/* -* When checking the active state, we need to be sure we are -* dealing with comparible boolean values. Take the logical not -* of each. -*/ -if (mode !=ISOLATE_BOTH && (!PageActive (page) != !mode)) +if (mode !=ISOLATE_BOTH && + ((PageActive (page) && mode ==ISOLATE_ACTIVE ) || + (!PageActive (page) && mode ==ISOLATE_INACTIVE )))return ret;if (mode !=ISOLATE_BOTH &&page_is_file_cache (page) != file)
Signature · 7 lines
1.5.6.3 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"[email protected]"> [email protected] </a>