Disabling GS0 usage lets siw create FPDUs fitting MTU size. Enabling GSO usage lets siw form larger FPDUs fitting up to one current GSO frame. As a software only iWarp implementation, for large messages, siw bandwidth performance severly suffers from not using GSO, reducing available single stream bandwidth on fast links by more than 50%, while increasing CPU load. Experimental GSO usage handshake is implemented by using one spare bit of the MPA header, which is used to signal GSO framing at initiator side and GSO framing acceptance at responder side. Typical iWarp hardware implementations will not set or interpret that header bit. Against such peer, siw will adhere to forming FPDUs fitting with MTU size. This assures interoperability with peer iWarp implementations unable to process FPDUs larger than MTU size. Signed-off-by: Bernard Metzler <bmt@xxxxxxxxxxxxxx> --- drivers/infiniband/sw/siw/siw_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/infiniband/sw/siw/siw_main.c b/drivers/infiniband/sw/siw/siw_main.c index 5cd40fb9e20c..a2dbdbcacf72 100644 --- a/drivers/infiniband/sw/siw/siw_main.c +++ b/drivers/infiniband/sw/siw/siw_main.c @@ -36,7 +36,7 @@ const bool zcopy_tx = true; * large packets. try_gso = true lets siw try to use local GSO, * if peer agrees. Not using GSO severly limits siw maximum tx bandwidth. */ -const bool try_gso; +const bool try_gso = true; /* Attach siw also with loopback devices */ const bool loopback_enabled = true; -- 2.20.1