All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vivek Goyal <vgoyal@redhat.com>
To: linux-kernel@vger.kernel.org, jens.axboe@oracle.com
Cc: containers@lists.linux-foundation.org, dm-devel@redhat.com,
	nauman@google.com, dpshah@google.com, lizf@cn.fujitsu.com,
	mikew@google.com, fchecconi@gmail.com, paolo.valente@unimore.it,
	ryov@valinux.co.jp, fernando@oss.ntt.co.jp,
	s-uchida@ap.jp.nec.com, taka@valinux.co.jp,
	guijianfeng@cn.fujitsu.com, jmoyer@redhat.com,
	dhaval@linux.vnet.ibm.com, balbir@linux.vnet.ibm.com,
	righi.andrea@gmail.com, m-ikeda@ds.jp.nec.com, agk@redhat.com,
	vgoyal@redhat.com, akpm@linux-foundation.org,
	peterz@infradead.org, jmarchan@redhat.com,
	torvalds@linux-foundation.org, mingo@elte.hu, riel@redhat.com
Subject: [PATCH 02/28] io-controller: Core of the elevator fair queuing
Date: Thu, 24 Sep 2009 15:25:06 -0400	[thread overview]
Message-ID: <1253820332-10246-3-git-send-email-vgoyal@redhat.com> (raw)
In-Reply-To: <1253820332-10246-1-git-send-email-vgoyal@redhat.com>

o This is core of the io scheduler implemented at elevator layer. This is a mix
  of cpu CFS scheduler and CFQ IO scheduler. Some of the bits from CFS have
  to be derived so that we can support hierarchical scheduling. Without
  cgroups or with-in group, we should essentially get same behavior as CFQ.

o This patch only shows non-hierarchical bits. Hierarhical code comes in later
  patches.

o This code is the building base of introducing fair queuing logic in common
  elevator layer so that it can be used by all the four IO schedulers.

Signed-off-by: Fabio Checconi <fabio@gandalf.sssup.it>
Signed-off-by: Paolo Valente <paolo.valente@unimore.it>
Signed-off-by: Nauman Rafique <nauman@google.com>
Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
Acked-by: Rik van Riel <riel@redhat.com>
---
 block/Makefile      |    2 +-
 block/elevator-fq.c |  406 +++++++++++++++++++++++++++++++++++++++++++++++++++
 block/elevator-fq.h |  148 +++++++++++++++++++
 3 files changed, 555 insertions(+), 1 deletions(-)
 create mode 100644 block/elevator-fq.c
 create mode 100644 block/elevator-fq.h

diff --git a/block/Makefile b/block/Makefile
index 6c54ed0..19ff1e8 100644
--- a/block/Makefile
+++ b/block/Makefile
@@ -5,7 +5,7 @@
 obj-$(CONFIG_BLOCK) := elevator.o blk-core.o blk-tag.o blk-sysfs.o \
 			blk-barrier.o blk-settings.o blk-ioc.o blk-map.o \
 			blk-exec.o blk-merge.o blk-softirq.o blk-timeout.o \
-			ioctl.o genhd.o scsi_ioctl.o
+			ioctl.o genhd.o scsi_ioctl.o elevator-fq.o
 
 obj-$(CONFIG_BLK_DEV_BSG)	+= bsg.o
 obj-$(CONFIG_IOSCHED_NOOP)	+= noop-iosched.o
