1. 29 11月, 2010 1 次提交
    • J
      Kill off a bunch of warning: ‘inline’ is not at beginning of declaration · fa9f90be
      Jesper Juhl 提交于
      These warnings are spewed during a build of a 'allnoconfig' kernel
      (especially the ones from u64_stats_sync.h show up a lot) when building
      with -Wextra (which I often do)..
      They are
        a) annoying
        b) easy to get rid of.
      This patch kills them off.
      
      include/linux/u64_stats_sync.h:70:1: warning: ‘inline’ is not at beginning of declaration
      include/linux/u64_stats_sync.h:77:1: warning: ‘inline’ is not at beginning of declaration
      include/linux/u64_stats_sync.h:84:1: warning: ‘inline’ is not at beginning of declaration
      include/linux/u64_stats_sync.h:96:1: warning: ‘inline’ is not at beginning of declaration
      include/linux/u64_stats_sync.h:115:1: warning: ‘inline’ is not at beginning of declaration
      include/linux/u64_stats_sync.h:127:1: warning: ‘inline’ is not at beginning of declaration
      kernel/time.c:241:1: warning: ‘inline’ is not at beginning of declaration
      kernel/time.c:257:1: warning: ‘inline’ is not at beginning of declaration
      kernel/perf_event.c:4513:1: warning: ‘inline’ is not at beginning of declaration
      mm/page_alloc.c:4012:1: warning: ‘inline’ is not at beginning of declaration
      Signed-off-by: NJesper Juhl <jj@chaosbits.net>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      fa9f90be
  2. 29 6月, 2010 2 次提交
  3. 24 6月, 2010 1 次提交
    • E
      net: Introduce u64_stats_sync infrastructure · 16b8a476
      Eric Dumazet 提交于
      To properly implement 64bits network statistics on 32bit or 64bit hosts,
      we provide one new type and four methods, to ease conversions.
      
      Stats producer should use following template granted it already got an
      exclusive access to counters (include/linux/u64_stats_sync.h contains
      some documentation about details)
      
          u64_stats_update_begin(&stats->syncp);
          stats->bytes64 += len;
          stats->packets64++;
          u64_stats_update_end(&stats->syncp);
      
      While a consumer should use following template to get consistent
      snapshot :
      
          u64 tbytes, tpackets;
          unsigned int start;
      
          do {
              start = u64_stats_fetch_begin(&stats->syncp);
              tbytes = stats->bytes64;
              tpackets = stats->packets64;
          } while (u64_stats_fetch_retry(&stats->lock, syncp));
      
      Suggested by David Miller, and comments courtesy of Nick Piggin.
      Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      16b8a476