浏览代码

ring-buffer: use BUF_PAGE_HDR_SIZE in calculating index

The index of the event is found by masking PAGE_MASK to it and
subtracting the header size. Currently the header size is calculate
by PAGE_SIZE - BUF_PAGE_SIZE, when we already have a macro
BUF_PAGE_HDR_SIZE to define it.

If we want to change BUF_PAGE_SIZE to something less than filling
the rest of the page (this is done for debugging), then we break
the algorithm to find the index.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Steven Rostedt 16 年之前
父节点
当前提交
22f470f8da
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      kernel/trace/ring_buffer.c

+ 1 - 1
kernel/trace/ring_buffer.c

@@ -1013,7 +1013,7 @@ rb_event_index(struct ring_buffer_event *event)
 {
 {
 	unsigned long addr = (unsigned long)event;
 	unsigned long addr = (unsigned long)event;
 
 
-	return (addr & ~PAGE_MASK) - (PAGE_SIZE - BUF_PAGE_SIZE);
+	return (addr & ~PAGE_MASK) - BUF_PAGE_HDR_SIZE;
 }
 }
 
 
 static inline int
 static inline int