lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 13 May 2013 07:55:14 -0500
From:	Robin Holt <holt@....com>
To:	Thomas Gleixner <tglx@...utronix.de>
Cc:	Robin Holt <holt@....com>,
	Frederic Weisbecker <fweisbec@...il.com>,
	linux-kernel@...r.kernel.org, Ingo Molnar <mingo@...nel.org>
Subject: Re: Full dynticks needs evtdesc set before marking cpu online.

On Mon, May 13, 2013 at 11:21:00AM +0200, Thomas Gleixner wrote:
> On Wed, 8 May 2013, Robin Holt wrote:
> 
> > Thomas,
> > 
> > We are seeing failures booting medium sized machines which I think is
> > a change in expectations that dyntick put on x86's start_secondary.
> > 
> > During boot of cpus, we see an occassional panic in tick_do_broadcast at
> 
> http://lkml.indiana.edu/hypermail/linux/kernel/1305.0/01818.html
> 
> Will hit Linus tree soon.

I think this is really due to a sequence in start_secondary.  The cpu
has been marked as online, but its evtdesc has not been initialized.
I sent a followup to this with a hack/patch.

It was essentially:
--- linux.orig/arch/x86/kernel/smpboot.c
+++ linux/arch/x86/kernel/smpboot.c
@@ -264,6 +264,8 @@ notrace static void __cpuinit start_seco
         */
        check_tsc_sync_target();
 
+       x86_cpuinit.setup_percpu_clockev();
+
        /*
         * We need to hold vector_lock so there the set of online cpus
         * does not change while we are assigning vectors to cpus.  Holding
@@ -281,8 +283,6 @@ notrace static void __cpuinit start_seco
        /* to prevent fake stack check failure in clock setup */
        boot_init_stack_canary();
 
-       x86_cpuinit.setup_percpu_clockev();
-
        wmb();
        cpu_startup_entry(CPUHP_ONLINE);
 }


Robin
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