public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
From: nomura@hpc.bs1.fc.nec.co.jp
To: linux-ia64@vger.kernel.org
Subject: Re: [Linux-ia64] where to set rr for uncached region
Date: Thu, 29 Nov 2001 07:34:21 +0000	[thread overview]
Message-ID: <marc-linux-ia64-105590698805560@msgid-missing> (raw)
In-Reply-To: <marc-linux-ia64-105590698805542@msgid-missing>

Hi,

Thank you for your suggestion. It's a better approach.
Though putting the check in __call_console_drivers() does fix the problem,
it's not satisfactory. Because, until cpu_online_map is set up, log_buf is
flushed without printing.

So I put the check in release_console_sem().
How about this fix?

From: David Mosberger <davidm@hpl.hp.com>
Subject: Re: [Linux-ia64] where to set rr for uncached region
Date: Mon, 26 Nov 2001 15:41:31 -0800

> Hmmh, this is a bit of a nasty problem.  We shouldn't be calling any
> console drivers until an AP is fully initialized.  But the platform
> independent part of Linux currently only delays printing on the
> boostrap processor.  Perhaps printk() should be enhanced with a check
> to ensure that a processor is ready for calling the console driver.
> For example, in __call_console_drivers() we could have something along
> the lines of:
> 
> 	for (con = console_drivers; con; con = con->next) {
> 		if ((con->flags & CON_ENABLED) && con->write
> 		    && (cpu_online_map & 1UL << smp_processor_id()))
> 			con->write(con, &LOG_BUF(start), end - start);
> 	}
> 
> Do you want to try this?

Index: kernel/printk.c
=================================RCS file: /home/cvsadm/cvsroot/linux/kernel/printk.c,v
retrieving revision 1.1.1.8.2.1
diff -u -r1.1.1.8.2.1 printk.c
--- kernel/printk.c	2001/11/27 08:28:04	1.1.1.8.2.1
+++ kernel/printk.c	2001/11/29 06:20:35
@@ -505,6 +505,10 @@
 	for ( ; ; ) {
 		spin_lock_irqsave(&logbuf_lock, flags);
 		must_wake_klogd |= log_start - log_end;
+#ifndef CONFIG_IA64_EARLY_PRINTK
+		if (!(cpu_online_map & 1UL << smp_processor_id()))
+			break;
+#endif
 		if (con_start = log_end)
 			break;			/* Nothing to print */
 		_con_start = con_start;


Best regards.
--
NOMURA, Jun'ichi <j-nomura@ce.jp.nec.com, nomura@hpc.bs1.fc.nec.co.jp>
HPC Operating System Group, 1st Computers Software Division,
Computers Software Operations Unit, NEC Solutions.


  parent reply	other threads:[~2001-11-29  7:34 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-11-22 11:36 [Linux-ia64] where to set rr for uncached region nomura
2001-11-26 23:41 ` David Mosberger
2001-11-29  7:34 ` nomura [this message]
2001-11-30  5:46 ` David Mosberger

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=marc-linux-ia64-105590698805560@msgid-missing \
    --to=nomura@hpc.bs1.fc.nec.co.jp \
    --cc=linux-ia64@vger.kernel.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: 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