search for: cfq_data

Displaying 5 results from an estimated 5 matches for "cfq_data".

2008 Nov 12
15
[PATCH][RFC][12+2][v3] A expanded CFQ scheduler for cgroups
...subsystem for cgroups based on CFQ (called 2 layer CFQ). The idea of 2 layer CFQ is to build fairness control per group on the top of existing CFQ control. We added a new data structure called CFQ driver data on the top of cfqd in order to control I/O bandwidth for cgroups. CFQ driver data control cfq_datas by service tree (rb-tree) and CFQ algorithm when synchronous I/O. An active cfqd controls queue for cfq by service tree. Namely, the CFQ meta-data control traditional CFQ data. the CFQ data runs conventionally. cfqdd cfqdd (cfqmd = cfq driver data) | | cf...
2008 Nov 12
15
[PATCH][RFC][12+2][v3] A expanded CFQ scheduler for cgroups
...subsystem for cgroups based on CFQ (called 2 layer CFQ). The idea of 2 layer CFQ is to build fairness control per group on the top of existing CFQ control. We added a new data structure called CFQ driver data on the top of cfqd in order to control I/O bandwidth for cgroups. CFQ driver data control cfq_datas by service tree (rb-tree) and CFQ algorithm when synchronous I/O. An active cfqd controls queue for cfq by service tree. Namely, the CFQ meta-data control traditional CFQ data. the CFQ data runs conventionally. cfqdd cfqdd (cfqmd = cfq driver data) | | cf...
2008 Nov 07
0
[PATCH][cfq-cgroups] Introduce ioprio class for top layer.
...diff --git a/block/cfq-cgroup.c b/block/cfq-cgroup.c index bb8cb6f..993a3b6 100644 --- a/block/cfq-cgroup.c +++ b/block/cfq-cgroup.c @@ -20,11 +20,24 @@ static const int cfq_cgroup_slice = HZ / 10; +/* + * offset from end of service tree + */ +#define CFQ_CGROUP_IDLE_DELAY (HZ / 5) + +#define cfq_data_class_idle(cfqd) \ + ((cfqd)->ioprio_class == IOPRIO_CLASS_IDLE) +#define cfq_data_class_rt(cfqd) \ + ((cfqd)->ioprio_class == IOPRIO_CLASS_RT) + + + static struct cfq_ops cfq_cgroup_op; struct cfq_cgroup { struct cgroup_subsys_state css; unsigned int ioprio; + unsigned short...
2008 Nov 07
0
[PATCH][cfq-cgroups] Introduce ioprio class for top layer.
...diff --git a/block/cfq-cgroup.c b/block/cfq-cgroup.c index bb8cb6f..993a3b6 100644 --- a/block/cfq-cgroup.c +++ b/block/cfq-cgroup.c @@ -20,11 +20,24 @@ static const int cfq_cgroup_slice = HZ / 10; +/* + * offset from end of service tree + */ +#define CFQ_CGROUP_IDLE_DELAY (HZ / 5) + +#define cfq_data_class_idle(cfqd) \ + ((cfqd)->ioprio_class == IOPRIO_CLASS_IDLE) +#define cfq_data_class_rt(cfqd) \ + ((cfqd)->ioprio_class == IOPRIO_CLASS_RT) + + + static struct cfq_ops cfq_cgroup_op; struct cfq_cgroup { struct cgroup_subsys_state css; unsigned int ioprio; + unsigned short...
2008 Oct 31
0
[PATCH][cfq-cgroups] Interface for parameter of cfq driver data
...err; + char *p = (char *) page; + unsigned long new_var; + + err = strict_strtoul(p, 10, &new_var); + if (err) + count = 0; + + *var = new_var; + + return count; +} + +#define SHOW_FUNCTION2(__FUNC, __VAR, __CONV) \ +static ssize_t __FUNC(elevator_t *e, char *page) \ +{ \ + struct cfq_data *cfqd = e->elevator_data; \ + struct cfq_driver_data *cfqdd = cfqd->cfqdd; \ + unsigned int __data = __VAR; \ + if (__CONV) \ + __data = jiffies_to_msecs(__data); \ + return cfq_cgroup_var_show2(__data, (page)); \ +} +SHOW_FUNCTION2(cfq_cgroup_slice_cgroup_show, cfqdd->c...