~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/linux/vmpressure.h

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /include/linux/vmpressure.h (Version linux-6.11.5) and /include/linux/vmpressure.h (Version linux-5.0.21)


  1 /* SPDX-License-Identifier: GPL-2.0 */              1 /* SPDX-License-Identifier: GPL-2.0 */
  2 #ifndef __LINUX_VMPRESSURE_H                        2 #ifndef __LINUX_VMPRESSURE_H
  3 #define __LINUX_VMPRESSURE_H                        3 #define __LINUX_VMPRESSURE_H
  4                                                     4 
  5 #include <linux/mutex.h>                            5 #include <linux/mutex.h>
  6 #include <linux/list.h>                             6 #include <linux/list.h>
  7 #include <linux/workqueue.h>                        7 #include <linux/workqueue.h>
  8 #include <linux/gfp.h>                              8 #include <linux/gfp.h>
  9 #include <linux/types.h>                            9 #include <linux/types.h>
 10 #include <linux/cgroup.h>                          10 #include <linux/cgroup.h>
 11 #include <linux/eventfd.h>                         11 #include <linux/eventfd.h>
 12                                                    12 
 13 struct vmpressure {                                13 struct vmpressure {
 14         unsigned long scanned;                     14         unsigned long scanned;
 15         unsigned long reclaimed;                   15         unsigned long reclaimed;
 16                                                    16 
 17         unsigned long tree_scanned;                17         unsigned long tree_scanned;
 18         unsigned long tree_reclaimed;              18         unsigned long tree_reclaimed;
 19         /* The lock is used to keep the scanne     19         /* The lock is used to keep the scanned/reclaimed above in sync. */
 20         spinlock_t sr_lock;                    !!  20         struct spinlock sr_lock;
 21                                                    21 
 22         /* The list of vmpressure_event struct     22         /* The list of vmpressure_event structs. */
 23         struct list_head events;                   23         struct list_head events;
 24         /* Have to grab the lock on events tra     24         /* Have to grab the lock on events traversal or modifications. */
 25         struct mutex events_lock;                  25         struct mutex events_lock;
 26                                                    26 
 27         struct work_struct work;                   27         struct work_struct work;
 28 };                                                 28 };
 29                                                    29 
 30 struct mem_cgroup;                                 30 struct mem_cgroup;
 31                                                    31 
 32 #ifdef CONFIG_MEMCG                                32 #ifdef CONFIG_MEMCG
 33 extern void vmpressure(gfp_t gfp, struct mem_c     33 extern void vmpressure(gfp_t gfp, struct mem_cgroup *memcg, bool tree,
 34                        unsigned long scanned,      34                        unsigned long scanned, unsigned long reclaimed);
 35 extern void vmpressure_prio(gfp_t gfp, struct      35 extern void vmpressure_prio(gfp_t gfp, struct mem_cgroup *memcg, int prio);
 36                                                    36 
 37 extern void vmpressure_init(struct vmpressure      37 extern void vmpressure_init(struct vmpressure *vmpr);
 38 extern void vmpressure_cleanup(struct vmpressu     38 extern void vmpressure_cleanup(struct vmpressure *vmpr);
 39 extern struct vmpressure *memcg_to_vmpressure(     39 extern struct vmpressure *memcg_to_vmpressure(struct mem_cgroup *memcg);
 40 extern struct mem_cgroup *vmpressure_to_memcg( !!  40 extern struct cgroup_subsys_state *vmpressure_to_css(struct vmpressure *vmpr);
 41 extern int vmpressure_register_event(struct me     41 extern int vmpressure_register_event(struct mem_cgroup *memcg,
 42                                      struct ev     42                                      struct eventfd_ctx *eventfd,
 43                                      const cha     43                                      const char *args);
 44 extern void vmpressure_unregister_event(struct     44 extern void vmpressure_unregister_event(struct mem_cgroup *memcg,
 45                                         struct     45                                         struct eventfd_ctx *eventfd);
 46 #else                                              46 #else
 47 static inline void vmpressure(gfp_t gfp, struc     47 static inline void vmpressure(gfp_t gfp, struct mem_cgroup *memcg, bool tree,
 48                               unsigned long sc     48                               unsigned long scanned, unsigned long reclaimed) {}
 49 static inline void vmpressure_prio(gfp_t gfp,      49 static inline void vmpressure_prio(gfp_t gfp, struct mem_cgroup *memcg,
 50                                    int prio) {     50                                    int prio) {}
 51 #endif /* CONFIG_MEMCG */                          51 #endif /* CONFIG_MEMCG */
 52 #endif /* __LINUX_VMPRESSURE_H */                  52 #endif /* __LINUX_VMPRESSURE_H */
 53                                                    53 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php