Revision db8894f2 trace/simple.c
b/trace/simple.c | ||
---|---|---|
269 | 269 |
|
270 | 270 |
void trace_record_finish(TraceBufferRecord *rec) |
271 | 271 |
{ |
272 |
uint8_t temp_rec[sizeof(TraceRecord)]; |
|
273 |
TraceRecord *record = (TraceRecord *) temp_rec; |
|
274 |
read_from_buffer(rec->tbuf_idx, temp_rec, sizeof(TraceRecord)); |
|
272 |
TraceRecord record; |
|
273 |
read_from_buffer(rec->tbuf_idx, &record, sizeof(TraceRecord)); |
|
275 | 274 |
smp_wmb(); /* write barrier before marking as valid */ |
276 |
record->event |= TRACE_RECORD_VALID;
|
|
277 |
write_to_buffer(rec->tbuf_idx, temp_rec, sizeof(TraceRecord));
|
|
275 |
record.event |= TRACE_RECORD_VALID;
|
|
276 |
write_to_buffer(rec->tbuf_idx, &record, sizeof(TraceRecord));
|
|
278 | 277 |
|
279 | 278 |
if ((trace_idx - writeout_idx) > TRACE_BUF_FLUSH_THRESHOLD) { |
280 | 279 |
flush_trace_file(false); |
Also available in: Unified diff