From: Jens Axboe on
On Thu, May 20 2010, Konstantin Khlebnikov wrote:
> 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

This, and the second patch, look really good. How much testing have you
done with it?

--
Jens Axboe

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Konstantin Khlebnikov on
On 21.05.2010 13:40, Jens Axboe wrote:
> On Thu, May 20 2010, Konstantin Khlebnikov wrote:
>> 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
>
> This, and the second patch, look really good. How much testing have you
> done with it?
>

I have run multiple fsstress and simultaneously switch io-scheduler in loop
for several hours, no oopses and leaks detected.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Jens Axboe on
On Fri, May 21 2010, Konstantin Khlebnikov wrote:
> On 21.05.2010 13:40, Jens Axboe wrote:
>> On Thu, May 20 2010, Konstantin Khlebnikov wrote:
>>> 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
>>
>> This, and the second patch, look really good. How much testing have you
>> done with it?
>>
>
> I have run multiple fsstress and simultaneously switch io-scheduler in loop
> for several hours, no oopses and leaks detected.

OK, I'll queue it up for later in the 2.6.35 cycle.

--
Jens Axboe

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/