|
@@ -478,7 +478,7 @@ struct ring_buffer_per_cpu {
|
|
|
int cpu;
|
|
|
atomic_t record_disabled;
|
|
|
struct ring_buffer *buffer;
|
|
|
- spinlock_t reader_lock; /* serialize readers */
|
|
|
+ raw_spinlock_t reader_lock; /* serialize readers */
|
|
|
arch_spinlock_t lock;
|
|
|
struct lock_class_key lock_key;
|
|
|
struct list_head *pages;
|
|
@@ -1062,7 +1062,7 @@ rb_allocate_cpu_buffer(struct ring_buffer *buffer, int cpu)
|
|
|
|
|
|
cpu_buffer->cpu = cpu;
|
|
|
cpu_buffer->buffer = buffer;
|
|
|
- spin_lock_init(&cpu_buffer->reader_lock);
|
|
|
+ raw_spin_lock_init(&cpu_buffer->reader_lock);
|
|
|
lockdep_set_class(&cpu_buffer->reader_lock, buffer->reader_lock_key);
|
|
|
cpu_buffer->lock = (arch_spinlock_t)__ARCH_SPIN_LOCK_UNLOCKED;
|
|
|
|
|
@@ -1259,7 +1259,7 @@ rb_remove_pages(struct ring_buffer_per_cpu *cpu_buffer, unsigned nr_pages)
|
|
|
struct list_head *p;
|
|
|
unsigned i;
|
|
|
|
|
|
- spin_lock_irq(&cpu_buffer->reader_lock);
|
|
|
+ raw_spin_lock_irq(&cpu_buffer->reader_lock);
|
|
|
rb_head_page_deactivate(cpu_buffer);
|
|
|
|
|
|
for (i = 0; i < nr_pages; i++) {
|
|
@@ -1277,7 +1277,7 @@ rb_remove_pages(struct ring_buffer_per_cpu *cpu_buffer, unsigned nr_pages)
|
|
|
rb_check_pages(cpu_buffer);
|
|
|
|
|
|
out:
|
|
|
- spin_unlock_irq(&cpu_buffer->reader_lock);
|
|
|
+ raw_spin_unlock_irq(&cpu_buffer->reader_lock);
|
|
|
}
|
|
|
|
|
|
static void
|
|
@@ -1288,7 +1288,7 @@ rb_insert_pages(struct ring_buffer_per_cpu *cpu_buffer,
|
|
|
struct list_head *p;
|
|
|
unsigned i;
|
|
|
|
|
|
- spin_lock_irq(&cpu_buffer->reader_lock);
|
|
|
+ raw_spin_lock_irq(&cpu_buffer->reader_lock);
|
|
|
rb_head_page_deactivate(cpu_buffer);
|
|
|
|
|
|
for (i = 0; i < nr_pages; i++) {
|
|
@@ -1303,7 +1303,7 @@ rb_insert_pages(struct ring_buffer_per_cpu *cpu_buffer,
|
|
|
rb_check_pages(cpu_buffer);
|
|
|
|
|
|
out:
|
|
|
- spin_unlock_irq(&cpu_buffer->reader_lock);
|
|
|
+ raw_spin_unlock_irq(&cpu_buffer->reader_lock);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -2804,9 +2804,9 @@ void ring_buffer_iter_reset(struct ring_buffer_iter *iter)
|
|
|
|
|
|
cpu_buffer = iter->cpu_buffer;
|
|
|
|
|
|
- spin_lock_irqsave(&cpu_buffer->reader_lock, flags);
|
|
|
+ raw_spin_lock_irqsave(&cpu_buffer->reader_lock, flags);
|
|
|
rb_iter_reset(iter);
|
|
|
- spin_unlock_irqrestore(&cpu_buffer->reader_lock, flags);
|
|
|
+ raw_spin_unlock_irqrestore(&cpu_buffer->reader_lock, flags);
|
|
|
}
|
|
|
EXPORT_SYMBOL_GPL(ring_buffer_iter_reset);
|
|
|
|
|
@@ -3265,12 +3265,12 @@ ring_buffer_peek(struct ring_buffer *buffer, int cpu, u64 *ts,
|
|
|
again:
|
|
|
local_irq_save(flags);
|
|
|
if (dolock)
|
|
|
- spin_lock(&cpu_buffer->reader_lock);
|
|
|
+ raw_spin_lock(&cpu_buffer->reader_lock);
|
|
|
event = rb_buffer_peek(cpu_buffer, ts, lost_events);
|
|
|
if (event && event->type_len == RINGBUF_TYPE_PADDING)
|
|
|
rb_advance_reader(cpu_buffer);
|
|
|
if (dolock)
|
|
|
- spin_unlock(&cpu_buffer->reader_lock);
|
|
|
+ raw_spin_unlock(&cpu_buffer->reader_lock);
|
|
|
local_irq_restore(flags);
|
|
|
|
|
|
if (event && event->type_len == RINGBUF_TYPE_PADDING)
|
|
@@ -3295,9 +3295,9 @@ ring_buffer_iter_peek(struct ring_buffer_iter *iter, u64 *ts)
|
|
|
unsigned long flags;
|
|
|
|
|
|
again:
|
|
|
- spin_lock_irqsave(&cpu_buffer->reader_lock, flags);
|
|
|
+ raw_spin_lock_irqsave(&cpu_buffer->reader_lock, flags);
|
|
|
event = rb_iter_peek(iter, ts);
|
|
|
- spin_unlock_irqrestore(&cpu_buffer->reader_lock, flags);
|
|
|
+ raw_spin_unlock_irqrestore(&cpu_buffer->reader_lock, flags);
|
|
|
|
|
|
if (event && event->type_len == RINGBUF_TYPE_PADDING)
|
|
|
goto again;
|
|
@@ -3337,7 +3337,7 @@ ring_buffer_consume(struct ring_buffer *buffer, int cpu, u64 *ts,
|
|
|
cpu_buffer = buffer->buffers[cpu];
|
|
|
local_irq_save(flags);
|
|
|
if (dolock)
|
|
|
- spin_lock(&cpu_buffer->reader_lock);
|
|
|
+ raw_spin_lock(&cpu_buffer->reader_lock);
|
|
|
|
|
|
event = rb_buffer_peek(cpu_buffer, ts, lost_events);
|
|
|
if (event) {
|
|
@@ -3346,7 +3346,7 @@ ring_buffer_consume(struct ring_buffer *buffer, int cpu, u64 *ts,
|
|
|
}
|
|
|
|
|
|
if (dolock)
|
|
|
- spin_unlock(&cpu_buffer->reader_lock);
|
|
|
+ raw_spin_unlock(&cpu_buffer->reader_lock);
|
|
|
local_irq_restore(flags);
|
|
|
|
|
|
out:
|
|
@@ -3438,11 +3438,11 @@ ring_buffer_read_start(struct ring_buffer_iter *iter)
|
|
|
|
|
|
cpu_buffer = iter->cpu_buffer;
|
|
|
|
|
|
- spin_lock_irqsave(&cpu_buffer->reader_lock, flags);
|
|
|
+ raw_spin_lock_irqsave(&cpu_buffer->reader_lock, flags);
|
|
|
arch_spin_lock(&cpu_buffer->lock);
|
|
|
rb_iter_reset(iter);
|
|
|
arch_spin_unlock(&cpu_buffer->lock);
|
|
|
- spin_unlock_irqrestore(&cpu_buffer->reader_lock, flags);
|
|
|
+ raw_spin_unlock_irqrestore(&cpu_buffer->reader_lock, flags);
|
|
|
}
|
|
|
EXPORT_SYMBOL_GPL(ring_buffer_read_start);
|
|
|
|
|
@@ -3477,7 +3477,7 @@ ring_buffer_read(struct ring_buffer_iter *iter, u64 *ts)
|
|
|
struct ring_buffer_per_cpu *cpu_buffer = iter->cpu_buffer;
|
|
|
unsigned long flags;
|
|
|
|
|
|
- spin_lock_irqsave(&cpu_buffer->reader_lock, flags);
|
|
|
+ raw_spin_lock_irqsave(&cpu_buffer->reader_lock, flags);
|
|
|
again:
|
|
|
event = rb_iter_peek(iter, ts);
|
|
|
if (!event)
|
|
@@ -3488,7 +3488,7 @@ ring_buffer_read(struct ring_buffer_iter *iter, u64 *ts)
|
|
|
|
|
|
rb_advance_iter(iter);
|
|
|
out:
|
|
|
- spin_unlock_irqrestore(&cpu_buffer->reader_lock, flags);
|
|
|
+ raw_spin_unlock_irqrestore(&cpu_buffer->reader_lock, flags);
|
|
|
|
|
|
return event;
|
|
|
}
|
|
@@ -3557,7 +3557,7 @@ void ring_buffer_reset_cpu(struct ring_buffer *buffer, int cpu)
|
|
|
|
|
|
atomic_inc(&cpu_buffer->record_disabled);
|
|
|
|
|
|
- spin_lock_irqsave(&cpu_buffer->reader_lock, flags);
|
|
|
+ raw_spin_lock_irqsave(&cpu_buffer->reader_lock, flags);
|
|
|
|
|
|
if (RB_WARN_ON(cpu_buffer, local_read(&cpu_buffer->committing)))
|
|
|
goto out;
|
|
@@ -3569,7 +3569,7 @@ void ring_buffer_reset_cpu(struct ring_buffer *buffer, int cpu)
|
|
|
arch_spin_unlock(&cpu_buffer->lock);
|
|
|
|
|
|
out:
|
|
|
- spin_unlock_irqrestore(&cpu_buffer->reader_lock, flags);
|
|
|
+ raw_spin_unlock_irqrestore(&cpu_buffer->reader_lock, flags);
|
|
|
|
|
|
atomic_dec(&cpu_buffer->record_disabled);
|
|
|
}
|
|
@@ -3607,10 +3607,10 @@ int ring_buffer_empty(struct ring_buffer *buffer)
|
|
|
cpu_buffer = buffer->buffers[cpu];
|
|
|
local_irq_save(flags);
|
|
|
if (dolock)
|
|
|
- spin_lock(&cpu_buffer->reader_lock);
|
|
|
+ raw_spin_lock(&cpu_buffer->reader_lock);
|
|
|
ret = rb_per_cpu_empty(cpu_buffer);
|
|
|
if (dolock)
|
|
|
- spin_unlock(&cpu_buffer->reader_lock);
|
|
|
+ raw_spin_unlock(&cpu_buffer->reader_lock);
|
|
|
local_irq_restore(flags);
|
|
|
|
|
|
if (!ret)
|
|
@@ -3641,10 +3641,10 @@ int ring_buffer_empty_cpu(struct ring_buffer *buffer, int cpu)
|
|
|
cpu_buffer = buffer->buffers[cpu];
|
|
|
local_irq_save(flags);
|
|
|
if (dolock)
|
|
|
- spin_lock(&cpu_buffer->reader_lock);
|
|
|
+ raw_spin_lock(&cpu_buffer->reader_lock);
|
|
|
ret = rb_per_cpu_empty(cpu_buffer);
|
|
|
if (dolock)
|
|
|
- spin_unlock(&cpu_buffer->reader_lock);
|
|
|
+ raw_spin_unlock(&cpu_buffer->reader_lock);
|
|
|
local_irq_restore(flags);
|
|
|
|
|
|
return ret;
|
|
@@ -3841,7 +3841,7 @@ int ring_buffer_read_page(struct ring_buffer *buffer,
|
|
|
if (!bpage)
|
|
|
goto out;
|
|
|
|
|
|
- spin_lock_irqsave(&cpu_buffer->reader_lock, flags);
|
|
|
+ raw_spin_lock_irqsave(&cpu_buffer->reader_lock, flags);
|
|
|
|
|
|
reader = rb_get_reader_page(cpu_buffer);
|
|
|
if (!reader)
|
|
@@ -3964,7 +3964,7 @@ int ring_buffer_read_page(struct ring_buffer *buffer,
|
|
|
memset(&bpage->data[commit], 0, BUF_PAGE_SIZE - commit);
|
|
|
|
|
|
out_unlock:
|
|
|
- spin_unlock_irqrestore(&cpu_buffer->reader_lock, flags);
|
|
|
+ raw_spin_unlock_irqrestore(&cpu_buffer->reader_lock, flags);
|
|
|
|
|
|
out:
|
|
|
return ret;
|