mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: David Mosberger <davidm@hpl.hp.com>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: davidm@hpl.hp.com, marcelo@conectiva.com.br (Marcelo Tosatti),
	akpm@zip.com.au (Andrew Morton),
	j-nomura@ce.jp.nec.com, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] 2.4.16 kernel/printk.c (per processorinitializationcheck)
Date: Sat, 8 Dec 2001 17:14:40 -0800	[thread overview]
Message-ID: <15378.47872.93458.589286@napali.hpl.hp.com> (raw)
In-Reply-To: <E16CsYv-0003QO-00@the-village.bc.nu>
In-Reply-To: <15378.46887.160213.680268@napali.hpl.hp.com> <E16CsYv-0003QO-00@the-village.bc.nu>

>>>>> On Sun, 9 Dec 2001 01:15:25 +0000 (GMT), Alan Cox <alan@lxorguk.ukuu.org.uk> said:

  Alan> And break the ability for non broken setups to debug SMP boot
  Alan> up. Lets do the job properly.

Then use Andrew's patch (attached below).

	--david

--- linux-2.4.17-pre4/include/asm-ia64/system.h	Thu Nov 22 23:02:59 2001
+++ linux-akpm/include/asm-ia64/system.h	Wed Dec  5 23:09:15 2001
@@ -405,6 +405,10 @@ extern void ia64_load_extra (struct task
 	ia64_psr(ia64_task_regs(prev))->dfh = 1;				\
 	__switch_to(prev,next,last);						\
   } while (0)
+
+/* Return true if this CPU can call the console drivers in printk() */
+#define arch_consoles_callable() (cpu_online_map & (1UL << smp_processor_id()))
+
 #else
 # define switch_to(prev,next,last) do {						\
 	ia64_psr(ia64_task_regs(next))->dfh = (ia64_get_fpu_owner() != (next));	\
--- linux-2.4.17-pre4/kernel/printk.c	Thu Nov 22 23:02:59 2001
+++ linux-akpm/kernel/printk.c	Wed Dec  5 23:03:54 2001
@@ -38,6 +38,10 @@
 
 #define LOG_BUF_MASK	(LOG_BUF_LEN-1)
 
+#ifndef arch_consoles_callable
+#define arch_consoles_callable() (1)
+#endif
+
 /* printk's without a loglevel use this.. */
 #define DEFAULT_MESSAGE_LOGLEVEL 4 /* KERN_WARNING */
 
@@ -438,6 +442,14 @@ asmlinkage int printk(const char *fmt, .
 			log_level_unknown = 1;
 	}
 
+	if (!arch_consoles_callable()) {
+		/*
+		 * On some architectures, the consoles are not usable
+		 * on secondary CPUs early in the boot process.
+		 */
+		spin_unlock_irqrestore(&logbuf_lock, flags);
+		goto out;
+	}
 	if (!down_trylock(&console_sem)) {
 		/*
 		 * We own the drivers.  We can drop the spinlock and let
@@ -454,6 +466,7 @@ asmlinkage int printk(const char *fmt, .
 		 */
 		spin_unlock_irqrestore(&logbuf_lock, flags);
 	}
+out:
 	return printed_len;
 }
 EXPORT_SYMBOL(printk);

  reply	other threads:[~2001-12-09  1:15 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-12-03  5:46 [PATCH] 2.4.16 kernel/printk.c (per processor initialization check) j-nomura
2001-12-03  9:20 ` Andrew Morton
2001-12-03 10:32 ` j-nomura
2001-12-04  1:45   ` [PATCH] 2.4.16 kernel/printk.c (per processor initializationcheck) Andrew Morton
2001-12-06  5:01   ` j-nomura
2001-12-07  3:40     ` [PATCH] 2.4.16 kernel/printk.c (per processorinitializationcheck) Andrew Morton
2001-12-07 18:52       ` Marcelo Tosatti
2001-12-07 20:52         ` William Lee Irwin III
2001-12-07 21:37       ` David Mosberger
2001-12-07 20:47         ` Marcelo Tosatti
2001-12-07 22:08         ` Alan Cox
2001-12-07 22:14         ` Christopher Friesen
2001-12-07 22:17         ` David Mosberger
2001-12-07 21:09           ` Marcelo Tosatti
2001-12-08  1:10           ` David Mosberger
2001-12-08 11:27             ` Alan Cox
2001-12-08 16:41             ` David Mosberger
2001-12-08 20:45               ` Alan Cox
2001-12-09  0:32               ` David Mosberger
2001-12-09  0:55                 ` Alan Cox
2001-12-09  0:58                 ` David Mosberger
2001-12-09  1:14                   ` David Mosberger [this message]
2001-12-09  1:32                     ` Alan Cox
2001-12-09  1:15                   ` Alan Cox
2001-12-08 17:36 Manfred Spraul

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=15378.47872.93458.589286@napali.hpl.hp.com \
    --to=davidm@hpl.hp.com \
    --cc=akpm@zip.com.au \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=j-nomura@ce.jp.nec.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=marcelo@conectiva.com.br \
    /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: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®