[ofw] RE: Ibbus as a filter driver for mthca.
Fab Tillier
ftillier at windows.microsoft.com
Tue Aug 5 11:23:25 PDT 2008
>> I have few questions from what I saw:
>> 1. Disable/Enable require restart:
>> Trying to disable/enable mthca device require a reboot in order
>> to complete the operation.
>
> Yes - mthca disable invokes a reboot request. Is this 'new' behavior in
> that the 'current' mthca driver upon right-click disable does not
> require a reboot?
Correct, right now disabling mthca does not require a reboot. Requiring a reboot effectively requires a reboot after any driver update. Probably a reference counting issue related to the device objects or something similar.
> I'm not sure if this can be stopped/corrected?
It should be able to be corrected.
> Fab, is a reboot required or is it possible to defeat the reboot by
> some .inf driver setting?
Reboot is not required normally - that's one of the goals of PnP. So something is 'broken' currently.
> IPoIB enable/disable does not require a reboot.
>
>> Uninstall the device and re-install it using the .inf require
>> reboot as well. Did you have the same phenomenon ? (It happens even
>> right after
>> clean install)
>
> I would expect a device uninstall to request a reboot.
No, it shouldn't.
> In the bigger picture, customers not so often enable/disable an HCA
> device. For you and I during development, we do; a minor although
> irritating problem.
They do whenever they update drivers.
>> 2. Attached DevTree images after clean install on a machine with one
>> HCA (mt25204) which has one port.
>> From the images it seems that ibbus reports on the same port twice
>> and mthca also report for this port. (When tested on machine with 2
>> HCA with 2 port each, 8 child objects were reported by ibbus and 4
>> by mlx4_hca) I think that mthca report is happen since get_relation
>> function is still in p_ci_interface and mthca replies to PnP
>> messages using this function (which goes to ibbus
>> get_relation). I don't have a clue about ibbus reports.
>
> Interesting, there does seem to be duplication in reporting relations.
> As I remember, mthca uses the p_ci_interface->get_relations call only
> when mthca receives a QUERY_REMOVE_DEVICE; removal relations reporting.
> Since the bus driver is correctly reporting bus relations and there
> exists an implicit relation between the bus driver and mthca driver
> (same device stack, mthca cannot unload until it's instance of ibbus
> unloads). Possibly, the mthca driver should not be reporting relations
> like it does; one step closer to simple? Do you know where in mthca
> relations are reported?
This could be the problem with the reboot. An easy work around without changing mthca is to have the get_relations function return without updating the child device list (basically turn it into a noop).
-Fab
More information about the ofw
mailing list