From: Boris Ostrovsky <boris.ostrovsky@oracle.com> To: david.vrabel@citrix.com, jgross@suse.com Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org, Boris Ostrovsky <boris.ostrovsky@oracle.com>, x86@kernel.org, Thomas Gleixner <tglx@linutronix.de> Subject: [PATCH v2 2/2] hotplug: Prevent alloc/free of irq descriptors during cpu up/down (again) Date: Wed, 3 Aug 2016 13:22:28 -0400 [thread overview] Message-ID: <1470244948-17674-3-git-send-email-boris.ostrovsky@oracle.com> (raw) In-Reply-To: <1470244948-17674-1-git-send-email-boris.ostrovsky@oracle.com> Now that Xen no longer allocates irqs in _cpu_up() we can restore commit a89941816726 ("hotplug: Prevent alloc/free of irq descriptors during cpu up/down") Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com> Acked-by: Thomas Gleixner <tglx@linutronix.de> CC: x86@kernel.org CC: Thomas Gleixner <tglx@linutronix.de> --- arch/x86/kernel/smpboot.c | 11 ----------- kernel/cpu.c | 8 ++++++++ 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c index 2a6e84a..067de61 100644 --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c @@ -1108,17 +1108,8 @@ int native_cpu_up(unsigned int cpu, struct task_struct *tidle) common_cpu_up(cpu, tidle); - /* - * We have to walk the irq descriptors to setup the vector - * space for the cpu which comes online. Prevent irq - * alloc/free across the bringup. - */ - irq_lock_sparse(); - err = do_boot_cpu(apicid, cpu, tidle); - if (err) { - irq_unlock_sparse(); pr_err("do_boot_cpu failed(%d) to wakeup CPU#%u\n", err, cpu); return -EIO; } @@ -1136,8 +1127,6 @@ int native_cpu_up(unsigned int cpu, struct task_struct *tidle) touch_nmi_watchdog(); } - irq_unlock_sparse(); - return 0; } diff --git a/kernel/cpu.c b/kernel/cpu.c index 341bf80..ec12b72 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c @@ -349,8 +349,16 @@ static int bringup_cpu(unsigned int cpu) struct task_struct *idle = idle_thread_get(cpu); int ret; + /* + * Some architectures have to walk the irq descriptors to + * setup the vector space for the cpu which comes online. + * Prevent irq alloc/free across the bringup. + */ + irq_lock_sparse(); + /* Arch-specific enabling code. */ ret = __cpu_up(cpu, idle); + irq_unlock_sparse(); if (ret) { cpu_notify(CPU_UP_CANCELED, cpu); return ret; -- 2.7.4
WARNING: multiple messages have this Message-ID (diff)
From: Boris Ostrovsky <boris.ostrovsky@oracle.com> To: david.vrabel@citrix.com, jgross@suse.com Cc: xen-devel@lists.xenproject.org, Boris Ostrovsky <boris.ostrovsky@oracle.com>, x86@kernel.org, Thomas Gleixner <tglx@linutronix.de>, linux-kernel@vger.kernel.org Subject: [PATCH v2 2/2] hotplug: Prevent alloc/free of irq descriptors during cpu up/down (again) Date: Wed, 3 Aug 2016 13:22:28 -0400 [thread overview] Message-ID: <1470244948-17674-3-git-send-email-boris.ostrovsky@oracle.com> (raw) In-Reply-To: <1470244948-17674-1-git-send-email-boris.ostrovsky@oracle.com> Now that Xen no longer allocates irqs in _cpu_up() we can restore commit a89941816726 ("hotplug: Prevent alloc/free of irq descriptors during cpu up/down") Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com> Acked-by: Thomas Gleixner <tglx@linutronix.de> CC: x86@kernel.org CC: Thomas Gleixner <tglx@linutronix.de> --- arch/x86/kernel/smpboot.c | 11 ----------- kernel/cpu.c | 8 ++++++++ 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c index 2a6e84a..067de61 100644 --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c @@ -1108,17 +1108,8 @@ int native_cpu_up(unsigned int cpu, struct task_struct *tidle) common_cpu_up(cpu, tidle); - /* - * We have to walk the irq descriptors to setup the vector - * space for the cpu which comes online. Prevent irq - * alloc/free across the bringup. - */ - irq_lock_sparse(); - err = do_boot_cpu(apicid, cpu, tidle); - if (err) { - irq_unlock_sparse(); pr_err("do_boot_cpu failed(%d) to wakeup CPU#%u\n", err, cpu); return -EIO; } @@ -1136,8 +1127,6 @@ int native_cpu_up(unsigned int cpu, struct task_struct *tidle) touch_nmi_watchdog(); } - irq_unlock_sparse(); - return 0; } diff --git a/kernel/cpu.c b/kernel/cpu.c index 341bf80..ec12b72 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c @@ -349,8 +349,16 @@ static int bringup_cpu(unsigned int cpu) struct task_struct *idle = idle_thread_get(cpu); int ret; + /* + * Some architectures have to walk the irq descriptors to + * setup the vector space for the cpu which comes online. + * Prevent irq alloc/free across the bringup. + */ + irq_lock_sparse(); + /* Arch-specific enabling code. */ ret = __cpu_up(cpu, idle); + irq_unlock_sparse(); if (ret) { cpu_notify(CPU_UP_CANCELED, cpu); return ret; -- 2.7.4 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel
next prev parent reply other threads:[~2016-08-03 17:25 UTC|newest] Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-08-03 17:22 [PATCH v2 0/2] Reinstate irq alloc/dealloc locking patch Boris Ostrovsky 2016-08-03 17:22 ` Boris Ostrovsky 2016-08-03 17:22 ` [PATCH v2 1/2] xen/x86: Move irq allocation from Xen smp_op.cpu_up() Boris Ostrovsky 2016-08-03 17:22 ` Boris Ostrovsky 2016-08-05 6:40 ` Juergen Gross 2016-08-05 6:40 ` Juergen Gross 2016-08-03 17:22 ` Boris Ostrovsky [this message] 2016-08-03 17:22 ` [PATCH v2 2/2] hotplug: Prevent alloc/free of irq descriptors during cpu up/down (again) Boris Ostrovsky 2016-08-05 6:41 ` Juergen Gross 2016-08-05 6:41 ` Juergen Gross 2016-08-10 18:10 ` [tip:smp/hotplug] cpu/hotplug: Prevent alloc/free of irq descriptors during CPU " tip-bot for Boris Ostrovsky 2016-08-11 12:53 ` Boris Ostrovsky 2016-08-11 13:20 ` Sebastian Andrzej Siewior 2016-08-11 14:11 ` Boris Ostrovsky 2016-08-11 14:17 ` Sebastian Andrzej Siewior 2016-08-11 14:30 ` Boris Ostrovsky 2016-08-11 14:44 ` Sebastian Andrzej Siewior 2016-08-11 15:06 ` Boris Ostrovsky 2016-08-11 15:12 ` Sebastian Andrzej Siewior 2016-08-24 17:46 ` [Xen-devel] [PATCH v2 0/2] Reinstate irq alloc/dealloc locking patch David Vrabel 2016-08-24 17:46 ` David Vrabel
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1470244948-17674-3-git-send-email-boris.ostrovsky@oracle.com \ --to=boris.ostrovsky@oracle.com \ --cc=david.vrabel@citrix.com \ --cc=jgross@suse.com \ --cc=linux-kernel@vger.kernel.org \ --cc=tglx@linutronix.de \ --cc=x86@kernel.org \ --cc=xen-devel@lists.xenproject.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.