diff -r 4bd1b2ed9861 ompi/mca/btl/openib/btl_openib_component.c --- a/ompi/mca/btl/openib/btl_openib_component.c Tue May 08 21:49:05 2012 +0000 +++ b/ompi/mca/btl/openib/btl_openib_component.c Wed May 09 17:24:05 2012 +0200 @@ -860,9 +860,10 @@ static int init_one_port(opal_list_t *bt /* To calculate the bandwidth available on this port, we have to look up the values corresponding to port->active_speed and port->active_width. These - are enums corresponding to the IB spec. Overall - forumula is 80% of the reported speed (to get the - true link speed) times the number of links. */ + are enums corresponding to the IB spec. + Formula is to multiply the reported speed by the coding + ratio (to get the true link speed) times the number + of links. */ switch (ib_port_attr->active_speed) { case 1: /* 2.5Gbps * 0.8, in megabits */ @@ -873,12 +874,20 @@ static int init_one_port(opal_list_t *bt openib_btl->super.btl_bandwidth = 4000; break; case 4: - /* 10.0Gbps * 0.8, in megabits */ + /* 10.0Gbps * 0.8, in megabits */ openib_btl->super.btl_bandwidth = 8000; break; case 8: - /* 40.0Gbps * 0.8, in megabits */ - openib_btl->super.btl_bandwidth = 32000; + /* FDR-10 10.0Gbps * 64/66, in megabits */ + openib_btl->super.btl_bandwidth = 9696; + break; + case 16: + /* FDR 14.0Gbps * 64/66, in megabits */ + openib_btl->super.btl_bandwidth = 13500; + break; + case 32: + /* EDR 25.0Gbps * 64/66, in megabits */ + openib_btl->super.btl_bandwidth = 24200; break; default: /* Who knows? Declare this port unreachable (do