RE: [Intel-wired-lan] [PATCH net-next v3 1/2] e1000e: factor out systim sanitization

2016-07-29 Thread Woodford, Timothy W.
>>> This is prepatory work for an expanding list of adapter families that have 
>>> occasional ~10 hour clock jumps when being used for PTP. Factor out the 
>>> sanitization function and convert to using a feature (bug) flag, per 
>>> suggestion from Jesse Brandeburg.
>>> 
>>> Littering functional code with device-specific checks is much messier than 
>>> simply checking a flag, and having device-specific init set flags as needed.
>>> There are probably a number of other cases in the e1000e code that 
>>> could/should be converted similarly.
>> 
>> Looks ok to me.
>> Adding Chris who asked what happens if we reach the max retry counter 
>> (E1000_MAX_82574_SYSTIM_REREAD)?
>> This counter is set to 50. 
>> Can you, for testing purposes, decreased this value (or even set it to 0) 
>> and see what happens?
>  I'll set the max retry counter to 1 and run an overnight test to see what 
> happens.

After running with this configuration for about 36 hours, I haven't seen any 
timing jumps.  Either this configuration eliminates the error, or it makes it 
significantly less likely to occur.

Tim Woodford


RE: [Intel-wired-lan] [PATCH net-next v3 1/2] e1000e: factor out systim sanitization

2016-07-27 Thread Woodford, Timothy W.
>> This is prepatory work for an expanding list of adapter families that have 
>> occasional ~10 hour clock jumps when being used for PTP. Factor out the 
>> sanitization function and convert to using a feature (bug) flag, per 
>> suggestion from Jesse Brandeburg.
>> 
>> Littering functional code with device-specific checks is much messier than 
>> simply checking a flag, and having device-specific init set flags as needed.
>> There are probably a number of other cases in the e1000e code that 
>> could/should be converted similarly.
> 
> Looks ok to me.
> Adding Chris who asked what happens if we reach the max retry counter 
> (E1000_MAX_82574_SYSTIM_REREAD)?
> This counter is set to 50. 
> Can you, for testing purposes, decreased this value (or even set it to 0) and 
> see what happens?

I have one of the affected NICs.  I inserted some test code into the module to 
check the value of i after the for loop inside the sanitize function exits to 
check how many iterations of the loop were being run.  I ran a PTP test setup 
for a few hours with E1000_MAX_82574_SYSTIM_REREAD=50, and the maximum number 
was 5 iterations.
It looks like setting E1000_MAX_82574_SYSTIM_REREAD to 0 will just disable the 
return value checking and will have the same results as disabling the 
sanitization function.  I'll set the max retry counter to 1 and run an 
overnight test to see what happens.

Tim Woodford