Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753419AbcC3OZB (ORCPT ); Wed, 30 Mar 2016 10:25:01 -0400 Received: from www.linutronix.de ([62.245.132.108]:42996 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751631AbcC3OZA (ORCPT ); Wed, 30 Mar 2016 10:25:00 -0400 Subject: Re: [RT] Warning from swake_up_all_locked in rt-4.4.4-rt11 To: Clark Williams References: <20160313225358.4eb9316a@sluggy.hsv.redhat.com> <20160330102251.GB21849@linutronix.de> <20160330085218.32f13bd2@sluggy.hsv.redhat.com> Cc: Thomas Gleixner , Daniel Wagner , RT , LKML From: Sebastian Andrzej Siewior Message-ID: <56FBE1B9.3080806@linutronix.de> Date: Wed, 30 Mar 2016 16:24:57 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Icedove/38.7.0 MIME-Version: 1.0 In-Reply-To: <20160330085218.32f13bd2@sluggy.hsv.redhat.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Linutronix-Spam-Score: -1.0 X-Linutronix-Spam-Level: - X-Linutronix-Spam-Status: No , -1.0 points, 5.0 required, ALL_TRUSTED=-1,SHORTCIRCUIT=-0.0001 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1121 Lines: 36 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