diff options
| author | Steven Rostedt <srostedt@redhat.com> | 2010-09-01 12:23:12 -0400 | 
|---|---|---|
| committer | Steven Rostedt <rostedt@goodmis.org> | 2010-09-01 12:23:12 -0400 | 
| commit | f6195aa09e618d712f52bf4fa33b5293820eb93d (patch) | |
| tree | a41ef0dce7ebb3e670b6e1a7214a4f558110178e /kernel/trace/ring_buffer.c | |
| parent | c9cf4a019cff198ee5638323e3b0ee18886467e8 (diff) | |
| download | olio-linux-3.10-f6195aa09e618d712f52bf4fa33b5293820eb93d.tar.xz olio-linux-3.10-f6195aa09e618d712f52bf4fa33b5293820eb93d.zip  | |
ring-buffer: Place duplicate expression into a single function
While discussing the strictness of the 80 character limit on the
Kernel Summit Discussion mailing list, I showed examples that I
broke that limit slightly with some algorithms. In discussing with
John Linville, what looked better, I realized that two of the
80 char breaking culprits were an identical expression.
As a clean up, this patch moves the identical expression into its
own helper function and that is used instead. As a side effect,
the offending code is now under the 80 character limit. :-)
This clean up code also changes the expression from
	(A - B) - C  to  A - (B + C)
This makes the code look a little nicer too.
Cc: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'kernel/trace/ring_buffer.c')
| -rw-r--r-- | kernel/trace/ring_buffer.c | 21 | 
1 files changed, 15 insertions, 6 deletions
diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c index 19cccc3c302..ef27017caa5 100644 --- a/kernel/trace/ring_buffer.c +++ b/kernel/trace/ring_buffer.c @@ -2606,6 +2606,19 @@ void ring_buffer_record_enable_cpu(struct ring_buffer *buffer, int cpu)  }  EXPORT_SYMBOL_GPL(ring_buffer_record_enable_cpu); +/* + * The total entries in the ring buffer is the running counter + * of entries entered into the ring buffer, minus the sum of + * the entries read from the ring buffer and the number of + * entries that were overwritten. + */ +static inline unsigned long +rb_num_of_entries(struct ring_buffer_per_cpu *cpu_buffer) +{ +	return local_read(&cpu_buffer->entries) - +		(local_read(&cpu_buffer->overrun) + cpu_buffer->read); +} +  /**   * ring_buffer_entries_cpu - get the number of entries in a cpu buffer   * @buffer: The ring buffer @@ -2614,16 +2627,13 @@ EXPORT_SYMBOL_GPL(ring_buffer_record_enable_cpu);  unsigned long ring_buffer_entries_cpu(struct ring_buffer *buffer, int cpu)  {  	struct ring_buffer_per_cpu *cpu_buffer; -	unsigned long ret;  	if (!cpumask_test_cpu(cpu, buffer->cpumask))  		return 0;  	cpu_buffer = buffer->buffers[cpu]; -	ret = (local_read(&cpu_buffer->entries) - local_read(&cpu_buffer->overrun)) -		- cpu_buffer->read; -	return ret; +	return rb_num_of_entries(cpu_buffer);  }  EXPORT_SYMBOL_GPL(ring_buffer_entries_cpu); @@ -2684,8 +2694,7 @@ unsigned long ring_buffer_entries(struct ring_buffer *buffer)  	/* if you care about this being correct, lock the buffer */  	for_each_buffer_cpu(buffer, cpu) {  		cpu_buffer = buffer->buffers[cpu]; -		entries += (local_read(&cpu_buffer->entries) - -			    local_read(&cpu_buffer->overrun)) - cpu_buffer->read; +		entries += rb_num_of_entries(cpu_buffer);  	}  	return entries;  |