History

tracing: Cleanup the convoluted softirq tracepoints

With the addition of trace_softirq_raise() the softirq tracepoint got even more convoluted. Why the tracepoints take two pointers to assign an integer is beyond my comprehension. But adding an extra case which treats the first pointer as an unsigned long when the second pointer is NULL including the back and forth type casting is just horrible. Convert the softirq tracepoints to take a single unsigned int argument for the softirq vector number and fix the call sites.

Thomas Gleixner committed 16 years ago

Commit f4bc6bb1 parent 750ed153 files · +30 −42Browse files

Showing the changes to include/linux (1 of 3 files). Show all

Unified · Split

include/linux/interrupt.h+1−1
@@ -410,7 +410,7 @@ extern void open_softirq(int nr, void (*action)(struct softirq_action *)); · 409 unmodified lines
410extern void softirq_init(void);410extern void softirq_init(void);
411static inline void __raise_softirq_irqoff(unsigned int nr)411static inline void __raise_softirq_irqoff(unsigned int nr)
412{412{
413 trace_softirq_raise((struct softirq_action *)(unsigned long)nr, NULL);413 trace_softirq_raise(nr);
414 or_softirq_pending(1UL << nr);414 or_softirq_pending(1UL << nr);
415}415}
416 416

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t