[ofa-general] madrpc_init and reseting performance counters
Sasha Khapyorsky
sashak at voltaire.com
Sun Apr 27 04:38:01 PDT 2008
Hi Dan,
On 16:50 Fri 11 Apr , Dan Noe wrote:
>
> The solution Joel had mentioned was to use madrpc_init() and then call
> port_performance_reset() to reset the port. But madrpc_init keeps a static
> file descriptor (mad_portid) that is used for subsequent calls (such as is
> eventually used when port_performance_reset() is called). And, there does
> not seem to be any method to close this file descriptor.
>
> So, it is impossible to extend this method to multiple devices (or even
> multiple ports). With a single call to madrpc_init one can perpetually
> reset the performance counters in the polling loop but this approach
> doesn't work with multiple devices.
Why do you need to open multiple devices/ports? Are you using this tool
for multiple IB subnets handling?
> If madrpc_init is called more than
> once, it leaks a file descriptor.
Yes, madrpc_init() is old and it works in this way. There are newer
mad_rpc_open_port() and mad_rpc_close_port() functions in libibmad which
support multiple devices/ports you can use it instead.
Sasha
More information about the general
mailing list