linux.kernel - 25 new messages in 16 topics - digest
linux.kernel
http://groups.google.com/group/linux.kernel?hl=en
Today's topics:
* memcg: dirty pages accounting and limiting infrastructure - 4 messages, 2
authors
http://groups.google.com/group/linux.kernel/t/98b8f3d66410be44?hl=en
* Performance regression in scsi sequential throughput (iozone) due to "e084b -
page-allocator: preserve PFN ordering when __GFP_COLD is set" - 5 messages, 2
authors
http://groups.google.com/group/linux.kernel/t/0f198fe3053e9f98?hl=en
* oprofile fixes and updates for v2.6.34 - 1 messages, 1 author
http://groups.google.com/group/linux.kernel/t/3c4aa0b7c68280d0?hl=en
* i2c: convert i2c-isch to platform_device - 2 messages, 1 author
http://groups.google.com/group/linux.kernel/t/3076c00a1ad323ba?hl=en
* BUG: spinlock lockup on task_rq_lock in 2.6.33 - 1 messages, 1 author
http://groups.google.com/group/linux.kernel/t/d3689fc14b36b1fd?hl=en
* DRM: fix headers_check warnings - 1 messages, 1 author
http://groups.google.com/group/linux.kernel/t/c53b139a13dbbbc7?hl=en
* Oops while booting 2.6.34-rc0 (block pull busted) - 1 messages, 1 author
http://groups.google.com/group/linux.kernel/t/f7420e106a3c28db?hl=en
* KVM PMU virtualization - 1 messages, 1 author
http://groups.google.com/group/linux.kernel/t/593f7e979d3be17f?hl=en
* PROBLEM: Wrong bitrate when capturing sound from Creative webcam - 1
messages, 1 author
http://groups.google.com/group/linux.kernel/t/eba07aa7189d33dc?hl=en
* KVM usability - 1 messages, 1 author
http://groups.google.com/group/linux.kernel/t/bec5668195210bc5?hl=en
* [PATCH]Support MCP89 and GT21x hdmi audio - 2 messages, 2 authors
http://groups.google.com/group/linux.kernel/t/16c949f2d92ac0a6?hl=en
* perf_events: add sampling period randomization support - 1 messages, 1
author
http://groups.google.com/group/linux.kernel/t/54108222cc877582?hl=en
* GFS2: Pull request - 1 messages, 1 author
http://groups.google.com/group/linux.kernel/t/c2674585ab12e5af?hl=en
* ACPI, APEI, PCIE AER, use general HEST table parsing in AER firmware_first
setup - 1 messages, 1 author
http://groups.google.com/group/linux.kernel/t/7603bbf89a910ed1?hl=en
* [patch] should use scheduler sync hint in tcp_prequeue()? - 1 messages, 1
author
http://groups.google.com/group/linux.kernel/t/e8dcdc3429ff4045?hl=en
* [PATCH -next] scsi: RAID_ATTRS depends on SCSI - 1 messages, 1 author
http://groups.google.com/group/linux.kernel/t/71c7bcb275f3e323?hl=en
==============================================================================
TOPIC: memcg: dirty pages accounting and limiting infrastructure
http://groups.google.com/group/linux.kernel/t/98b8f3d66410be44?hl=en
==============================================================================
== 1 of 4 ==
Date: Tues, Mar 2 2010 2:10 am
From: "Kirill A. Shutemov"
On Mon, Mar 1, 2010 at 11:23 PM, Andrea Righi <arighi@develer.com> wrote:
> Infrastructure to account dirty pages per cgroup and add dirty limit
> interfaces in the cgroupfs:
>
> - Direct write-out: memory.dirty_ratio, memory.dirty_bytes
>
> - Background write-out: memory.dirty_background_ratio, memory.dirty_background_bytes
>
> Signed-off-by: Andrea Righi <arighi@develer.com>
> ---
> include/linux/memcontrol.h | 77 ++++++++++-
> mm/memcontrol.c | 336 ++++++++++++++++++++++++++++++++++++++++----
> 2 files changed, 384 insertions(+), 29 deletions(-)
>
> diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h
> index 1f9b119..cc88b2e 100644
> --- a/include/linux/memcontrol.h
> +++ b/include/linux/memcontrol.h
> @@ -19,12 +19,50 @@
>
> #ifndef _LINUX_MEMCONTROL_H
> #define _LINUX_MEMCONTROL_H
> +
> +#include <linux/writeback.h>
> #include <linux/cgroup.h>
> +
> struct mem_cgroup;
> struct page_cgroup;
> struct page;
> struct mm_struct;
>
> +/* Cgroup memory statistics items exported to the kernel */
> +enum mem_cgroup_page_stat_item {
> + MEMCG_NR_DIRTYABLE_PAGES,
> + MEMCG_NR_RECLAIM_PAGES,
> + MEMCG_NR_WRITEBACK,
> + MEMCG_NR_DIRTY_WRITEBACK_PAGES,
> +};
> +
> +/*
> + * Statistics for memory cgroup.
> + */
> +enum mem_cgroup_stat_index {
> + /*
> + * For MEM_CONTAINER_TYPE_ALL, usage = pagecache + rss.
> + */
> + MEM_CGROUP_STAT_CACHE, /* # of pages charged as cache */
> + MEM_CGROUP_STAT_RSS, /* # of pages charged as anon rss */
> + MEM_CGROUP_STAT_FILE_MAPPED, /* # of pages charged as file rss */
> + MEM_CGROUP_STAT_PGPGIN_COUNT, /* # of pages paged in */
> + MEM_CGROUP_STAT_PGPGOUT_COUNT, /* # of pages paged out */
> + MEM_CGROUP_STAT_EVENTS, /* sum of pagein + pageout for internal use */
> + MEM_CGROUP_STAT_SWAPOUT, /* # of pages, swapped out */
> + MEM_CGROUP_STAT_SOFTLIMIT, /* decrements on each page in/out.
> + used by soft limit implementation */
> + MEM_CGROUP_STAT_THRESHOLDS, /* decrements on each page in/out.
> + used by threshold implementation */
> + MEM_CGROUP_STAT_FILE_DIRTY, /* # of dirty pages in page cache */
> + MEM_CGROUP_STAT_WRITEBACK, /* # of pages under writeback */
> + MEM_CGROUP_STAT_WRITEBACK_TEMP, /* # of pages under writeback using
> + temporary buffers */
> + MEM_CGROUP_STAT_UNSTABLE_NFS, /* # of NFS unstable pages */
> +
> + MEM_CGROUP_STAT_NSTATS,
> +};
> +
> #ifdef CONFIG_CGROUP_MEM_RES_CTLR
> /*
> * All "charge" functions with gfp_mask should use GFP_KERNEL or
> @@ -117,6 +155,13 @@ extern void mem_cgroup_print_oom_info(struct mem_cgroup *memcg,
> extern int do_swap_account;
>
0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home