All of lore.kernel.org
 help / color / mirror / Atom feed
From: tip-bot for Ingo Molnar <mingo@elte.hu>
To: linux-tip-commits@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, hpa@zytor.com, mingo@redhat.com,
	yinghai@kernel.org, torvalds@linux-foundation.org,
	akpm@linux-foundation.org, tglx@linutronix.de, mingo@elte.hu
Subject: [tip:x86/urgent] x86: Fix printk call in print_local_apic()
Date: Thu, 2 Jul 2009 07:07:22 GMT	[thread overview]
Message-ID: <tip-251e1e44b97852aa5e53e71c4b47e55b2dfd054e@git.kernel.org> (raw)
In-Reply-To: <4A4C43BC.90506@kernel.org>

Commit-ID:  251e1e44b97852aa5e53e71c4b47e55b2dfd054e
Gitweb:     http://git.kernel.org/tip/251e1e44b97852aa5e53e71c4b47e55b2dfd054e
Author:     Ingo Molnar <mingo@elte.hu>
AuthorDate: Thu, 2 Jul 2009 08:54:01 +0200
Committer:  Ingo Molnar <mingo@elte.hu>
CommitDate: Thu, 2 Jul 2009 08:54:08 +0200

x86: Fix printk call in print_local_apic()

Instead of this:

[   75.690022] <7>printing local APIC contents on CPU#0/0:
[   75.704406] ... APIC ID:      00000000 (0)
[   75.707905] ... APIC VERSION: 00060015
[   75.722551] ... APIC TASKPRI: 00000000 (00)
[   75.725473] ... APIC PROCPRI: 00000000
[   75.728592] ... APIC LDR: 00000001
[   75.742137] ... APIC SPIV: 000001ff
[   75.744101] ... APIC ISR field:
[   75.746648] 0123456789abcdef0123456789abcdef
[   75.746649] <7>00000000000000000000000000000000

Improve the code to be saner and simpler and just print out
the bitfield in a single line using hexa values - not as a
(rather pointless) binary bitfield.

Partially reused Linus's initial fix for this.

Reported-and-Tested-by: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
LKML-Reference: <4A4C43BC.90506@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>


---
 arch/x86/kernel/apic/io_apic.c |   31 +++++++++++++------------------
 1 files changed, 13 insertions(+), 18 deletions(-)

diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
index 4d0216f..8fd1efb 100644
--- a/arch/x86/kernel/apic/io_apic.c
+++ b/arch/x86/kernel/apic/io_apic.c
@@ -1716,25 +1716,19 @@ __apicdebuginit(void) print_IO_APIC(void)
 	return;
 }
 
-__apicdebuginit(void) print_APIC_bitfield(int base)
+__apicdebuginit(void) print_APIC_field(int base)
 {
-	unsigned int v;
-	int i, j;
+	int i;
 
 	if (apic_verbosity == APIC_QUIET)
 		return;
 
-	printk(KERN_DEBUG "0123456789abcdef0123456789abcdef\n" KERN_DEBUG);
-	for (i = 0; i < 8; i++) {
-		v = apic_read(base + i*0x10);
-		for (j = 0; j < 32; j++) {
-			if (v & (1<<j))
-				printk("1");
-			else
-				printk("0");
-		}
-		printk("\n");
-	}
+	printk(KERN_DEBUG);
+
+	for (i = 0; i < 8; i++)
+		printk(KERN_CONT "%08x", apic_read(base + i*0x10));
+
+	printk(KERN_CONT "\n");
 }
 
 __apicdebuginit(void) print_local_APIC(void *dummy)
@@ -1745,7 +1739,8 @@ __apicdebuginit(void) print_local_APIC(void *dummy)
 	if (apic_verbosity == APIC_QUIET)
 		return;
 
-	printk("\n" KERN_DEBUG "printing local APIC contents on CPU#%d/%d:\n",
+	printk(KERN_DEBUG "\n");
+	printk(KERN_DEBUG "printing local APIC contents on CPU#%d/%d:\n",
 		smp_processor_id(), hard_smp_processor_id());
 	v = apic_read(APIC_ID);
 	printk(KERN_INFO "... APIC ID:      %08x (%01x)\n", v, read_apic_id());
@@ -1786,11 +1781,11 @@ __apicdebuginit(void) print_local_APIC(void *dummy)
 	printk(KERN_DEBUG "... APIC SPIV: %08x\n", v);
 
 	printk(KERN_DEBUG "... APIC ISR field:\n");
-	print_APIC_bitfield(APIC_ISR);
+	print_APIC_field(APIC_ISR);
 	printk(KERN_DEBUG "... APIC TMR field:\n");
-	print_APIC_bitfield(APIC_TMR);
+	print_APIC_field(APIC_TMR);
 	printk(KERN_DEBUG "... APIC IRR field:\n");
-	print_APIC_bitfield(APIC_IRR);
+	print_APIC_field(APIC_IRR);
 
 	if (APIC_INTEGRATED(ver)) {             /* !82489DX */
 		if (maxlvt > 3)         /* Due to the Pentium erratum 3AP. */

  parent reply	other threads:[~2009-07-02  7:08 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-07-02  4:14 printk regression? Yinghai Lu
2009-07-02  4:23 ` Linus Torvalds
2009-07-02  4:28   ` Linus Torvalds
2009-07-02  5:21     ` [PATCH] x86: fix printk calling in print_local_apic Yinghai Lu
2009-07-02  6:12       ` Ingo Molnar
2009-07-02  6:28         ` [PATCH, v2] x86: Fix printk call in print_local_apic() Ingo Molnar
2009-07-02  6:39           ` Yinghai Lu
2009-07-02  6:50             ` [PATCH, v3] " Ingo Molnar
2009-07-02  6:48           ` [PATCH, v2] " Andrew Morton
2009-07-02  6:59             ` [PATCH, v4] " Ingo Molnar
2009-07-02  7:09               ` Ingo Molnar
2009-07-02  7:07       ` tip-bot for Ingo Molnar [this message]
2009-07-02  5:42   ` printk regression? Joe Perches
2009-07-02 12:29     ` Michael S. Zick
2009-07-02 15:29       ` Joe Perches
2009-07-02 17:42         ` Linus Torvalds
2009-07-02 17:27     ` Linus Torvalds
2009-07-02 17:38       ` Joe Perches
2009-07-02 17:43         ` Linus Torvalds
2009-07-06 20:05           ` [PATCH] Remove multiple KERN_ prefixes from printk formats Joe Perches
2009-07-06 20:23             ` Mike Frysinger
2009-07-06 20:29               ` Joe Perches
2009-07-06 20:33               ` Linus Torvalds
2009-07-06 20:36                 ` Mike Frysinger
2009-07-08 21:55                   ` [PATCH] arch/blackfin/kernel/traps.c: Add visually separating newlines to printks Joe Perches
2009-07-06 20:38                 ` [PATCH] Remove multiple KERN_ prefixes from printk formats Joe Perches
2009-07-08 17:11                 ` Joe Perches

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=tip-251e1e44b97852aa5e53e71c4b47e55b2dfd054e@git.kernel.org \
    --to=mingo@elte.hu \
    --cc=akpm@linux-foundation.org \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tip-commits@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    --cc=yinghai@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 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.