RE: [Intel-wired-lan] [PATCH net-next v3 1/2] e1000e: factor out systim sanitization
>>> 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
>> 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