public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH Linux 2.6.12-rc4-mm2 00/03] cfq: various fixes
@ 2005-05-24 16:35 Tejun Heo
  2005-05-24 16:35 ` [PATCH Linux 2.6.12-rc4-mm2 01/03] cfq: cfq ELEVATOR_INSERT_BACK fix Tejun Heo
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Tejun Heo @ 2005-05-24 16:35 UTC (permalink / raw)
  To: axboe; +Cc: linux-kernel

 Hello, Jens.

 This patchset is various fixes to cfq.  All patches are against
2.6.12-rc4-mm2.

 One thing that isn't fixed in this patchset but I think might be
problematic is the priority of async queue.  It seems that the async
queue doesn't receive any special attention regarding its priority.
It just follows normal rules and its priority jumps irregularly.
If I'm missing something, plz point out.

[ Start of patch descriptions ]

01_cfq_INSERT_BACK_fix.patch
	: cfq ELEVATOR_INSERT_BACK fix

	When inserting INSERT_BACK request, cfq_insert_request() calls
	cfq_dispatch_requests() repetitively until it returns zero
	indicating no request is dispatched.  This used to flush all
	the requests in the queue to the dispatch queue but, with idle
	slice implemented, the current active queue may decide to wait
	for new request using slice_timer.  When this happens, 0 is
	returned from cfq_dispatch_requests() even when other cfqq's
	have pending requests.  This breaks INSRET_BACK semantics.

	This patch adds @force argument which, when set to non-zero,
	disables idle_slice, and uses the argument when flushing
	cfqq's for INSERT_BACK.  While at it, use INT_MAX instead of
	cfq_quantum when flushing cfqq's, as we're gonna dump all the
	requests and using cfq_quantum does nothing but adding
	unnecessary iterations.

02_cfq_ioc_leak_fix.patch
	: cfq_io_context leak fix

	When a process has more than one cic's associated with it,
	only the first one was kmem_cache_free'd in the original code.
	This patch frees all cic's in cfq_free_io_context().

	While at it, remove unnecessary refcounting from cic's to ioc.
	This reference is created when each cic is created and removed
	altogether when the ioc is exited, and, thus, serves no
	purpose.

03_cfq_remove_unused_fields.patch
	: remove serveral unused fields from cfq data structures

	cfq_data->idle_start, cfq_data->end_prio and cfq_rq->end_pos
	are not used in meaningful way.  Remove'em.

[ End of patch descriptions ]

 Thanks.

--
tejun


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2005-05-25  7:33 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-05-24 16:35 [PATCH Linux 2.6.12-rc4-mm2 00/03] cfq: various fixes Tejun Heo
2005-05-24 16:35 ` [PATCH Linux 2.6.12-rc4-mm2 01/03] cfq: cfq ELEVATOR_INSERT_BACK fix Tejun Heo
2005-05-24 16:35 ` [PATCH Linux 2.6.12-rc4-mm2 02/03] cfq: cfq_io_context leak fix Tejun Heo
2005-05-24 16:35 ` [PATCH Linux 2.6.12-rc4-mm2 03/03] cfq: remove serveral unused fields from cfq data structures Tejun Heo
2005-05-25  7:34 ` [PATCH Linux 2.6.12-rc4-mm2 00/03] cfq: various fixes Jens Axboe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox