mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-23 08:35:19 -05:00
mm: zswap: function ordering: public lru api
The zswap entry section sits awkwardly in the middle of LRU-related functions. Group the external LRU API functions first. Link: https://lkml.kernel.org/r/20240130014208.565554-15-hannes@cmpxchg.org Signed-off-by: Johannes Weiner <hannes@cmpxchg.org> Reviewed-by: Nhat Pham <nphamcs@gmail.com> Cc: Chengming Zhou <zhouchengming@bytedance.com> Cc: Yosry Ahmed <yosryahmed@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
abca07c04a
commit
506a86c5e2
1 changed files with 19 additions and 17 deletions
36
mm/zswap.c
36
mm/zswap.c
|
@ -746,6 +746,10 @@ static int zswap_enabled_param_set(const char *val,
|
|||
return ret;
|
||||
}
|
||||
|
||||
/*********************************
|
||||
* lru functions
|
||||
**********************************/
|
||||
|
||||
/* should be called under RCU */
|
||||
#ifdef CONFIG_MEMCG
|
||||
static inline struct mem_cgroup *mem_cgroup_from_entry(struct zswap_entry *entry)
|
||||
|
@ -764,6 +768,21 @@ static inline int entry_to_nid(struct zswap_entry *entry)
|
|||
return page_to_nid(virt_to_page(entry));
|
||||
}
|
||||
|
||||
void zswap_lruvec_state_init(struct lruvec *lruvec)
|
||||
{
|
||||
atomic_long_set(&lruvec->zswap_lruvec_state.nr_zswap_protected, 0);
|
||||
}
|
||||
|
||||
void zswap_folio_swapin(struct folio *folio)
|
||||
{
|
||||
struct lruvec *lruvec;
|
||||
|
||||
if (folio) {
|
||||
lruvec = folio_lruvec(folio);
|
||||
atomic_long_inc(&lruvec->zswap_lruvec_state.nr_zswap_protected);
|
||||
}
|
||||
}
|
||||
|
||||
void zswap_memcg_offline_cleanup(struct mem_cgroup *memcg)
|
||||
{
|
||||
struct zswap_pool *pool;
|
||||
|
@ -798,23 +817,6 @@ static void zswap_entry_cache_free(struct zswap_entry *entry)
|
|||
kmem_cache_free(zswap_entry_cache, entry);
|
||||
}
|
||||
|
||||
/*********************************
|
||||
* zswap lruvec functions
|
||||
**********************************/
|
||||
void zswap_lruvec_state_init(struct lruvec *lruvec)
|
||||
{
|
||||
atomic_long_set(&lruvec->zswap_lruvec_state.nr_zswap_protected, 0);
|
||||
}
|
||||
|
||||
void zswap_folio_swapin(struct folio *folio)
|
||||
{
|
||||
struct lruvec *lruvec;
|
||||
|
||||
VM_WARN_ON_ONCE(!folio_test_locked(folio));
|
||||
lruvec = folio_lruvec(folio);
|
||||
atomic_long_inc(&lruvec->zswap_lruvec_state.nr_zswap_protected);
|
||||
}
|
||||
|
||||
/*********************************
|
||||
* lru functions
|
||||
**********************************/
|
||||
|
|
Loading…
Add table
Reference in a new issue