cfq-iosched: remove dead_key from cfq_io_context
authorKonstantin Khlebnikov <khlebnikov@openvz.org>
Thu, 20 May 2010 19:21:34 +0000 (23:21 +0400)
committerJens Axboe <jens.axboe@oracle.com>
Mon, 24 May 2010 07:06:59 +0000 (09:06 +0200)
commitbca4b914b5da3d8e7b9b647f620b71dc85c0c394
treeed9c468396ec6ca6a04da9f7fbc341eee95e3930
parentf4b87dee923342505e1ddba8d34ce9de33e75050
cfq-iosched: remove dead_key from cfq_io_context

Remove ->dead_key field from cfq_io_context to shrink its size to 128 bytes.
(64 bytes for 32-bit hosts)

Use lower bit in ->key as dead-mark, instead of moving key to separate field.
After this for dead cfq_io_context we got cic->key != cfqd automatically.
Thus, io_context's last-hit cache should work without changing.

Now to check ->key for non-dead state compare it with cfqd,
instead of checking ->key for non-null value as it was before.

Plus remove obsolete race protection in cfq_cic_lookup.
This race gone after v2.6.24-1728-g4ac845a

Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
block/cfq-iosched.c
include/linux/iocontext.h