Пример #1
0
void
__gnet_stats_copy_basic(struct gnet_stats_basic_packed *bstats,
                        struct gnet_stats_basic_cpu __percpu *cpu,
                        struct gnet_stats_basic_packed *b)
{
    if (cpu) {
        __gnet_stats_copy_basic_cpu(bstats, cpu);
    } else {
        bstats->bytes = b->bytes;
        bstats->packets = b->packets;
    }
}
Пример #2
0
void
__gnet_stats_copy_basic(const seqcount_t *running,
			struct gnet_stats_basic_packed *bstats,
			struct gnet_stats_basic_cpu __percpu *cpu,
			struct gnet_stats_basic_packed *b)
{
	unsigned int seq;

	if (cpu) {
		__gnet_stats_copy_basic_cpu(bstats, cpu);
		return;
	}
	do {
		if (running)
			seq = read_seqcount_begin(running);
		bstats->bytes = b->bytes;
		bstats->packets = b->packets;
	} while (running && read_seqcount_retry(running, seq));
}