Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1367246
| From | Sebastian Andrzej Siewior <bigeasy@linutronix.de> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [RT] Warning from swake_up_all_locked in rt-4.4.4-rt11 |
| Date | 2016-03-30 16:30 +0200 |
| Message-ID | <ripia-6GA-11@gated-at.bofh.it> (permalink) |
| References | <rcrPI-6K0-3@gated-at.bofh.it> <rcww1-1qc-7@gated-at.bofh.it> <rilxT-3RR-3@gated-at.bofh.it> <rioP8-6bC-13@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On 03/30/2016 03:52 PM, Clark Williams wrote:
> On Wed, 30 Mar 2016 12:22:51 +0200
> I'm seeing output like this with between 3 and 9 wakeups per kworker:
same here. And with
--- a/kernel/sched/swait.c
+++ b/kernel/sched/swait.c
@@ -32,17 +32,24 @@ EXPORT_SYMBOL(swake_up_locked);
void swake_up_all_locked(struct swait_queue_head *q)
{
struct swait_queue *curr;
+ char comms[512];
int wakes = 0;
+ comms[0] = '\0';
while (!list_empty(&q->task_list)) {
curr = list_first_entry(&q->task_list, typeof(*curr),
task_list);
+ strcat(comms, curr->task->comm);
+ strcat(comms, " ");
wake_up_process(curr->task);
list_del_init(&curr->task_list);
wakes++;
}
- WARN_ON(wakes > 2);
+ if (wakes > 2) {
+ pr_err("%s(%d) %d\n", __func__, __LINE__, wakes);
+ pr_err("%s(%d) %s\n", __func__, __LINE__, comms);
+ }
}
EXPORT_SYMBOL(swake_up_all_locked);
you would see that it wakes other kworker :)
Sebastian
Back to linux.kernel | Previous | Next — Previous in thread | Find similar | Unroll thread
Re: [RT] Warning from swake_up_all_locked in rt-4.4.4-rt11 Sebastian Andrzej Siewior <bigeasy@linutronix.de> - 2016-03-30 12:30 +0200
Re: [RT] Warning from swake_up_all_locked in rt-4.4.4-rt11 Clark Williams <williams@redhat.com> - 2016-03-30 16:00 +0200
Re: [RT] Warning from swake_up_all_locked in rt-4.4.4-rt11 Sebastian Andrzej Siewior <bigeasy@linutronix.de> - 2016-03-30 16:30 +0200
csiph-web