Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

memcg: remove __mod_lruvec_kmem_state

__mod_lruvec_kmem_state() is already safe against irqs, so there is no
need to have a separate interface (i.e. mod_lruvec_kmem_state) which
wraps calls to it with irq disabling and reenabling. Let's rename
__mod_lruvec_kmem_state() to mod_lruvec_kmem_state().

Link: https://lkml.kernel.org/r/20251110232008.1352063-3-shakeel.butt@linux.dev
Signed-off-by: Shakeel Butt <shakeel.butt@linux.dev>
Reviewed-by: Harry Yoo <harry.yoo@oracle.com>
Reviewed-by: Qi Zheng <zhengqi.arch@bytedance.com>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Michal Hocko <mhocko@kernel.org>
Cc: Muchun Song <muchun.song@linux.dev>
Cc: Roman Gushchin <roman.gushchin@linux.dev>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

authored by

Shakeel Butt and committed by
Andrew Morton
469241fe 7e44d00a

+7 -25
+5 -23
include/linux/memcontrol.h
··· 957 957 void mem_cgroup_flush_stats(struct mem_cgroup *memcg); 958 958 void mem_cgroup_flush_stats_ratelimited(struct mem_cgroup *memcg); 959 959 960 - void __mod_lruvec_kmem_state(void *p, enum node_stat_item idx, int val); 961 - 962 - static inline void mod_lruvec_kmem_state(void *p, enum node_stat_item idx, 963 - int val) 964 - { 965 - unsigned long flags; 966 - 967 - local_irq_save(flags); 968 - __mod_lruvec_kmem_state(p, idx, val); 969 - local_irq_restore(flags); 970 - } 960 + void mod_lruvec_kmem_state(void *p, enum node_stat_item idx, int val); 971 961 972 962 void count_memcg_events(struct mem_cgroup *memcg, enum vm_event_item idx, 973 963 unsigned long count); ··· 1393 1403 { 1394 1404 } 1395 1405 1396 - static inline void __mod_lruvec_kmem_state(void *p, enum node_stat_item idx, 1397 - int val) 1398 - { 1399 - struct page *page = virt_to_head_page(p); 1400 - 1401 - mod_node_page_state(page_pgdat(page), idx, val); 1402 - } 1403 - 1404 1406 static inline void mod_lruvec_kmem_state(void *p, enum node_stat_item idx, 1405 1407 int val) 1406 1408 { ··· 1452 1470 #endif 1453 1471 } __aligned(8); 1454 1472 1455 - static inline void __inc_lruvec_kmem_state(void *p, enum node_stat_item idx) 1473 + static inline void inc_lruvec_kmem_state(void *p, enum node_stat_item idx) 1456 1474 { 1457 - __mod_lruvec_kmem_state(p, idx, 1); 1475 + mod_lruvec_kmem_state(p, idx, 1); 1458 1476 } 1459 1477 1460 - static inline void __dec_lruvec_kmem_state(void *p, enum node_stat_item idx) 1478 + static inline void dec_lruvec_kmem_state(void *p, enum node_stat_item idx) 1461 1479 { 1462 - __mod_lruvec_kmem_state(p, idx, -1); 1480 + mod_lruvec_kmem_state(p, idx, -1); 1463 1481 } 1464 1482 1465 1483 static inline struct lruvec *parent_lruvec(struct lruvec *lruvec)
+1 -1
mm/memcontrol.c
··· 799 799 } 800 800 EXPORT_SYMBOL(__lruvec_stat_mod_folio); 801 801 802 - void __mod_lruvec_kmem_state(void *p, enum node_stat_item idx, int val) 802 + void mod_lruvec_kmem_state(void *p, enum node_stat_item idx, int val) 803 803 { 804 804 pg_data_t *pgdat = page_pgdat(virt_to_page(p)); 805 805 struct mem_cgroup *memcg;
+1 -1
mm/workingset.c
··· 749 749 if (WARN_ON_ONCE(node->count != node->nr_values)) 750 750 goto out_invalid; 751 751 xa_delete_node(node, workingset_update_node); 752 - __inc_lruvec_kmem_state(node, WORKINGSET_NODERECLAIM); 752 + inc_lruvec_kmem_state(node, WORKINGSET_NODERECLAIM); 753 753 754 754 out_invalid: 755 755 xa_unlock_irq(&mapping->i_pages);