svn commit: r335967 - head/sys/dev/mxge

Andrew Gallatin gallatin at cs.duke.edu
Thu Jul 5 00:56:16 UTC 2018


On 07/04/18 15:46, Rodney W. Grimes wrote:
>> Author: gallatin
>> Date: Wed Jul  4 19:29:06 2018
>> New Revision: 335967
>> URL: https://urldefense.proofpoint.com/v2/url?u=https-3A__svnweb.freebsd.org_changeset_base_335967&d=DwICAg&c=imBPVzF25OnBgGmVOlcsiEgHoG1i6YHLR0Sj_gZ4adc&r=Ed-falealxPeqc22ehgAUCLh8zlZbibZLSMWJeZro4A&m=2rIiw5AUJ2ishkBkygGMa_9kr0LJOaonX8ni3BF2BHk&s=MwCt6_IgNah0XklsYThsXFcwZD54Xl78TRlnFXJ4zWs&e=
>>
>> Log:
>>    mxge: choose appropriate values for hw tso
>>
>> Modified:
>>    head/sys/dev/mxge/if_mxge.c
>>
>> Modified: head/sys/dev/mxge/if_mxge.c
>> ==============================================================================
>> --- head/sys/dev/mxge/if_mxge.c	Wed Jul  4 18:54:44 2018	(r335966)
>> +++ head/sys/dev/mxge/if_mxge.c	Wed Jul  4 19:29:06 2018	(r335967)
>> @@ -4984,6 +4984,9 @@ mxge_attach(device_t dev)
>>   	ifp->if_ioctl = mxge_ioctl;
>>   	ifp->if_start = mxge_start;
>>   	ifp->if_get_counter = mxge_get_counter;
>> +	ifp->if_hw_tsomax = 65536 - (ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN);
> 
> Would not this be more accurate (need to reorder assigns):
> 	ifp->if_hw_tsomax = ifp->if_hw_tsomaxsegsize - (ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN);
> 
>> +	ifp->if_hw_tsomaxsegcount = sc->ss[0].tx.max_desc;
>> +	ifp->if_hw_tsomaxsegsize = 65536;


It seems simpler as-is to me.  Looking around at other drivers, I see
at least one (cxgbe) which does the same thing.

After doing the grep, I'm more concerned with drivers which may
be setting their tsomaxsegsize  incorrectly to be too small and
hurting their performance by causing TCP to chop needlessly
at smaller boundaries which are already enforced by their
busdma tags.  PAGE_SIZE, which seems to be the common mistaken
size, won't hurt too much I suppose.  But the default of 2K
is probably not very good.

Drew



More information about the svn-src-head mailing list