mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-12-29 09:16:33 +00:00
mm: workingset: define macro WORKINGSET_SHIFT
The magic number 1 is used in several places in workingset.c. Define a macro WORKINGSET_SHIFT for it to improve code readability. Link: https://lkml.kernel.org/r/20210624122307.1759342-1-linmiaohe@huawei.com Signed-off-by: Miaohe Lin <linmiaohe@huawei.com> Cc: Johannes Weiner <hannes@cmpxchg.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
764c04a9cb
commit
3ebc57f403
@ -168,8 +168,10 @@
|
||||
* refault distance will immediately activate the refaulting page.
|
||||
*/
|
||||
|
||||
#define WORKINGSET_SHIFT 1
|
||||
#define EVICTION_SHIFT ((BITS_PER_LONG - BITS_PER_XA_VALUE) + \
|
||||
1 + NODES_SHIFT + MEM_CGROUP_ID_SHIFT)
|
||||
WORKINGSET_SHIFT + NODES_SHIFT + \
|
||||
MEM_CGROUP_ID_SHIFT)
|
||||
#define EVICTION_MASK (~0UL >> EVICTION_SHIFT)
|
||||
|
||||
/*
|
||||
@ -189,7 +191,7 @@ static void *pack_shadow(int memcgid, pg_data_t *pgdat, unsigned long eviction,
|
||||
eviction &= EVICTION_MASK;
|
||||
eviction = (eviction << MEM_CGROUP_ID_SHIFT) | memcgid;
|
||||
eviction = (eviction << NODES_SHIFT) | pgdat->node_id;
|
||||
eviction = (eviction << 1) | workingset;
|
||||
eviction = (eviction << WORKINGSET_SHIFT) | workingset;
|
||||
|
||||
return xa_mk_value(eviction);
|
||||
}
|
||||
@ -201,8 +203,8 @@ static void unpack_shadow(void *shadow, int *memcgidp, pg_data_t **pgdat,
|
||||
int memcgid, nid;
|
||||
bool workingset;
|
||||
|
||||
workingset = entry & 1;
|
||||
entry >>= 1;
|
||||
workingset = entry & ((1UL << WORKINGSET_SHIFT) - 1);
|
||||
entry >>= WORKINGSET_SHIFT;
|
||||
nid = entry & ((1UL << NODES_SHIFT) - 1);
|
||||
entry >>= NODES_SHIFT;
|
||||
memcgid = entry & ((1UL << MEM_CGROUP_ID_SHIFT) - 1);
|
||||
|
Loading…
Reference in New Issue
Block a user