Skip to contentSkip to conversation

VM throttling: Add vm.dirty_limit_ratio to sysctl

PATCH In review Tomoki Sekiyama 1 participant 1 message Mar 14, 2007

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/3 VM throttling: Add vm.dirty_limit_ratio to sysctl

This patch adds sysctl variable vm.dirty_limit_ratio.

---
 include/linux/sysctl.h    |    1 +
 include/linux/writeback.h |    1 +
 kernel/sysctl.c           |   11 +++++++++++
 mm/page-writeback.c       |    5 +++++
 4 files changed, 18 insertions(+)
include/linux/sysctl.h +1 -0
Index: linux-2.6.21-rc3-mm2/include/linux/sysctl.h
===================================================================
@@ -208,6 +208,7 @@ enum
 	VM_VDSO_ENABLED=34,	/* map VDSO into new processes? */
 	VM_MIN_SLAB=35,		 /* Percent pages ignored by zone reclaim */
 	VM_HUGETLB_TREAT_MOVABLE=36, /* Allocate hugepages from ZONE_MOVABLE */
+	VM_DIRTY_LIMIT_RATIO=37,/* dirty_limit_ratio */
 
 	/* s390 vm cmm sysctls */
 	VM_CMM_PAGES=1111,
include/linux/writeback.h +1 -0
Index: linux-2.6.21-rc3-mm2/include/linux/writeback.h
===================================================================
@@ -95,6 +95,7 @@ static inline int laptop_spinned_down(vo
 /* These are exported to sysctl. */
 extern int dirty_background_ratio;
 extern int vm_dirty_ratio;
+extern int dirty_limit_ratio;
 extern int dirty_writeback_interval;
 extern int dirty_expire_interval;
 extern int block_dump;
kernel/sysctl.c +11 -0
Index: linux-2.6.21-rc3-mm2/kernel/sysctl.c
===================================================================
@@ -684,6 +684,17 @@ static ctl_table vm_table[] = {
 		.extra2		= &one_hundred,
 	},
 	{
+		.ctl_name	= VM_DIRTY_LIMIT_RATIO,
+		.procname	= "dirty_limit_ratio",
+		.data		= &dirty_limit_ratio,
+		.maxlen		= sizeof(dirty_limit_ratio),
+		.mode		= 0644,
+		.proc_handler	= &proc_dointvec_minmax,
+		.strategy	= &sysctl_intvec,
+		.extra1		= &zero,
+		.extra2		= &one_hundred,
+	},
+	{
 		.ctl_name	= VM_DIRTY_WB_CS,
 		.procname	= "dirty_writeback_centisecs",
 		.data		= &dirty_writeback_interval,
mm/page-writeback.c +5 -0
Index: linux-2.6.21-rc3-mm2/mm/page-writeback.c
===================================================================
@@ -75,6 +75,11 @@ int dirty_background_ratio = 10;
 int vm_dirty_ratio = 40;
 
 /*
+ * The generator of dirty data is blocked at this percentage
+ */
+int dirty_limit_ratio = 45;
+
+/*
  * The interval between `kupdate'-style writebacks, in jiffies
  */
 int dirty_writeback_interval = 5 * HZ;