History

irq_work: Convert flags to atomic_t

We need to convert flags to atomic_t in order to later fix an ordering issue on atomic_cmpxchg() failure. This will allow us to use atomic_fetch_or(). Also clarify the nature of those flags. [ mingo: Converted two more usage site the original patch missed. ]

Frederic Weisbecker committed 7 years ago

Commit 153bedb1 parent 31f4f5b5 files · +19 −15Browse files

Showing the changes to kernel/bpf/stackmap.c (1 of 5 files). Show all

Unified · Split

kernel/bpf/stackmap.c+1−1
@@ -289,7 +289,7 @@ static void stack_map_get_build_id_offset(struct bpf_stack_build_id *id_offs, · 288 unmodified lines
289 289
290 if (in_nmi()) {290 if (in_nmi()) {
291 work = this_cpu_ptr(&up_read_work);291 work = this_cpu_ptr(&up_read_work);
292 if (work->irq_work.flags & IRQ_WORK_BUSY)292 if (atomic_read(&work->irq_work.flags) & IRQ_WORK_BUSY)
293 /* cannot queue more up_read, fallback */293 /* cannot queue more up_read, fallback */
294 irq_work_busy = true;294 irq_work_busy = true;
295 }295 }

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