[PATCH 0/8] Various large optimisations

Rob Taylor rob.taylor at codethink.co.uk
Tue Nov 20 08:23:57 PST 2007


Rob Taylor wrote:
> Rob Taylor wrote:
>> Danny Kukawka wrote:
>>> On Montag, 19. November 2007, Richard Hughes wrote:
>>>> On Mon, 2007-11-19 at 11:55 -0500, Doug Klima wrote:
>>>>> Rob Taylor wrote:
>>>>>>  4) Allow hotplug events to process in parallel. This intruduces into
>>>>>> HAL a similar parallel event processing method as udev. Along with 2),
>>>>>> this removes the coldplug memory peak almost entirely (Cutting down to
>>>>>> 350K on my intel hardware and about 150K on an N800)
>>>> Be careful with this. I had big problems with this a few months ago with
>>>> coldplug ordering issues - I'm sure the list has all the juicy details.
>>> I would also assume we get (many) regressions with this change.
>> Well, I didn't do this code blindly! I've tested on all the hardware I
>> own to check that there's no differences in the device database. Its
>> also uses pretty much the same logic as udev.
>>
>> I agree that it needs testing on more systems, but just throwing up our
>> hands and going 'oooh! scary!' wont help that....
>>
>> Any volunteers for testing?
>>
> 
> Update: Kay's pointed out the scsi_debug module to me, so I can test
> with more storage devices (these demonstrated the biggest problems so
> far in getting this patch right)

Ok, so testing with "modprobe scsi_debug max_luns=1 num_tgts=7
add_host=10" (170 disks), I get no differences between the device trees
except for a slight reordering at the top level (input devices appearing
in a different order) and some storage devices getting different _%d
prefixes due to appearing in a different order.

Thanks,
Rob

> Thanks,
> Rob
> 
>>>>>>  5) Add the ability in HalDeviceStore to index given properties by
>>>>>> value. Profiling showed that about 20% of coldplug time was spend in
>>>>>>  hal_device_store_match_key_value_string to look up devices by
>>>>>> sysfs_path. This generic patch cuts each lookup to a couple of hash
>>>>>> table lookups, versus n strcmps.
>>>> Can't we just hardcode sysfs path?
>>> How this? IMO we don't speak about /sys, but about the indivdual path of the 
>>> devices.
>>>
>> Yes, there's nothing to hardcode here. The lookup could have been made
>> specific to sysfs_path, but it seemed nicer to me to add a generic value
>> indexing facility, and very little extra overhead (a hash table lookup
>> in a hash table of one ;))
>>
>> Thanks,
>> Rob
>>
>>> Danny
>>>
>>> _______________________________________________
>>> hal mailing list
>>> hal at lists.freedesktop.org
>>> http://lists.freedesktop.org/mailman/listinfo/hal
>>
> 
> 


-- 
Rob Taylor, Codethink Ltd. -  http://codethink.co.uk


More information about the hal mailing list