diff --git a/block/elevator-fq.c b/block/elevator-fq.c
new file mode 100644
index 0000000..d98fa42
--- /dev/null
+++ b/block/elevator-fq.c
@@ -0,0 +1,406 @@
+/*
+ * elevator fair queuing Layer.
+ *
+ * Based on ideas and code from CFQ, CFS and BFQ:
+ * Copyright (C) 2003 Jens Axboe <axboe@kernel.dk>
+ *
+ * Copyright (C) 2008 Fabio Checconi <fabio@gandalf.sssup.it>
+ *		      Paolo Valente <paolo.valente@unimore.it>
+ *
+ * Copyright (C) 2009 Vivek Goyal <vgoyal@redhat.com>
+ * 	              Nauman Rafique <nauman@google.com>
+ */
+
+#include <linux/blkdev.h>
+#include "elevator-fq.h"
+
+/*
+ * offset from end of service tree
+ */
+#define ELV_IDLE_DELAY		(HZ / 5)
+#define ELV_SLICE_SCALE		(500)
+#define ELV_SERVICE_SHIFT	20
+
+static inline struct io_queue *ioq_of(struct io_entity *entity)
+{
+	if (entity->my_sd == NULL)
+		return container_of(entity, struct io_queue, entity);
+	return NULL;
+}
+
+static inline int io_entity_class_rt(struct io_entity *entity)
+{
+	return entity->ioprio_class == IOPRIO_CLASS_RT;
+}
+
+static inline int io_entity_class_idle(struct io_entity *entity)
+{
+	return entity->ioprio_class == IOPRIO_CLASS_IDLE;
+}
+
+static inline s64
+entity_key(struct io_service_tree *st, struct io_entity *entity)
+{
+	return entity->vdisktime - st->min_vdisktime;
+}
+
+static inline u64
+elv_delta(u64 service, unsigned int numerator_wt, unsigned int denominator_wt)
+{
+	if (numerator_wt != denominator_wt) {
+		service = service * numerator_wt;
+		do_div(service, denominator_wt);
+	}
+
+	return service;
+}
+
+static inline u64 elv_delta_fair(unsigned long delta, struct io_entity *entity)
+{
+	u64 d = delta << ELV_SERVICE_SHIFT;
+
+	return elv_delta(d, IO_WEIGHT_DEFAULT, entity->weight);
+}
+
+static inline int
+elv_weight_slice(struct elv_fq_data *efqd, int sync, unsigned int weight)
+{
+	const int base_slice = efqd->elv_slice[sync];
+
+	WARN_ON(weight > IO_WEIGHT_MAX);
+
+	return elv_delta(base_slice, weight, IO_WEIGHT_DEFAULT);
+}
+
+static inline int
+elv_prio_to_slice(struct elv_fq_data *efqd, struct io_queue *ioq)
+{
+	return elv_weight_slice(efqd, elv_ioq_sync(ioq), ioq->entity.weight);
+}
+
+static inline u64 max_vdisktime(u64 min_vdisktime, u64 vdisktime)
+{
+	s64 delta = (s64)(vdisktime - min_vdisktime);
+	if (delta > 0)
+		min_vdisktime = vdisktime;
+
+	return min_vdisktime;
+}
+
+static inline u64 min_vdisktime(u64 min_vdisktime, u64 vdisktime)
+{
+	s64 delta = (s64)(vdisktime - min_vdisktime);
+	if (delta < 0)
+		min_vdisktime = vdisktime;
+
+	return min_vdisktime;
+}
+
+static void update_min_vdisktime(struct io_service_tree *st)
+{
+	u64 vdisktime;
+
+	if (st->active_entity)
+		vdisktime = st->active_entity->vdisktime;
+
+	if (st->rb_leftmost) {
+		struct io_entity *entity = rb_entry(st->rb_leftmost,
+						struct io_entity, rb_node);
+
+		if (!st->active_entity)
+			vdisktime = entity->vdisktime;
+		else
+			vdisktime = min_vdisktime(vdisktime, entity->vdisktime);
+	}
+
+	st->min_vdisktime = max_vdisktime(st->min_vdisktime, vdisktime);
+}
+
+static inline struct io_entity *parent_entity(struct io_entity *entity)
+{
+	return entity->parent;
+}
+
+static inline struct io_group *iog_of(struct io_entity *entity)
+{
+	if (entity->my_sd)
+		return container_of(entity, struct io_group, entity);
+	return NULL;
+}
+
+static inline struct elv_fq_data *efqd_of(struct io_entity *entity)
+{
+	return ioq_of(entity)->efqd;
+}
+
+static inline struct io_sched_data *
+io_entity_sched_data(struct io_entity *entity)
+{
+	struct elv_fq_data *efqd = efqd_of(entity);
+
+	return &efqd->root_group->sched_data;
+}
+
+static inline void
+init_io_entity_service_tree(struct io_entity *entity, struct io_entity *parent)
+{
+	struct io_group *parent_iog = iog_of(parent);
+	unsigned short idx = entity->ioprio_class - 1;
+
+	BUG_ON(idx >= IO_IOPRIO_CLASSES);
+
+	entity->st = &parent_iog->sched_data.service_tree[idx];
+}
+
+static void
+entity_served(struct io_entity *entity, unsigned long served,
+		unsigned long queue_charge, unsigned long nr_sectors)
+{
+	entity->vdisktime += elv_delta_fair(queue_charge, entity);
+	update_min_vdisktime(entity->st);
+}
+
+static void place_entity(struct io_service_tree *st, struct io_entity *entity,
+				int add_front)
+{
+	u64 vdisktime = st->min_vdisktime;
+	struct rb_node *parent;
+	struct io_entity *entry;
+	int nr_active = st->nr_active - 1;
+
+	/*
+	 * Currently put entity at the end of last entity. This probably will
+	 * require adjustments as we move along
+	 */
+	if (io_entity_class_idle(entity)) {
+		vdisktime = elv_delta_fair(ELV_IDLE_DELAY, entity);
+		parent = rb_last(&st->active);
+		if (parent) {
+			entry = rb_entry(parent, struct io_entity, rb_node);
+			vdisktime += entry->vdisktime;
+		}
+	} else if (!add_front && nr_active) {
+		parent = rb_last(&st->active);
+		if (parent) {
+			entry = rb_entry(parent, struct io_entity, rb_node);
+			vdisktime = entry->vdisktime;
+		}
+	} else
+		vdisktime = st->min_vdisktime;
+
+	entity->vdisktime = max_vdisktime(st->min_vdisktime, vdisktime);
+}
+
+static inline void io_entity_update_prio(struct io_entity *entity)
+{
+	if (unlikely(entity->ioprio_changed)) {
+		/*
+		 * Re-initialize the service tree as ioprio class of the
+		 * entity might have changed.
+		 */
+		init_io_entity_service_tree(entity, parent_entity(entity));
+		entity->ioprio_changed = 0;
+	}
+}
+
+static void
+__dequeue_io_entity(struct io_service_tree *st, struct io_entity *entity)
+{
+	/*
+	 * This can happen when during put_prev_io_entity, we detect that ioprio
+	 * of the queue has changed and decide to dequeue_entity() and requeue
+	 * back. In this case entity is on service tree but has already been
+	 * removed from rb tree.
+	 */
+	if (RB_EMPTY_NODE(&entity->rb_node))
+		return;
+
+	if (st->rb_leftmost == &entity->rb_node) {
+		struct rb_node *next_node;
+
+		next_node = rb_next(&entity->rb_node);
+		st->rb_leftmost = next_node;
+	}
+
+	rb_erase(&entity->rb_node, &st->active);
+	RB_CLEAR_NODE(&entity->rb_node);
+}
+
+static void dequeue_io_entity(struct io_entity *entity)
+{
+	struct io_service_tree *st = entity->st;
+	struct io_sched_data *sd = io_entity_sched_data(entity);
+
+	__dequeue_io_entity(st, entity);
+	entity->on_st = 0;
+	st->nr_active--;
+	sd->nr_active--;
+}
+
+static void
+__enqueue_io_entity(struct io_service_tree *st, struct io_entity *entity,
+			int add_front)
+{
+	struct rb_node **node = &st->active.rb_node;
+	struct rb_node *parent = NULL;
+	struct io_entity *entry;
+	s64 key = entity_key(st, entity);
+	int leftmost = 1;
+
+	while (*node != NULL) {
+		parent = *node;
+		entry = rb_entry(parent, struct io_entity, rb_node);
+
+		if (key < entity_key(st, entry) ||
+			(add_front && (key == entity_key(st, entry)))) {
+			node = &parent->rb_left;
+		} else {
+			node = &parent->rb_right;
+			leftmost = 0;
+		}
+	}
+
+	/*
+	 * Maintain a cache of leftmost tree entries (it is frequently
+	 * used)
+	 */
+	if (leftmost)
+		st->rb_leftmost = &entity->rb_node;
+
+	rb_link_node(&entity->rb_node, parent, node);
+	rb_insert_color(&entity->rb_node, &st->active);
+}
+
+static void enqueue_io_entity(struct io_entity *entity)
+{
+	struct io_service_tree *st;
+	struct io_sched_data *sd = io_entity_sched_data(entity);
+
+	io_entity_update_prio(entity);
+	st = entity->st;
+	st->nr_active++;
+	sd->nr_active++;
+	entity->on_st = 1;
+	place_entity(st, entity, 0);
+	__enqueue_io_entity(st, entity, 0);
+}
+
+static struct io_entity *__lookup_next_io_entity(struct io_service_tree *st)
+{
+	struct rb_node *left = st->rb_leftmost;
+
+	if (!left)
+		return NULL;
+
+	return rb_entry(left, struct io_entity, rb_node);
+}
+
+static struct io_entity *lookup_next_io_entity(struct io_sched_data *sd)
+{
+	struct io_service_tree *st = sd->service_tree;
+	struct io_entity *entity = NULL;
+	int i;
+
+	BUG_ON(sd->active_entity != NULL);
+
+	if (!sd->nr_active)
+		return NULL;
+
+	for (i = 0; i < IO_IOPRIO_CLASSES; i++, st++) {
+		entity = __lookup_next_io_entity(st);
+		if (entity) {
+			__dequeue_io_entity(st, entity);
+			st->active_entity = entity;
+			sd->active_entity = entity;
+			break;
+		}
+	}
+
+	return entity;
+}
+
+static void requeue_io_entity(struct io_entity *entity, int add_front)
+{
+	struct io_service_tree *st = entity->st;
+	struct io_entity *next_entity;
+
+	if (add_front) {
+		next_entity = __lookup_next_io_entity(st);
+		/*
+		 * This is to emulate cfq like functionality where preemption
+		 * can happen with-in same class, like sync queue preempting
+		 * async queue.
+		 *
+		 * This feature is also used by cfq close cooperator
+		 * functionlity where cfq selects a queue out of order to run
+		 * next based on close cooperator.
+		 */
+		if (next_entity && next_entity == entity)
+			return;
+	}
+
+	__dequeue_io_entity(st, entity);
+	place_entity(st, entity, add_front);
+	__enqueue_io_entity(st, entity, add_front);
+}
+
+/* Requeue and ioq which is already on the tree */
+static void requeue_ioq(struct io_queue *ioq, int add_front)
+{
+	requeue_io_entity(&ioq->entity, add_front);
+}
+
+static void put_prev_io_entity(struct io_entity *entity)
+{
+	struct io_service_tree *st = entity->st;
+	struct io_sched_data *sd = io_entity_sched_data(entity);
+
+	st->active_entity = NULL;
+	sd->active_entity = NULL;
+
+	if (unlikely(entity->ioprio_changed)) {
+		dequeue_io_entity(entity);
+		enqueue_io_entity(entity);
+	} else
+		__enqueue_io_entity(st, entity, 0);
+}
+
+/* Put curr ioq back into rb tree. */
+static void put_prev_ioq(struct io_queue *ioq)
+{
+	struct io_entity *entity = &ioq->entity;
+
+	put_prev_io_entity(entity);
+}
+
+static void dequeue_ioq(struct io_queue *ioq)
+{
+	struct io_entity *entity = &ioq->entity;
+
+	dequeue_io_entity(entity);
+	elv_put_ioq(ioq);
+	return;
+}
+
+/* Put a new queue on to the tree */
+static void enqueue_ioq(struct io_queue *ioq)
+{
+	struct io_entity *entity = &ioq->entity;
+
+	elv_get_ioq(ioq);
+	enqueue_io_entity(entity);
+}
+
+static inline void
+init_io_entity_parent(struct io_entity *entity, struct io_entity *parent)
+{
+	entity->parent = parent;
+	init_io_entity_service_tree(entity, parent);
+}
+
+void elv_put_ioq(struct io_queue *ioq)
+{
+	BUG_ON(atomic_read(&ioq->ref) <= 0);
+	if (!atomic_dec_and_test(&ioq->ref))
+		return;
+}
diff --git a/block/elevator-fq.h b/block/elevator-fq.h
new file mode 100644
index 0000000..868e035
--- /dev/null
+++ b/block/elevator-fq.h
@@ -0,0 +1,148 @@
+/*
+ * elevator fair queuing Layer. Data structures and common functions prototypes.
+ *
+ * Based on ideas and code from CFQ, CFS and BFQ:
+ * Copyright (C) 2003 Jens Axboe <axboe@kernel.dk>
+ *
+ * Copyright (C) 2008 Fabio Checconi <fabio@gandalf.sssup.it>
+ *		      Paolo Valente <paolo.valente@unimore.it>
+ *
+ * Copyright (C) 2009 Vivek Goyal <vgoyal@redhat.com>
+ * 	              Nauman Rafique <nauman@google.com>
+ */
+
+#ifdef CONFIG_BLOCK
+#include <linux/blkdev.h>
+
+#ifndef _ELV_SCHED_H
+#define _ELV_SCHED_H
+
+#define IO_WEIGHT_MIN		100
+#define IO_WEIGHT_MAX		1000
+#define IO_WEIGHT_DEFAULT	500
+#define IO_IOPRIO_CLASSES	3
+
+struct io_service_tree {
+	struct rb_root active;
+	struct io_entity *active_entity;
+	u64 min_vdisktime;
+	struct rb_node *rb_leftmost;
+	unsigned int nr_active;
+};
+
+struct io_sched_data {
+	struct io_entity *active_entity;
+	int nr_active;
+	struct io_service_tree service_tree[IO_IOPRIO_CLASSES];
+};
+
+struct io_entity {
+	struct rb_node rb_node;
+	int on_st;
+	u64 vdisktime;
+	unsigned int weight;
+	struct io_entity *parent;
+
+	struct io_sched_data *my_sd;
+	struct io_service_tree *st;
+
+	unsigned short ioprio, ioprio_class;
+	int ioprio_changed;
+};
+
+/*
+ * A common structure representing the io queue where requests are actually
+ * queued.
+ */
+struct io_queue {
+	struct io_entity entity;
+	atomic_t ref;
+	unsigned int flags;
+
+	/* Pointer to generic elevator fair queuing data structure */
+	struct elv_fq_data *efqd;
+};
+
+struct io_group {
+	struct io_entity entity;
+	struct io_sched_data sched_data;
+};
+
+struct elv_fq_data {
+	struct io_group *root_group;
+
+	/* Base slice length for sync and async queues */
+	unsigned int elv_slice[2];
+};
+
+/* Some shared queue flag manipulation functions among elevators */
+
+enum elv_queue_state_flags {
+	ELV_QUEUE_FLAG_sync,              /* synchronous queue */
+};
+
+#define ELV_IO_QUEUE_FLAG_FNS(name)					\
+static inline void elv_mark_ioq_##name(struct io_queue *ioq)		\
+{                                                                       \
+	(ioq)->flags |= (1 << ELV_QUEUE_FLAG_##name);			\
+}                                                                       \
+static inline void elv_clear_ioq_##name(struct io_queue *ioq)		\
+{                                                                       \
+	(ioq)->flags &= ~(1 << ELV_QUEUE_FLAG_##name);			\
+}                                                                       \
+static inline int elv_ioq_##name(struct io_queue *ioq)         		\
+{                                                                       \
+	return ((ioq)->flags & (1 << ELV_QUEUE_FLAG_##name)) != 0;	\
+}
+
+ELV_IO_QUEUE_FLAG_FNS(sync)
+
+static inline void elv_get_ioq(struct io_queue *ioq)
+{
+	atomic_inc(&ioq->ref);
+}
+
+static inline unsigned int elv_ioprio_to_weight(int ioprio)
+{
+	WARN_ON(ioprio < 0 || ioprio >= IOPRIO_BE_NR);
+	/* Map prio 7 - 0 to weights 200 to 900 */
+	return IO_WEIGHT_DEFAULT + (IO_WEIGHT_DEFAULT/5 * (4 - ioprio));
+}
+
+static inline void elv_ioq_set_ioprio(struct io_queue *ioq, int ioprio)
+{
+	ioq->entity.ioprio = ioprio;
+	ioq->entity.weight = elv_ioprio_to_weight(ioprio);
+	ioq->entity.ioprio_changed = 1;
+}
+
+static inline void elv_ioq_set_ioprio_class(struct io_queue *ioq,
+						int ioprio_class)
+{
+	ioq->entity.ioprio_class = ioprio_class;
+	ioq->entity.ioprio_changed = 1;
+}
+
+static inline int elv_ioq_class_idle(struct io_queue *ioq)
+{
+	return ioq->entity.ioprio_class == IOPRIO_CLASS_IDLE;
+}
+
+static inline int elv_ioq_class_rt(struct io_queue *ioq)
+{
+	return ioq->entity.ioprio_class == IOPRIO_CLASS_RT;
+}
+
+static inline int elv_ioq_ioprio_class(struct io_queue *ioq)
+{
+	return ioq->entity.ioprio_class;
+}
+
+static inline int elv_ioq_ioprio(struct io_queue *ioq)
+{
+	return ioq->entity.ioprio;
+}
+
+extern void elv_put_ioq(struct io_queue *ioq);
+#endif /* _ELV_SCHED_H */
+#endif /* CONFIG_BLOCK */
-- 
1.6.0.6


  parent reply	other threads:[~2009-09-24 19:27 UTC|newest]

Thread overview: 431+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-24 19:25 IO scheduler based IO controller V10 Vivek Goyal
2009-09-24 19:25 ` [PATCH 01/28] io-controller: Documentation Vivek Goyal
2009-09-24 19:25 ` Vivek Goyal [this message]
2009-09-24 19:25 ` [PATCH 03/28] io-controller: Keep a cache of recently expired queues Vivek Goyal
2009-09-24 19:25 ` [PATCH 04/28] io-controller: Common flat fair queuing code in elevaotor layer Vivek Goyal
2009-09-24 19:25 ` [PATCH 05/28] io-controller: Modify cfq to make use of flat elevator fair queuing Vivek Goyal
2009-09-24 19:25 ` [PATCH 06/28] io-controller: Core scheduler changes to support hierarhical scheduling Vivek Goyal
2009-09-24 19:25 ` [PATCH 07/28] io-controller: cgroup related changes for hierarchical group support Vivek Goyal
2009-09-24 19:25 ` [PATCH 08/28] io-controller: Common hierarchical fair queuing code in elevaotor layer Vivek Goyal
2009-09-24 19:25 ` [PATCH 09/28] io-controller: cfq changes to use " Vivek Goyal
2009-09-24 19:25 ` [PATCH 10/28] io-controller: Export disk time used and nr sectors dipatched through cgroups Vivek Goyal
2009-09-24 19:25 ` [PATCH 11/28] io-controller: Debug hierarchical IO scheduling Vivek Goyal
2009-09-24 19:25 ` [PATCH 12/28] io-controller: Introduce group idling Vivek Goyal
2009-09-24 19:25 ` [PATCH 13/28] io-controller: Implement wait busy for io queues Vivek Goyal
2009-09-24 19:25 ` [PATCH 14/28] io-controller: Keep track of late preemptions Vivek Goyal
2009-09-24 19:25 ` [PATCH 15/28] io-controller: Allow CFQ specific extra preemptions Vivek Goyal
2009-09-25  6:24   ` Gui Jianfeng
2009-09-25  6:24     ` Gui Jianfeng
     [not found]   ` <1253820332-10246-16-git-send-email-vgoyal-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-09-25  6:24     ` Gui Jianfeng
2009-09-24 19:25 ` [PATCH 16/28] io-controller: Wait for requests to complete from last queue before new queue is scheduled Vivek Goyal
2009-09-24 19:25 ` [PATCH 17/28] io-controller: Separate out queue and data Vivek Goyal
2009-09-24 19:25 ` [PATCH 18/28] io-conroller: Prepare elevator layer for single queue schedulers Vivek Goyal
2009-09-24 19:25 ` [PATCH 20/28] io-controller: noop changes for hierarchical fair queuing Vivek Goyal
2009-09-24 19:25 ` [PATCH 21/28] io-controller: deadline " Vivek Goyal
2009-09-24 19:25 ` [PATCH 22/28] io-controller: anticipatory " Vivek Goyal
2009-09-24 19:25 ` [PATCH 23/28] io-controller: blkio_cgroup patches from Ryo to track async bios Vivek Goyal
2009-09-24 19:25 ` [PATCH 24/28] io-controller: map async requests to appropriate cgroup Vivek Goyal
     [not found] ` <1253820332-10246-1-git-send-email-vgoyal-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-09-24 19:25   ` [PATCH 01/28] io-controller: Documentation Vivek Goyal
2009-09-24 19:25   ` [PATCH 02/28] io-controller: Core of the elevator fair queuing Vivek Goyal
2009-09-24 19:25   ` [PATCH 03/28] io-controller: Keep a cache of recently expired queues Vivek Goyal
2009-09-24 19:25   ` [PATCH 04/28] io-controller: Common flat fair queuing code in elevaotor layer Vivek Goyal
2009-09-24 19:25   ` [PATCH 05/28] io-controller: Modify cfq to make use of flat elevator fair queuing Vivek Goyal
2009-09-24 19:25   ` [PATCH 06/28] io-controller: Core scheduler changes to support hierarhical scheduling Vivek Goyal
2009-09-24 19:25   ` [PATCH 07/28] io-controller: cgroup related changes for hierarchical group support Vivek Goyal
2009-09-24 19:25   ` [PATCH 08/28] io-controller: Common hierarchical fair queuing code in elevaotor layer Vivek Goyal
2009-09-24 19:25   ` [PATCH 09/28] io-controller: cfq changes to use " Vivek Goyal
2009-09-24 19:25   ` [PATCH 10/28] io-controller: Export disk time used and nr sectors dipatched through cgroups Vivek Goyal
2009-09-24 19:25   ` [PATCH 11/28] io-controller: Debug hierarchical IO scheduling Vivek Goyal
2009-09-24 19:25   ` [PATCH 12/28] io-controller: Introduce group idling Vivek Goyal
2009-09-24 19:25   ` [PATCH 13/28] io-controller: Implement wait busy for io queues Vivek Goyal
2009-09-24 19:25   ` [PATCH 14/28] io-controller: Keep track of late preemptions Vivek Goyal
2009-09-24 19:25   ` [PATCH 15/28] io-controller: Allow CFQ specific extra preemptions Vivek Goyal
2009-09-24 19:25   ` [PATCH 16/28] io-controller: Wait for requests to complete from last queue before new queue is scheduled Vivek Goyal
2009-09-24 19:25   ` [PATCH 17/28] io-controller: Separate out queue and data Vivek Goyal
2009-09-24 19:25   ` [PATCH 18/28] io-conroller: Prepare elevator layer for single queue schedulers Vivek Goyal
2009-09-24 19:25   ` [PATCH 19/28] io-controller: Avoid expiring ioq for single ioq scheduler if only root group Vivek Goyal
2009-09-24 19:25     ` Vivek Goyal
2009-09-24 19:25   ` [PATCH 20/28] io-controller: noop changes for hierarchical fair queuing Vivek Goyal
2009-09-24 19:25   ` [PATCH 21/28] io-controller: deadline " Vivek Goyal
2009-09-24 19:25   ` [PATCH 22/28] io-controller: anticipatory " Vivek Goyal
2009-09-24 19:25   ` [PATCH 23/28] io-controller: blkio_cgroup patches from Ryo to track async bios Vivek Goyal
2009-09-24 19:25   ` [PATCH 24/28] io-controller: map async requests to appropriate cgroup Vivek Goyal
2009-09-24 19:25   ` [PATCH 25/28] io-controller: Per cgroup request descriptor support Vivek Goyal
2009-09-24 19:25   ` [PATCH 26/28] io-controller: Per io group bdi congestion interface Vivek Goyal
2009-09-24 19:25   ` [PATCH 27/28] io-controller: Support per cgroup per device weights and io class Vivek Goyal
2009-09-24 19:25   ` [PATCH 28/28] io-controller: debug elevator fair queuing support Vivek Goyal
2009-09-24 21:33   ` IO scheduler based IO controller V10 Andrew Morton
2009-09-25  2:20   ` Ulrich Lukas
2009-09-29  0:37   ` Nauman Rafique
2009-09-24 19:25 ` [PATCH 25/28] io-controller: Per cgroup request descriptor support Vivek Goyal
2009-09-24 19:25 ` [PATCH 26/28] io-controller: Per io group bdi congestion interface Vivek Goyal
2009-09-24 19:25 ` [PATCH 27/28] io-controller: Support per cgroup per device weights and io class Vivek Goyal
2009-09-24 19:25 ` [PATCH 28/28] io-controller: debug elevator fair queuing support Vivek Goyal
2009-09-24 21:33 ` IO scheduler based IO controller V10 Andrew Morton
2009-09-24 21:33   ` Andrew Morton
2009-09-25  1:09   ` KAMEZAWA Hiroyuki
     [not found]     ` <20090925100952.55c2dd7a.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2009-09-25  1:18       ` KAMEZAWA Hiroyuki
2009-09-25  4:14       ` Vivek Goyal
2009-09-25  1:18     ` KAMEZAWA Hiroyuki
2009-09-25  1:18       ` KAMEZAWA Hiroyuki
2009-09-25  5:29       ` Balbir Singh
2009-09-25  7:09         ` Ryo Tsuruta
2009-09-25  7:09           ` Ryo Tsuruta
     [not found]         ` <20090925052911.GK4590-SINUvgVNF2CyUtPGxGje5AC/G2K4zDHf@public.gmane.org>
2009-09-25  7:09           ` Ryo Tsuruta
     [not found]       ` <20090925101821.1de8091a.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2009-09-25  5:29         ` Balbir Singh
2009-09-25  4:14     ` Vivek Goyal
2009-09-25  4:14       ` Vivek Goyal
2009-09-25  5:04   ` Vivek Goyal
2009-09-25  5:04     ` Vivek Goyal
     [not found]     ` <20090925050429.GB12555-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-09-25  9:07       ` Ryo Tsuruta
2009-09-25  9:07     ` Ryo Tsuruta
2009-09-25  9:07       ` Ryo Tsuruta
2009-09-25 14:33       ` Vivek Goyal
2009-09-25 14:33         ` Vivek Goyal
     [not found]         ` <20090925143337.GA15007-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-09-28  7:30           ` Ryo Tsuruta
2009-09-28  7:30         ` Ryo Tsuruta
     [not found]       ` <20090925.180724.104041942.ryov-jCdQPDEk3idL9jVzuh4AOg@public.gmane.org>
2009-09-25 14:33         ` Vivek Goyal
2009-09-25 15:04         ` Rik van Riel
2009-09-25 15:04       ` Rik van Riel
2009-09-25 15:04         ` Rik van Riel
2009-09-28  7:38         ` Ryo Tsuruta
2009-09-28  7:38           ` Ryo Tsuruta
     [not found]         ` <4ABCDBFF.1020203-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-09-28  7:38           ` Ryo Tsuruta
2009-10-08  4:42   ` More performance numbers (Was: Re: IO scheduler based IO controller V10) Vivek Goyal
2009-10-08  4:42     ` Vivek Goyal
2009-10-08  8:34     ` Andrea Righi
2009-10-08  8:34       ` Andrea Righi
     [not found]     ` <20091008044251.GA3490-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-10-08  8:34       ` Andrea Righi
     [not found]   ` <20090924143315.781cd0ac.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2009-09-25  1:09     ` IO scheduler based IO controller V10 KAMEZAWA Hiroyuki
2009-09-25  5:04     ` Vivek Goyal
2009-10-08  4:42     ` More performance numbers (Was: Re: IO scheduler based IO controller V10) Vivek Goyal
2009-10-10 19:53     ` Performance numbers with IO throttling patches " Vivek Goyal
2009-10-10 19:53   ` Vivek Goyal
2009-10-10 19:53     ` Vivek Goyal
     [not found]     ` <20091010195316.GB16510-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-10-10 22:27       ` Andrea Righi
2009-10-10 22:27     ` Andrea Righi
2009-10-10 22:27       ` Andrea Righi
2009-10-11 12:32       ` Vivek Goyal
2009-10-11 12:32         ` Vivek Goyal
2009-10-12 21:11       ` Vivek Goyal
2009-10-12 21:11         ` Vivek Goyal
2009-10-17 15:18         ` Andrea Righi
     [not found]         ` <20091012211120.GE7152-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-10-17 15:18           ` Andrea Righi
2009-10-12 21:11       ` Vivek Goyal
2009-09-25  2:20 ` IO scheduler based IO controller V10 Ulrich Lukas
     [not found]   ` <4ABC28DE.7050809-7vBoImwI/YtIVYojq0lqJrNAH6kLmebB@public.gmane.org>
2009-09-25 20:26     ` Vivek Goyal
2009-09-25 20:26   ` Vivek Goyal
2009-09-25 20:26     ` Vivek Goyal
2009-09-26 14:51     ` Mike Galbraith
     [not found]       ` <1253976676.7005.40.camel-YqMYhexLQo1vAv1Ojkdn7Q@public.gmane.org>
2009-09-27  6:55         ` Mike Galbraith
2009-09-27  6:55       ` Mike Galbraith
     [not found]         ` <1254034500.7933.6.camel-YqMYhexLQo1vAv1Ojkdn7Q@public.gmane.org>
2009-09-27 16:42           ` Jens Axboe
2009-09-27 16:42         ` Jens Axboe
     [not found]           ` <20090927164235.GA23126-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>
2009-09-27 18:15             ` Mike Galbraith
2009-09-30 19:58             ` Mike Galbraith
2009-09-27 18:15           ` Mike Galbraith
2009-09-28  4:04             ` Mike Galbraith
2009-09-28  5:55               ` Mike Galbraith
2009-09-28 17:48               ` Vivek Goyal
2009-09-28 17:48                 ` Vivek Goyal
2009-09-28 18:24                 ` Mike Galbraith
     [not found]                 ` <20090928174809.GB3643-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-09-28 18:24                   ` Mike Galbraith
     [not found]               ` <1254110648.7683.3.camel-YqMYhexLQo1vAv1Ojkdn7Q@public.gmane.org>
2009-09-28  5:55                 ` Mike Galbraith
2009-09-28 17:48                 ` Vivek Goyal
     [not found]             ` <1254075359.7354.66.camel-YqMYhexLQo1vAv1Ojkdn7Q@public.gmane.org>
2009-09-28  4:04               ` Mike Galbraith
2009-09-30 19:58           ` Mike Galbraith
     [not found]             ` <1254340730.7695.32.camel-YqMYhexLQo1vAv1Ojkdn7Q@public.gmane.org>
2009-09-30 20:05               ` Mike Galbraith
2009-09-30 20:05             ` Mike Galbraith
2009-09-30 20:24               ` Vivek Goyal
2009-09-30 20:24                 ` Vivek Goyal
     [not found]                 ` <20090930202447.GA28236-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-10-01  7:33                   ` Mike Galbraith
2009-10-01  7:33                 ` Mike Galbraith
     [not found]                   ` <1254382405.7595.9.camel-YqMYhexLQo1vAv1Ojkdn7Q@public.gmane.org>
2009-10-01 18:58                     ` Jens Axboe
2009-10-01 18:58                       ` Jens Axboe
2009-10-02  6:23                       ` Mike Galbraith
     [not found]                         ` <1254464628.7158.101.camel-YqMYhexLQo1vAv1Ojkdn7Q@public.gmane.org>
2009-10-02  8:04                           ` Jens Axboe
2009-10-02  8:04                         ` Jens Axboe
2009-10-02  8:04                           ` Jens Axboe
2009-10-02  8:53                           ` Mike Galbraith
     [not found]                             ` <1254473609.6378.24.camel-YqMYhexLQo1vAv1Ojkdn7Q@public.gmane.org>
2009-10-02  9:00                               ` Mike Galbraith
2009-10-02  9:55                               ` Jens Axboe
2009-10-02  9:00                             ` Mike Galbraith
2009-10-02  9:55                             ` Jens Axboe
2009-10-02 12:22                               ` Mike Galbraith
     [not found]                               ` <20091002095555.GB26962-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>
2009-10-02 12:22                                 ` Mike Galbraith
     [not found]                           ` <20091002080417.GG14918-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>
2009-10-02  8:53                             ` Mike Galbraith
2009-10-02  9:24                             ` Ingo Molnar
2009-10-02  9:24                           ` Ingo Molnar
2009-10-02  9:24                             ` Ingo Molnar
2009-10-02  9:28                             ` Jens Axboe
2009-10-02  9:28                               ` Jens Axboe
     [not found]                               ` <20091002092839.GA26962-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>
2009-10-02 14:24                                 ` Linus Torvalds
2009-10-02 14:24                                   ` Linus Torvalds
2009-10-02 14:45                                   ` Mike Galbraith
2009-10-02 14:57                                     ` Jens Axboe
     [not found]                                     ` <1254494742.7307.37.camel-YqMYhexLQo1vAv1Ojkdn7Q@public.gmane.org>
2009-10-02 14:57                                       ` Jens Axboe
2009-10-02 14:56                                   ` Jens Axboe
2009-10-02 14:56                                     ` Jens Axboe
2009-10-02 15:14                                     ` Linus Torvalds
2009-10-02 15:14                                       ` Linus Torvalds
2009-10-02 16:01                                       ` jim owens
2009-10-02 16:01                                         ` jim owens
2009-10-02 17:11                                       ` Jens Axboe
2009-10-02 17:11                                         ` Jens Axboe
2009-10-02 17:20                                         ` Ingo Molnar
2009-10-02 17:20                                           ` Ingo Molnar
2009-10-02 17:25                                           ` Jens Axboe
2009-10-02 17:25                                             ` Jens Axboe
2009-10-02 17:28                                             ` Ingo Molnar
2009-10-02 17:28                                               ` Ingo Molnar
     [not found]                                               ` <20091002172842.GA4884-X9Un+BFzKDI@public.gmane.org>
2009-10-02 17:37                                                 ` Jens Axboe
2009-10-02 17:37                                               ` Jens Axboe
     [not found]                                                 ` <20091002173732.GK31616-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>
2009-10-02 17:56                                                   ` Ingo Molnar
2009-10-02 18:13                                                   ` Mike Galbraith
2009-10-02 17:56                                                 ` Ingo Molnar
2009-10-02 17:56                                                   ` Ingo Molnar
     [not found]                                                   ` <20091002175629.GA14860-X9Un+BFzKDI@public.gmane.org>
2009-10-02 18:04                                                     ` Jens Axboe
2009-10-02 18:04                                                   ` Jens Axboe
     [not found]                                                     ` <20091002180437.GL31616-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>
2009-10-02 18:22                                                       ` Mike Galbraith
2009-10-02 18:36                                                       ` Theodore Tso
2009-10-02 18:22                                                     ` Mike Galbraith
2009-10-02 18:26                                                       ` Jens Axboe
2009-10-02 18:33                                                         ` Mike Galbraith
     [not found]                                                         ` <20091002182608.GO31616-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>
2009-10-02 18:33                                                           ` Mike Galbraith
     [not found]                                                       ` <1254507754.8667.15.camel-YqMYhexLQo1vAv1Ojkdn7Q@public.gmane.org>
2009-10-02 18:26                                                         ` Jens Axboe
2009-10-02 18:36                                                     ` Theodore Tso
2009-10-02 18:45                                                       ` Jens Axboe
2009-10-02 18:45                                                         ` Jens Axboe
2009-10-02 19:01                                                         ` Ingo Molnar
2009-10-02 19:09                                                           ` Jens Axboe
2009-10-02 19:09                                                             ` Jens Axboe
     [not found]                                                           ` <20091002190110.GA25297-X9Un+BFzKDI@public.gmane.org>
2009-10-02 19:09                                                             ` Jens Axboe
     [not found]                                                         ` <20091002184549.GS31616-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>
2009-10-02 19:01                                                           ` Ingo Molnar
     [not found]                                                       ` <20091002183649.GE8161-3s7WtUTddSA@public.gmane.org>
2009-10-02 18:45                                                         ` Jens Axboe
2009-10-02 18:13                                                 ` Mike Galbraith
2009-10-02 18:19                                                   ` Jens Axboe
2009-10-02 18:57                                                     ` Mike Galbraith
2009-10-02 20:47                                                       ` Mike Galbraith
     [not found]                                                       ` <1254509838.8667.30.camel-YqMYhexLQo1vAv1Ojkdn7Q@public.gmane.org>
2009-10-02 20:47                                                         ` Mike Galbraith
2009-10-03  5:48                                                     ` Mike Galbraith
2009-10-03  5:56                                                       ` Mike Galbraith
2009-10-03  6:31                                                         ` tweaking IO latency [was Re: IO scheduler based IO controller V10] Mike Galbraith
2009-10-03  7:24                                                         ` IO scheduler based IO controller V10 Jens Axboe
2009-10-03  9:00                                                           ` Mike Galbraith
2009-10-03  9:12                                                             ` Corrado Zoccolo
2009-10-03  9:12                                                               ` Corrado Zoccolo
     [not found]                                                               ` <4e5e476b0910030212y50f97d97nc2e17c35d855cc63-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-10-03 13:18                                                                 ` Jens Axboe
2009-10-03 13:18                                                               ` Jens Axboe
2009-10-03 13:18                                                                 ` Jens Axboe
     [not found]                                                             ` <1254560434.17052.14.camel-YqMYhexLQo1vAv1Ojkdn7Q@public.gmane.org>
2009-10-03  9:12                                                               ` Corrado Zoccolo
2009-10-03 13:17                                                               ` Jens Axboe
2009-10-03 13:17                                                             ` Jens Axboe
2009-10-03 13:17                                                               ` Jens Axboe
     [not found]                                                           ` <20091003072401.GV31616-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>
2009-10-03  9:00                                                             ` Mike Galbraith
2009-10-03 11:29                                                         ` Vivek Goyal
2009-10-03 11:29                                                           ` Vivek Goyal
     [not found]                                                           ` <20091003112915.GA12925-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-10-03 12:40                                                             ` Do not overload dispatch queue (Was: Re: IO scheduler based IO controller V10) Vivek Goyal
2009-10-03 12:40                                                           ` Vivek Goyal
2009-10-03 12:40                                                             ` Vivek Goyal
2009-10-03 13:21                                                             ` Jens Axboe
     [not found]                                                               ` <20091003132115.GB31616-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>
2009-10-03 13:56                                                                 ` Vivek Goyal
2009-10-03 13:56                                                               ` Vivek Goyal
2009-10-03 13:56                                                                 ` Vivek Goyal
2009-10-03 14:02                                                                 ` Mike Galbraith
     [not found]                                                                   ` <1254578553.7499.5.camel-YqMYhexLQo1vAv1Ojkdn7Q@public.gmane.org>
2009-10-03 14:28                                                                     ` Jens Axboe
2009-10-03 14:28                                                                   ` Jens Axboe
2009-10-03 14:33                                                                     ` Mike Galbraith
2009-10-03 14:33                                                                       ` Mike Galbraith
2009-10-03 14:51                                                                     ` Mike Galbraith
2009-10-03 14:51                                                                       ` Mike Galbraith
     [not found]                                                                       ` <1254581496.8293.8.camel-YqMYhexLQo1vAv1Ojkdn7Q@public.gmane.org>
2009-10-03 15:14                                                                         ` Jens Axboe
2009-10-03 15:14                                                                       ` Jens Axboe
2009-10-03 15:14                                                                         ` Jens Axboe
     [not found]                                                                         ` <20091003151445.GF31616-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>
2009-10-03 15:57                                                                           ` Mike Galbraith
2009-10-03 15:57                                                                             ` Mike Galbraith
2009-10-03 17:35                                                                             ` Jens Axboe
2009-10-03 17:35                                                                               ` Jens Axboe
     [not found]                                                                               ` <20091003173532.GG31616-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>
2009-10-03 17:45                                                                                 ` Linus Torvalds
2009-10-03 17:45                                                                                   ` Linus Torvalds
     [not found]                                                                                   ` <alpine.LFD.2.01.0910031042560.6996-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2009-10-03 17:51                                                                                     ` Jens Axboe
2009-10-03 17:51                                                                                       ` Jens Axboe
2009-10-03 19:07                                                                                 ` Mike Galbraith
2009-10-03 19:07                                                                               ` Mike Galbraith
2009-10-03 19:07                                                                                 ` Mike Galbraith
2009-10-03 19:11                                                                                 ` Mike Galbraith
2009-10-03 19:11                                                                                   ` Mike Galbraith
2009-10-03 19:23                                                                                 ` Jens Axboe
2009-10-03 19:23                                                                                   ` Jens Axboe
2009-10-03 19:49                                                                                   ` Mike Galbraith
2009-10-03 19:49                                                                                     ` Mike Galbraith
2009-10-04 10:50                                                                                     ` Mike Galbraith
2009-10-04 11:33                                                                                       ` Mike Galbraith
     [not found]                                                                                       ` <1254653434.7237.18.camel-YqMYhexLQo1vAv1Ojkdn7Q@public.gmane.org>
2009-10-04 17:39                                                                                         ` Jens Axboe
2009-10-04 17:39                                                                                           ` Jens Axboe
     [not found]                                                                                           ` <20091004173901.GD26573-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>
2009-10-04 18:23                                                                                             ` Mike Galbraith
2009-10-04 18:23                                                                                           ` Mike Galbraith
2009-10-04 18:23                                                                                             ` Mike Galbraith
     [not found]                                                                                             ` <1254680622.27889.2.camel-YqMYhexLQo1vAv1Ojkdn7Q@public.gmane.org>
2009-10-04 18:38                                                                                               ` Jens Axboe
2009-10-04 18:38                                                                                             ` Jens Axboe
2009-10-04 18:38                                                                                               ` Jens Axboe
     [not found]                                                                                               ` <20091004183822.GF26573-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>
2009-10-04 19:47                                                                                                 ` Mike Galbraith
2009-10-04 19:47                                                                                               ` Mike Galbraith
2009-10-04 19:47                                                                                                 ` Mike Galbraith
2009-10-04 20:17                                                                                                 ` Jens Axboe
2009-10-04 20:17                                                                                                   ` Jens Axboe
     [not found]                                                                                                   ` <20091004201708.GJ26573-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>
2009-10-04 22:15                                                                                                     ` Mike Galbraith
2009-10-04 22:15                                                                                                   ` Mike Galbraith
2009-10-04 22:15                                                                                                     ` Mike Galbraith
     [not found]                                                                                                 ` <1254685638.7637.6.camel-YqMYhexLQo1vAv1Ojkdn7Q@public.gmane.org>
2009-10-04 20:17                                                                                                   ` Jens Axboe
     [not found]                                                                                   ` <20091003192321.GA26573-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>
2009-10-03 19:49                                                                                     ` Mike Galbraith
     [not found]                                                                                 ` <1254596864.7153.9.camel-YqMYhexLQo1vAv1Ojkdn7Q@public.gmane.org>
2009-10-03 19:11                                                                                   ` Mike Galbraith
2009-10-03 19:23                                                                                   ` Jens Axboe
     [not found]                                                                             ` <1254585420.7539.2.camel-YqMYhexLQo1vAv1Ojkdn7Q@public.gmane.org>
2009-10-03 17:35                                                                               ` Jens Axboe
     [not found]                                                                     ` <20091003142840.GE31616-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>
2009-10-03 14:33                                                                       ` Mike Galbraith
2009-10-03 14:51                                                                       ` Mike Galbraith
     [not found]                                                                 ` <20091003135623.GD12925-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-10-03 14:02                                                                   ` Mike Galbraith
     [not found]                                                             ` <20091003124049.GB12925-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-10-03 13:21                                                               ` Jens Axboe
2009-10-03 13:57                                                               ` Mike Galbraith
2009-10-03 13:57                                                             ` Mike Galbraith
     [not found]                                                         ` <1254549378.8299.21.camel-YqMYhexLQo1vAv1Ojkdn7Q@public.gmane.org>
2009-10-03  6:31                                                           ` tweaking IO latency [was Re: IO scheduler based IO controller V10] Mike Galbraith
2009-10-03  7:24                                                           ` IO scheduler based IO controller V10 Jens Axboe
2009-10-03 11:29                                                           ` Vivek Goyal
     [not found]                                                       ` <1254548931.8299.18.camel-YqMYhexLQo1vAv1Ojkdn7Q@public.gmane.org>
2009-10-03  5:56                                                         ` Mike Galbraith
2009-10-03  7:20                                                         ` Ingo Molnar
2009-10-03  7:20                                                       ` Ingo Molnar
2009-10-03  7:20                                                         ` Ingo Molnar
     [not found]                                                         ` <20091003072021.GB21407-X9Un+BFzKDI@public.gmane.org>
2009-10-03  7:25                                                           ` Jens Axboe
2009-10-03  7:25                                                         ` Jens Axboe
2009-10-03  7:25                                                           ` Jens Axboe
2009-10-03  8:53                                                           ` Mike Galbraith
     [not found]                                                           ` <20091003072540.GW31616-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>
2009-10-03  8:53                                                             ` Mike Galbraith
2009-10-03  9:01                                                             ` Corrado Zoccolo
2009-10-03  9:01                                                           ` Corrado Zoccolo
     [not found]                                                     ` <20091002181903.GN31616-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>
2009-10-02 18:57                                                       ` Mike Galbraith
2009-10-03  5:48                                                       ` Mike Galbraith
     [not found]                                                   ` <1254507215.8667.7.camel-YqMYhexLQo1vAv1Ojkdn7Q@public.gmane.org>
2009-10-02 18:19                                                     ` Jens Axboe
     [not found]                                             ` <20091002172554.GJ31616-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>
2009-10-02 17:28                                               ` Ingo Molnar
     [not found]                                           ` <20091002172046.GA2376-X9Un+BFzKDI@public.gmane.org>
2009-10-02 17:25                                             ` Jens Axboe
     [not found]                                         ` <20091002171129.GG31616-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>
2009-10-02 17:20                                           ` Ingo Molnar
     [not found]                                       ` <alpine.LFD.2.01.0910020811490.6996-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2009-10-02 16:01                                         ` jim owens
2009-10-02 17:11                                         ` Jens Axboe
2009-10-02 16:33                                     ` Ray Lee
2009-10-02 17:13                                       ` Jens Axboe
2009-10-02 17:13                                         ` Jens Axboe
     [not found]                                       ` <2c0942db0910020933l6d312c6ahae0e00619f598b39-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-10-02 17:13                                         ` Jens Axboe
     [not found]                                     ` <20091002145610.GD31616-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>
2009-10-02 15:14                                       ` Linus Torvalds
2009-10-02 16:33                                       ` Ray Lee
     [not found]                                   ` <alpine.LFD.2.01.0910020715160.6996-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2009-10-02 14:45                                     ` Mike Galbraith
2009-10-02 14:56                                     ` Jens Axboe
2009-10-02 16:22                                     ` Ingo Molnar
2009-10-02 16:22                                   ` Ingo Molnar
2009-10-02 16:22                                     ` Ingo Molnar
     [not found]                             ` <20091002092409.GA19529-X9Un+BFzKDI@public.gmane.org>
2009-10-02  9:28                               ` Jens Axboe
2009-10-02  9:36                               ` Mike Galbraith
2009-10-02  9:36                             ` Mike Galbraith
2009-10-02 16:37                               ` Ingo Molnar
2009-10-02 16:37                                 ` Ingo Molnar
     [not found]                               ` <1254476214.11022.8.camel-YqMYhexLQo1vAv1Ojkdn7Q@public.gmane.org>
2009-10-02 16:37                                 ` Ingo Molnar
     [not found]                       ` <20091001185816.GU14918-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>
2009-10-02  6:23                         ` Mike Galbraith
2009-10-02 18:08                     ` Jens Axboe
2009-10-02 18:08                   ` Jens Axboe
2009-10-02 18:29                     ` Mike Galbraith
2009-10-02 18:36                       ` Jens Axboe
     [not found]                       ` <1254508197.8667.22.camel-YqMYhexLQo1vAv1Ojkdn7Q@public.gmane.org>
2009-10-02 18:36                         ` Jens Axboe
     [not found]                     ` <20091002180857.GM31616-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>
2009-10-02 18:29                       ` Mike Galbraith
     [not found]               ` <1254341139.7695.36.camel-YqMYhexLQo1vAv1Ojkdn7Q@public.gmane.org>
2009-09-30 20:24                 ` Vivek Goyal
2009-09-27 17:00     ` Corrado Zoccolo
2009-09-28 14:56       ` Vivek Goyal
2009-09-28 14:56         ` Vivek Goyal
     [not found]         ` <20090928145655.GB8192-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-09-28 15:35           ` Corrado Zoccolo
2009-09-28 15:35         ` Corrado Zoccolo
2009-09-28 17:14           ` Vivek Goyal
2009-09-28 17:14             ` Vivek Goyal
2009-09-29  7:10             ` Corrado Zoccolo
     [not found]             ` <20090928171420.GA3643-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-09-29  7:10               ` Corrado Zoccolo
2009-09-28 17:51           ` Mike Galbraith
2009-09-28 18:18             ` Vivek Goyal
2009-09-28 18:18               ` Vivek Goyal
2009-09-28 18:53               ` Mike Galbraith
2009-09-29  7:14                 ` Corrado Zoccolo
     [not found]                 ` <1254164034.9820.81.camel-YqMYhexLQo1vAv1Ojkdn7Q@public.gmane.org>
2009-09-29  7:14                   ` Corrado Zoccolo
     [not found]               ` <20090928181846.GC3643-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-09-28 18:53                 ` Mike Galbraith
2009-09-29  5:55             ` Mike Galbraith
     [not found]             ` <1254160274.9820.25.camel-YqMYhexLQo1vAv1Ojkdn7Q@public.gmane.org>
2009-09-28 18:18               ` Vivek Goyal
2009-09-29  5:55               ` Mike Galbraith
     [not found]           ` <4e5e476b0909280835w3410d58aod93a29d1dcda8909-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-09-28 17:14             ` Vivek Goyal
2009-09-28 17:51             ` Mike Galbraith
     [not found]       ` <4e5e476b0909271000u69d79346s27cccad219e49902-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-09-28 14:56         ` Vivek Goyal
     [not found]     ` <20090925202636.GC15007-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-09-26 14:51       ` Mike Galbraith
2009-09-27 17:00       ` Corrado Zoccolo
2009-09-29  0:37 ` Nauman Rafique
2009-09-29  0:37   ` Nauman Rafique
2009-09-29  3:22   ` Vivek Goyal
2009-09-29  3:22     ` Vivek Goyal
     [not found]     ` <20090929032255.GA10664-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-09-29  9:56       ` Ryo Tsuruta
2009-09-29  9:56     ` Ryo Tsuruta
2009-09-29 10:49       ` Takuya Yoshikawa
2009-09-29 14:10       ` Vivek Goyal
2009-09-29 14:10         ` Vivek Goyal
2009-09-29 19:53         ` Nauman Rafique
     [not found]         ` <20090929141049.GA12141-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-09-29 19:53           ` Nauman Rafique
2009-09-30  8:43           ` Ryo Tsuruta
2009-09-30  8:43         ` Ryo Tsuruta
2009-09-30 11:05           ` Vivek Goyal
2009-09-30 11:05             ` Vivek Goyal
2009-10-01  6:41             ` Ryo Tsuruta
2009-10-01  6:41               ` Ryo Tsuruta
     [not found]               ` <20091001.154125.104044685.ryov-jCdQPDEk3idL9jVzuh4AOg@public.gmane.org>
2009-10-01 13:31                 ` Vivek Goyal
2009-10-01 13:31               ` Vivek Goyal
2009-10-01 13:31                 ` Vivek Goyal
2009-10-02  2:57                 ` Vivek Goyal
2009-10-02  2:57                   ` Vivek Goyal
2009-10-02 20:27                   ` Munehiro Ikeda
2009-10-02 20:27                     ` Munehiro Ikeda
     [not found]                     ` <4AC6623F.70600-MDRzhb/z0dd8UrSeD/g0lQ@public.gmane.org>
2009-10-05 10:38                       ` Ryo Tsuruta
2009-10-05 10:38                     ` Ryo Tsuruta
2009-10-05 10:38                       ` Ryo Tsuruta
     [not found]                       ` <20091005.193808.104033719.ryov-jCdQPDEk3idL9jVzuh4AOg@public.gmane.org>
2009-10-05 12:31                         ` Vivek Goyal
2009-10-05 12:31                       ` Vivek Goyal
2009-10-05 12:31                         ` Vivek Goyal
2009-10-05 14:55                         ` Ryo Tsuruta
2009-10-05 14:55                           ` Ryo Tsuruta
2009-10-05 17:10                           ` Vivek Goyal
2009-10-05 17:10                             ` Vivek Goyal
2009-10-05 18:11                             ` Nauman Rafique
2009-10-05 18:11                               ` Nauman Rafique
     [not found]                               ` <e98e18940910051111r110dc776l5105bf931761b842-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-10-06  7:17                                 ` Ryo Tsuruta
2009-10-06  7:17                               ` Ryo Tsuruta
2009-10-06  7:17                                 ` Ryo Tsuruta
2009-10-06 11:22                                 ` Vivek Goyal
2009-10-06 11:22                                   ` Vivek Goyal
2009-10-07 14:38                                   ` Ryo Tsuruta
2009-10-07 14:38                                     ` Ryo Tsuruta
2009-10-07 15:09                                     ` Vivek Goyal
2009-10-07 15:09                                       ` Vivek Goyal
2009-10-08  2:18                                       ` Ryo Tsuruta
2009-10-08  2:18                                         ` Ryo Tsuruta
     [not found]                                       ` <20091007150929.GB3674-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-10-08  2:18                                         ` Ryo Tsuruta
2009-10-07 16:41                                     ` Rik van Riel
2009-10-07 16:41                                       ` Rik van Riel
2009-10-07 20:23                                       ` Andy
     [not found]                                       ` <4ACCC4B7.4050805-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-10-08 10:22                                         ` Ryo Tsuruta
2009-10-08 10:22                                       ` Ryo Tsuruta
2009-10-08 10:22                                         ` Ryo Tsuruta
     [not found]                                     ` <20091007.233805.183040347.ryov-jCdQPDEk3idL9jVzuh4AOg@public.gmane.org>
2009-10-07 15:09                                       ` Vivek Goyal
2009-10-07 16:41                                       ` Rik van Riel
     [not found]                                   ` <20091006112201.GA27866-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-10-07 14:38                                     ` Ryo Tsuruta
     [not found]                                 ` <20091006.161744.189719641.ryov-jCdQPDEk3idL9jVzuh4AOg@public.gmane.org>
2009-10-06 11:22                                   ` Vivek Goyal
     [not found]                             ` <20091005171023.GG22143-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-10-05 18:11                               ` Nauman Rafique
     [not found]                           ` <20091005.235535.193690928.ryov-jCdQPDEk3idL9jVzuh4AOg@public.gmane.org>
2009-10-05 17:10                             ` Vivek Goyal
     [not found]                         ` <20091005123148.GB22143-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-10-05 14:55                           ` Ryo Tsuruta
     [not found]                   ` <20091002025731.GA2738-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-10-02 20:27                     ` Munehiro Ikeda
     [not found]                 ` <20091001133109.GA4058-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-10-02  2:57                   ` Vivek Goyal
     [not found]             ` <20090930110500.GA26631-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-10-01  6:41               ` Ryo Tsuruta
     [not found]           ` <20090930.174319.183036386.ryov-jCdQPDEk3idL9jVzuh4AOg@public.gmane.org>
2009-09-30 11:05             ` Vivek Goyal
     [not found]       ` <20090929.185653.183056711.ryov-jCdQPDEk3idL9jVzuh4AOg@public.gmane.org>
2009-09-29 10:49         ` Takuya Yoshikawa
2009-09-29 14:10         ` Vivek Goyal
2009-09-30  3:11         ` Vivek Goyal
2009-09-30  3:11       ` Vivek Goyal
2009-09-30  3:11         ` Vivek Goyal
     [not found]   ` <e98e18940909281737q142c788dpd20b8bdc05dd0eff-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-09-29  3:22     ` Vivek Goyal

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1253820332-10246-3-git-send-email-vgoyal@redhat.com \
    --to=vgoyal@redhat.com \
    --cc=agk@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=balbir@linux.vnet.ibm.com \
    --cc=containers@lists.linux-foundation.org \
    --cc=dhaval@linux.vnet.ibm.com \
    --cc=dm-devel@redhat.com \
    --cc=dpshah@google.com \
    --cc=fchecconi@gmail.com \
    --cc=fernando@oss.ntt.co.jp \
    --cc=guijianfeng@cn.fujitsu.com \
    --cc=jens.axboe@oracle.com \
    --cc=jmarchan@redhat.com \
    --cc=jmoyer@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lizf@cn.fujitsu.com \
    --cc=m-ikeda@ds.jp.nec.com \
    --cc=mikew@google.com \
    --cc=mingo@elte.hu \
    --cc=nauman@google.com \
    --cc=paolo.valente@unimore.it \
    --cc=peterz@infradead.org \
    --cc=riel@redhat.com \
    --cc=righi.andrea@gmail.com \
    --cc=ryov@valinux.co.jp \
    --cc=s-uchida@ap.jp.nec.com \
    --cc=taka@valinux.co.jp \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.