Tzachi,
  Upon further code review, there seems to be a rather simple solution which 
covers most concerns.

The bus driver (ioc_manager) is coded such that when the IOC rescan routine is 
finished it restarts the IOC rescan timer if IocPollInterval > 0 using 
IocPollInterval as the timer expiration value.
Your solution (IocPollInterval = 0) prohibits starting the IOC rescan timer for 
all events, thus a new IOC/U will not be recognized; OK for most installations.

To prohibit IOC scanning every 30 seconds and yet recognize a new IOC/IOU...... 
upon completion of an IOC rescan operation, the IOC rescan timer is not 
restarted?
Currently IB_PNP_SM_CHANGE and IB_PNP_PORT_ACTIVE cause the IOC rescan timer to 
start and expire after 250 ms; no code change.
Upon recognition of QUERY_DEVICE_RELATIONS for device 'IB Bus' the IOC rescan 
timer is started;  this would cover the 'devcon.exe rescan' case.

BTW, the IOC rescan timer callback function is coded such that only a single 
instance of the IOC rescan function will run.

To summarize:
Do not automatically restart the IOC rescan timer (IocPollInterval) after 
completing an IOC rescan.
Restart the IOC rescan timer upon recognition of QUERY_DEVICE_RELATIONS for 
device 'IB Bus'.

Simple, minor code changes?

What have I missed?

Thanks,

Stan.
_______________________________________________
ofw mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw

Reply via email to