aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/trace/trace_boot.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/trace/trace_boot.c')
-rw-r--r--kernel/trace/trace_boot.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/kernel/trace/trace_boot.c b/kernel/trace/trace_boot.c
index 1f07895977a0..4e08debf662d 100644
--- a/kernel/trace/trace_boot.c
+++ b/kernel/trace/trace_boot.c
@@ -132,7 +132,6 @@ void trace_boot_call(struct boot_trace_call *bt, initcall_t fn)
132{ 132{
133 struct ring_buffer_event *event; 133 struct ring_buffer_event *event;
134 struct trace_boot_call *entry; 134 struct trace_boot_call *entry;
135 unsigned long irq_flags;
136 struct trace_array *tr = boot_trace; 135 struct trace_array *tr = boot_trace;
137 136
138 if (!tr || !pre_initcalls_finished) 137 if (!tr || !pre_initcalls_finished)
@@ -144,15 +143,14 @@ void trace_boot_call(struct boot_trace_call *bt, initcall_t fn)
144 sprint_symbol(bt->func, (unsigned long)fn); 143 sprint_symbol(bt->func, (unsigned long)fn);
145 preempt_disable(); 144 preempt_disable();
146 145
147 event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry), 146 event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry));
148 &irq_flags);
149 if (!event) 147 if (!event)
150 goto out; 148 goto out;
151 entry = ring_buffer_event_data(event); 149 entry = ring_buffer_event_data(event);
152 tracing_generic_entry_update(&entry->ent, 0, 0); 150 tracing_generic_entry_update(&entry->ent, 0, 0);
153 entry->ent.type = TRACE_BOOT_CALL; 151 entry->ent.type = TRACE_BOOT_CALL;
154 entry->boot_call = *bt; 152 entry->boot_call = *bt;
155 ring_buffer_unlock_commit(tr->buffer, event, irq_flags); 153 ring_buffer_unlock_commit(tr->buffer, event);
156 154
157 trace_wake_up(); 155 trace_wake_up();
158 156
@@ -164,7 +162,6 @@ void trace_boot_ret(struct boot_trace_ret *bt, initcall_t fn)
164{ 162{
165 struct ring_buffer_event *event; 163 struct ring_buffer_event *event;
166 struct trace_boot_ret *entry; 164 struct trace_boot_ret *entry;
167 unsigned long irq_flags;
168 struct trace_array *tr = boot_trace; 165 struct trace_array *tr = boot_trace;
169 166
170 if (!tr || !pre_initcalls_finished) 167 if (!tr || !pre_initcalls_finished)
@@ -173,15 +170,14 @@ void trace_boot_ret(struct boot_trace_ret *bt, initcall_t fn)
173 sprint_symbol(bt->func, (unsigned long)fn); 170 sprint_symbol(bt->func, (unsigned long)fn);
174 preempt_disable(); 171 preempt_disable();
175 172
176 event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry), 173 event = ring_buffer_lock_reserve(tr->buffer, sizeof(*entry));
177 &irq_flags);
178 if (!event) 174 if (!event)
179 goto out; 175 goto out;
180 entry = ring_buffer_event_data(event); 176 entry = ring_buffer_event_data(event);
181 tracing_generic_entry_update(&entry->ent, 0, 0); 177 tracing_generic_entry_update(&entry->ent, 0, 0);
182 entry->ent.type = TRACE_BOOT_RET; 178 entry->ent.type = TRACE_BOOT_RET;
183 entry->boot_ret = *bt; 179 entry->boot_ret = *bt;
184 ring_buffer_unlock_commit(tr->buffer, event, irq_flags); 180 ring_buffer_unlock_commit(tr->buffer, event);
185 181
186 trace_wake_up(); 182 trace_wake_up();
187 183