• Paul Gortmaker's avatar
    gianfar: convert u64 status counters to atomic64_t · 212079df
    Paul Gortmaker authored
    While looking at some asm dump for an unrelated change, Eric
    noticed in the following stats count increment code:
    
        50b8:       81 3c 01 f8     lwz     r9,504(r28)
        50bc:       81 5c 01 fc     lwz     r10,508(r28)
        50c0:       31 4a 00 01     addic   r10,r10,1
        50c4:       7d 29 01 94     addze   r9,r9
        50c8:       91 3c 01 f8     stw     r9,504(r28)
        50cc:       91 5c 01 fc     stw     r10,508(r28)
    
    that a 64 bit counter was used on ppc-32 without sync
    and hence the "ethtool -S" output was racy.
    
    Here we convert all the values to use atomic64_t so that
    the output will always be consistent.
    Reported-by: default avatarEric Dumazet <edumazet@google.com>
    Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
    212079df
gianfar_ethtool.c 47.1 KB