Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751834AbYGaMkF (ORCPT ); Thu, 31 Jul 2008 08:40:05 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751708AbYGaMjh (ORCPT ); Thu, 31 Jul 2008 08:39:37 -0400 Received: from mtagate8.de.ibm.com ([195.212.29.157]:44359 "EHLO mtagate8.de.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751349AbYGaMjg (ORCPT ); Thu, 31 Jul 2008 08:39:36 -0400 Message-Id: <20080731123933.615471169@de.ibm.com> References: <20080731123004.868574766@de.ibm.com> User-Agent: quilt/0.46-1 Date: Thu, 31 Jul 2008 14:30:10 +0200 From: Martin Schwidefsky To: linux-kernel@vger.kernel.org, linux-s390@vger.kernel.org Cc: Heiko Carstens , Martin Schwidefsky Subject: [patch 6/6] dont use kthread for smp_rescan_cpus(). Content-Disposition: inline; filename=105-sclp-kthread-remove.diff Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1791 Lines: 59 From: Heiko Carstens Since git commit 3da1c84c00c7e5fa8348336bd8c342f9128b0f14 "workqueues: make get_online_cpus() useable for work->func()" it is safe to call get_online_cpus() from workqueue context. So remove the kthread workaround again. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky --- drivers/s390/char/sclp_config.c | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) Index: quilt-2.6/drivers/s390/char/sclp_config.c =================================================================== --- quilt-2.6.orig/drivers/s390/char/sclp_config.c +++ quilt-2.6/drivers/s390/char/sclp_config.c @@ -8,7 +8,6 @@ #include #include #include -#include #include #include #include @@ -41,19 +40,9 @@ static void sclp_cpu_capability_notify(s put_online_cpus(); } -static int sclp_cpu_kthread(void *data) -{ - smp_rescan_cpus(); - return 0; -} - static void __ref sclp_cpu_change_notify(struct work_struct *work) { - /* Can't call smp_rescan_cpus() from workqueue context since it may - * deadlock in case of cpu hotplug. So we have to create a kernel - * thread in order to call it. - */ - kthread_run(sclp_cpu_kthread, NULL, "cpu_rescan"); + smp_rescan_cpus(); } static void sclp_conf_receiver_fn(struct evbuf_header *evbuf) -- blue skies, Martin. "Reality continues to ruin my life." - Calvin. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/