> According to the OpenSM default configuration (/usr/sbin/opensm
> --create-config <config>) :
> 
>   # The subnet_timeout code that will be set for all the ports
>   # The actual timeout is 4.096usec * 2^<subnet_timeout>
>   subnet_timeout 18
> 
>   # The code of maximal time a packet can live in a switch
>   # The actual time is 4.096usec * 2^<packet_life_time>
>   # The value 0x14 disables this mechanism
>   packet_life_time 0x12
> 
> Despite the notation, they are the same values.
> 
> It gives me:
> 
>  4.096 * 10^-6 * 2^18 = 1.074 s
> 
>  15 * subnet timeout / packet life time = 16.106 s ...
> 
> This is a lot less than 98 s.
> 
> Where does come the difference ?

The IB CM calculates the timeout as:

packet lifetime * 2 + remote cm response timeout

The rdma_cm has a hard coded value of 20 for the remote cm response timeout, 
which ends up accounting for the majority of the time... :/

Reply via email to