RE: [PATCH 1/1] indirect function calls elimination in IO scheduler

From: Ananiev, Leonid I
Date: Thu Dec 01 2005 - 12:18:19 EST


Jens,

You wrote about patch
>> This breaks reference counting of said
>> structure, so it's not really something that can be applied.

>> this patch is a no-go from the beginning since
>> you cannot ref count a statically embedded structure. It has to be
>> dynamically allocated.

My answer:
> There was no any 'ref count' elevator structure in 2.6.9. There was
not
> added any 'ref count' while modular and online switching was enabled.

>> The does exist outside of the queue getting gotten/put,
>> the switching being one of them. Tejun has patches for improving the
>> switching, so it would be possible to keep two schedulers alive for
the
>> queue for the duration of the switch.

Proposed patch does not modify "gotten/put" modules order.
elevator_attch() function dynamically fills 'kmalloced' memory by
elevator structure before patching.
This function fills substructure after patching dynamically as well.
There is no reference count problem: we can return to old scheduler if
new one fails.
Both, old and new, schedulers are saved for the duration of the switch.

Leonid




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