Hi there.
I'm not quite sure if what I've implemented is what you've asked for,
but anyways I'll give it a go...
Implemented "rotation" of IRQ structures in dispatcher's hash table
to avoid potential starving of other devices in the same collision chain
(ticket #2).
- Added callbacks in hash ADT for insertion (hash_table_insert())
and when an item has been found (hash_table_find()),
including their respective chains.
This way one could for example implement some "weight"-sorted chains,
as to always first look into the elements deemed highly probable of
being sought-after
(e. g. having been searched for/indexed the most or the least),
to avoid unnecessary walks through the whole chain.
- Added code to use new found_callback() to place the matched
device/IRQ-structure at the end of the collision chain.
I hope this is useful, somehow.
Attached is the actual bazaar-diff against mainline.
Have a nice day,
Michael
_______________________________________________
HelenOS-devel mailing list
[email protected]
http://lists.modry.cz/listinfo/helenos-devel