struct memcg_batch_info { int do_batch; /* incremented when batch uncharge started */ struct mem_cgroup *memcg; /* target memcg of uncharge */ unsigned long bytes; /* uncharged usage */ unsigned long memsw_bytes; /* uncharged mem+swap usage */ } memcg_batch; #endif (...
structmemcg_batch_info { intdo_batch;/* incremented when batch uncharge started */ structmem_cgroup *memcg;/* target memcg of uncharge */ unsignedlongbytes;/* uncharged usage */ unsignedlongmemsw_bytes;/* uncharged mem+swap usage */ } memcg_batch; #endif (38)、futex同步机制 #ifdef CO...
struct memcg_batch_info { int do_batch; /* incremented when batch uncharge started */ struct mem_cgroup *memcg; /* target memcg of uncharge */ unsigned long bytes; /* uncharged usage */ unsigned long memsw_bytes; /* uncharged mem+swap usage */ } memcg_batch; #endif (37)、futex同...
1670 int do_batch; /* incremented when batch uncharge started */ 1671 struct mem_cgroup *memcg; /* target memcg of uncharge */ 1672 unsigned long nr_pages; /* uncharged usage */ 1673 unsigned long memsw_nr_pages; /* uncharged mem+swap usage */ 1674 } memcg_batch; 1675 unsigned i...
struct mem_cgroup *memcg; /* target memcg of uncharge */ unsigned long bytes; /* uncharged usage */ unsigned long memsw_bytes; /* uncharged mem+swap usage */ } memcg_batch; #endif (37)、futex同步机制 #ifdef CONFIG_FUTEX struct robust_list_head __user *robust_list; ...
struct mem_cgroup *memcg; /* target memcg of uncharge */ unsigned long bytes; /* uncharged usage */ unsigned long memsw_bytes; /* uncharged mem+swap usage */ } memcg_batch; #endif (37)、futex同步机制 #ifdef CONFIG_FUTEX struct robust_list_head __user *robust_list; ...
struct mem_cgroup *memcg; /* target memcg of uncharge */ unsigned long bytes; /* uncharged usage */ unsigned long memsw_bytes; /* uncharged mem+swap usage */ } memcg_batch; #endif (37)、futex同步机制 #ifdef CONFIG_FUTEX struct robust_list_head __user *robust_list; ...
struct mem_cgroup *memcg_in_oom; gfp_t memcg_oom_gfp_mask; int memcg_oom_order; /* number of pages to reclaim on returning to userland */ unsigned int memcg_nr_pages_over_high; #endif #ifdef CONFIG_UPROBES struct uprobe_task *utask; ...
struct mem_cgroup *mem_cgroup; #endif /* * On machines where all RAM is mapped into kernel address space, * we can simply calculate the virtual address. On machines with * highmem some memory is mapped into kernel virtual memory * dynamically, so we need a place to store that address....
structmem_cgroup*mem_cgroup; void*virtual;/* Kernel virtual address (NULL if not kmapped, ie. highmem) */ int_last_cpupid; } _struct_page_alignment; page flags标志 enumpageflags{ PG_locked,// 表示页面已经上锁了。如果该比特位置位,说明页面已经被锁定;内存管理其他模块不能访问这个页面,以防发...