tree: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git master head: 34fe76abbea5174e532681e420fb31139909efb4 commit: edb09eb17ed89eaa82a52dd306beac93e292b485 [105/106] net: sched: do not acquire qdisc spinlock in qdisc/class stats dump reproduce: make htmldocs
All warnings (new ones prefixed by >>): include/linux/skbuff.h:930: warning: No description found for parameter 'sk' include/net/sock.h:449: warning: No description found for parameter 'sk_padding' include/net/sock.h:449: warning: No description found for parameter 'sk_rcu' net/core/gen_stats.c:66: warning: No description found for parameter 'padattr' net/core/gen_stats.c:102: warning: No description found for parameter 'padattr' >> net/core/gen_stats.c:168: warning: No description found for parameter >> 'running' include/linux/netdevice.h:1867: warning: No description found for parameter 'qdisc_running_key' vim +/running +168 net/core/gen_stats.c ^1da177e Linus Torvalds 2005-04-16 60 */ ^1da177e Linus Torvalds 2005-04-16 61 int ^1da177e Linus Torvalds 2005-04-16 62 gnet_stats_start_copy_compat(struct sk_buff *skb, int type, int tc_stats_type, 9854518e Nicolas Dichtel 2016-04-26 63 int xstats_type, spinlock_t *lock, 9854518e Nicolas Dichtel 2016-04-26 64 struct gnet_dump *d, int padattr) 9a429c49 Eric Dumazet 2008-01-01 65 __acquires(lock) ^1da177e Linus Torvalds 2005-04-16 @66 { ^1da177e Linus Torvalds 2005-04-16 67 memset(d, 0, sizeof(*d)); ^1da177e Linus Torvalds 2005-04-16 68 ^1da177e Linus Torvalds 2005-04-16 69 if (type) 1e90474c Patrick McHardy 2008-01-22 70 d->tail = (struct nlattr *)skb_tail_pointer(skb); ^1da177e Linus Torvalds 2005-04-16 71 d->skb = skb; ^1da177e Linus Torvalds 2005-04-16 72 d->compat_tc_stats = tc_stats_type; ^1da177e Linus Torvalds 2005-04-16 73 d->compat_xstats = xstats_type; 9854518e Nicolas Dichtel 2016-04-26 74 d->padattr = padattr; edb09eb1 Eric Dumazet 2016-06-06 75 if (lock) { edb09eb1 Eric Dumazet 2016-06-06 76 d->lock = lock; edb09eb1 Eric Dumazet 2016-06-06 77 spin_lock_bh(lock); edb09eb1 Eric Dumazet 2016-06-06 78 } ^1da177e Linus Torvalds 2005-04-16 79 if (d->tail) 9854518e Nicolas Dichtel 2016-04-26 80 return gnet_stats_copy(d, type, NULL, 0, padattr); ^1da177e Linus Torvalds 2005-04-16 81 ^1da177e Linus Torvalds 2005-04-16 82 return 0; ^1da177e Linus Torvalds 2005-04-16 83 } 9e34a5b5 Eric Dumazet 2010-07-09 84 EXPORT_SYMBOL(gnet_stats_start_copy_compat); ^1da177e Linus Torvalds 2005-04-16 85 ^1da177e Linus Torvalds 2005-04-16 86 /** 9854518e Nicolas Dichtel 2016-04-26 87 * gnet_stats_start_copy - start dumping procedure in compatibility mode ^1da177e Linus Torvalds 2005-04-16 88 * @skb: socket buffer to put statistics TLVs into ^1da177e Linus Torvalds 2005-04-16 89 * @type: TLV type for top level statistic TLV ^1da177e Linus Torvalds 2005-04-16 90 * @lock: statistics lock ^1da177e Linus Torvalds 2005-04-16 91 * @d: dumping handle ^1da177e Linus Torvalds 2005-04-16 92 * ^1da177e Linus Torvalds 2005-04-16 93 * Initializes the dumping handle, grabs the statistic lock and appends ^1da177e Linus Torvalds 2005-04-16 94 * an empty TLV header to the socket buffer for use a container for all ^1da177e Linus Torvalds 2005-04-16 95 * other statistic TLVS. ^1da177e Linus Torvalds 2005-04-16 96 * ^1da177e Linus Torvalds 2005-04-16 97 * Returns 0 on success or -1 if the room in the socket buffer was not sufficient. ^1da177e Linus Torvalds 2005-04-16 98 */ ^1da177e Linus Torvalds 2005-04-16 99 int ^1da177e Linus Torvalds 2005-04-16 100 gnet_stats_start_copy(struct sk_buff *skb, int type, spinlock_t *lock, 9854518e Nicolas Dichtel 2016-04-26 101 struct gnet_dump *d, int padattr) ^1da177e Linus Torvalds 2005-04-16 102 { 9854518e Nicolas Dichtel 2016-04-26 103 return gnet_stats_start_copy_compat(skb, type, 0, 0, lock, d, padattr); ^1da177e Linus Torvalds 2005-04-16 104 } 9e34a5b5 Eric Dumazet 2010-07-09 105 EXPORT_SYMBOL(gnet_stats_start_copy); ^1da177e Linus Torvalds 2005-04-16 106 22e0f8b9 John Fastabend 2014-09-28 107 static void 22e0f8b9 John Fastabend 2014-09-28 108 __gnet_stats_copy_basic_cpu(struct gnet_stats_basic_packed *bstats, 22e0f8b9 John Fastabend 2014-09-28 109 struct gnet_stats_basic_cpu __percpu *cpu) 22e0f8b9 John Fastabend 2014-09-28 110 { 22e0f8b9 John Fastabend 2014-09-28 111 int i; 22e0f8b9 John Fastabend 2014-09-28 112 22e0f8b9 John Fastabend 2014-09-28 113 for_each_possible_cpu(i) { 22e0f8b9 John Fastabend 2014-09-28 114 struct gnet_stats_basic_cpu *bcpu = per_cpu_ptr(cpu, i); 22e0f8b9 John Fastabend 2014-09-28 115 unsigned int start; 02c0fc1b WANG Cong 2014-10-06 116 u64 bytes; 02c0fc1b WANG Cong 2014-10-06 117 u32 packets; 22e0f8b9 John Fastabend 2014-09-28 118 22e0f8b9 John Fastabend 2014-09-28 119 do { 22e0f8b9 John Fastabend 2014-09-28 120 start = u64_stats_fetch_begin_irq(&bcpu->syncp); 22e0f8b9 John Fastabend 2014-09-28 121 bytes = bcpu->bstats.bytes; 22e0f8b9 John Fastabend 2014-09-28 122 packets = bcpu->bstats.packets; 22e0f8b9 John Fastabend 2014-09-28 123 } while (u64_stats_fetch_retry_irq(&bcpu->syncp, start)); 22e0f8b9 John Fastabend 2014-09-28 124 02c0fc1b WANG Cong 2014-10-06 125 bstats->bytes += bytes; 02c0fc1b WANG Cong 2014-10-06 126 bstats->packets += packets; 22e0f8b9 John Fastabend 2014-09-28 127 } 22e0f8b9 John Fastabend 2014-09-28 128 } 22e0f8b9 John Fastabend 2014-09-28 129 22e0f8b9 John Fastabend 2014-09-28 130 void edb09eb1 Eric Dumazet 2016-06-06 131 __gnet_stats_copy_basic(const seqcount_t *running, edb09eb1 Eric Dumazet 2016-06-06 132 struct gnet_stats_basic_packed *bstats, 22e0f8b9 John Fastabend 2014-09-28 133 struct gnet_stats_basic_cpu __percpu *cpu, 22e0f8b9 John Fastabend 2014-09-28 134 struct gnet_stats_basic_packed *b) 22e0f8b9 John Fastabend 2014-09-28 135 { edb09eb1 Eric Dumazet 2016-06-06 136 unsigned int seq; edb09eb1 Eric Dumazet 2016-06-06 137 22e0f8b9 John Fastabend 2014-09-28 138 if (cpu) { 22e0f8b9 John Fastabend 2014-09-28 139 __gnet_stats_copy_basic_cpu(bstats, cpu); edb09eb1 Eric Dumazet 2016-06-06 140 return; edb09eb1 Eric Dumazet 2016-06-06 141 } edb09eb1 Eric Dumazet 2016-06-06 142 do { edb09eb1 Eric Dumazet 2016-06-06 143 if (running) edb09eb1 Eric Dumazet 2016-06-06 144 seq = read_seqcount_begin(running); 22e0f8b9 John Fastabend 2014-09-28 145 bstats->bytes = b->bytes; 22e0f8b9 John Fastabend 2014-09-28 146 bstats->packets = b->packets; edb09eb1 Eric Dumazet 2016-06-06 147 } while (running && read_seqcount_retry(running, seq)); 22e0f8b9 John Fastabend 2014-09-28 148 } 22e0f8b9 John Fastabend 2014-09-28 149 EXPORT_SYMBOL(__gnet_stats_copy_basic); 22e0f8b9 John Fastabend 2014-09-28 150 ^1da177e Linus Torvalds 2005-04-16 151 /** ^1da177e Linus Torvalds 2005-04-16 152 * gnet_stats_copy_basic - copy basic statistics into statistic TLV ^1da177e Linus Torvalds 2005-04-16 153 * @d: dumping handle b002fdcc Luis de Bethencourt 2016-03-19 154 * @cpu: copy statistic per cpu ^1da177e Linus Torvalds 2005-04-16 155 * @b: basic statistics ^1da177e Linus Torvalds 2005-04-16 156 * ^1da177e Linus Torvalds 2005-04-16 157 * Appends the basic statistics to the top level TLV created by ^1da177e Linus Torvalds 2005-04-16 158 * gnet_stats_start_copy(). ^1da177e Linus Torvalds 2005-04-16 159 * ^1da177e Linus Torvalds 2005-04-16 160 * Returns 0 on success or -1 with the statistic lock released ^1da177e Linus Torvalds 2005-04-16 161 * if the room in the socket buffer was not sufficient. ^1da177e Linus Torvalds 2005-04-16 162 */ ^1da177e Linus Torvalds 2005-04-16 163 int edb09eb1 Eric Dumazet 2016-06-06 164 gnet_stats_copy_basic(const seqcount_t *running, edb09eb1 Eric Dumazet 2016-06-06 165 struct gnet_dump *d, 22e0f8b9 John Fastabend 2014-09-28 166 struct gnet_stats_basic_cpu __percpu *cpu, 22e0f8b9 John Fastabend 2014-09-28 167 struct gnet_stats_basic_packed *b) ^1da177e Linus Torvalds 2005-04-16 @168 { 22e0f8b9 John Fastabend 2014-09-28 169 struct gnet_stats_basic_packed bstats = {0}; 22e0f8b9 John Fastabend 2014-09-28 170 edb09eb1 Eric Dumazet 2016-06-06 171 __gnet_stats_copy_basic(running, &bstats, cpu, b); :::::: The code at line 168 was first introduced by commit :::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2 :::::: TO: Linus Torvalds <torva...@ppc970.osdl.org> :::::: CC: Linus Torvalds <torva...@ppc970.osdl.org> --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
.config.gz
Description: Binary data