|
@@ -1075,6 +1075,7 @@ rb_allocate_cpu_buffer(struct ring_buffer *buffer, int nr_pages, int cpu)
|
|
|
rb_init_page(bpage->page);
|
|
|
|
|
|
INIT_LIST_HEAD(&cpu_buffer->reader_page->list);
|
|
|
+ INIT_LIST_HEAD(&cpu_buffer->new_pages);
|
|
|
|
|
|
ret = rb_allocate_pages(cpu_buffer, nr_pages);
|
|
|
if (ret < 0)
|
|
@@ -1346,10 +1347,9 @@ rb_remove_pages(struct ring_buffer_per_cpu *cpu_buffer, unsigned int nr_pages)
|
|
|
* If something was added to this page, it was full
|
|
|
* since it is not the tail page. So we deduct the
|
|
|
* bytes consumed in ring buffer from here.
|
|
|
- * No need to update overruns, since this page is
|
|
|
- * deleted from ring buffer and its entries are
|
|
|
- * already accounted for.
|
|
|
+ * Increment overrun to account for the lost events.
|
|
|
*/
|
|
|
+ local_add(page_entries, &cpu_buffer->overrun);
|
|
|
local_sub(BUF_PAGE_SIZE, &cpu_buffer->entries_bytes);
|
|
|
}
|
|
|
|