I really disalike pull requests of this form. You add lots of datastructures and helper functions but no actual users of these facilities to the driver.
Do this instead: 1) Add TSAR infrastructure 2) Add use of TSAR facilities to the driver That's one pull request. I don't care if this is hard, or if there are entanglements with Infiniband or whatever, you must submit changes in this manner. I will not accept additions to a driver that don't even get really used.