Thread (3 messages) 3 messages, 2 authors, 2015-02-26

Re: [RFC PATCH] tasklet: correct the comments about tasklet schedule

From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: 2015-02-26 14:35:59

* Qiang Huang | 2014-04-30 12:02:09 [+0800]:
quoted hunk ↗ jump to hunk
--- a/include/linux/interrupt.h
+++ b/include/linux/interrupt.h
@@ -514,9 +514,8 @@ extern void __send_remote_softirq(struct call_single_data *cp, int cpu,
     to be executed on some cpu at least once after this.
   * If the tasklet is already scheduled, but its execution is still not
     started, it will be executed only once.
-   * If this tasklet is already running on another CPU, it is rescheduled
-     for later.
This is true
-   * Schedule must not be called from the tasklet itself (a lockup occurs)
This is true
+   * If this tasklet is already running on another CPU (or schedule is called
+     from tasklet itself), it wound not be rescheduled.
that are two statements.

I suggest you fix the driver instead poking at the tasklet code.
   * Tasklet is strictly serialized wrt itself, but not
     wrt another tasklets. If client needs some intertask synchronization,
     he makes it with spinlocks.
Sebastian
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help