[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-rt-users
Subject:    Re: [RT] Warning from swake_up_all_locked in rt-4.4.4-rt11
From:       Sebastian Andrzej Siewior <bigeasy () linutronix ! de>
Date:       2016-03-30 14:24:57
Message-ID: 56FBE1B9.3080806 () linutronix ! de
[Download RAW message or body]

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
--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic