Re: [PATCH] kvm: remove in_range from kvm_io_device

Gregory Haskins
2009-06-23T16:14:21Z

[-- Attachment #1: Type: text/plain, Size: 1170 bytes --]

Michael S. Tsirkin wrote:
> On Tue, Jun 23, 2009 at 11:44:57AM -0400, Gregory Haskins wrote:
>
>>>> This proposed approach forces us into a
>>>> potential O(256) algorithm in the hotpath (all MMIO/PIO exits will hit
>>>> this, not just in-kernel users). How would you address this?
>>>>
>>>>
>>> Two ideas that come to mind:
>>> - add addr/len fields to devices, use these to speed up lookup
>>>
>>>
>> Yep, thats what I was thinking as well. We can have the top-level
>> (group) be an rbtree on addr/len, and then walk the list of items at
>> that address linearly using your read/write() approach.
>>
>>
>>
>>> - add a small cache that can be scanned first
>>>
>>>
>> Yep, I think we may want to do this anyway independent of the search alg.
>>
>>
>>> In both cases, you first do a fast lookup, ask the device whether
>>> it wants the transaction, then resort to linear scan if not
>>>
>>>
>> -Greg
>>
>>
>
> Looks like we have a concensus then.
>
>

Yep. I'll try to go over the patch in detail today and provide any more
feedback.

Thanks Michael,