~ [ 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-3.10.108)


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

~ [ 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