From: John Hawkes <hawkes@babylon.engr.sgi.com>
To: linux-ia64@vger.kernel.org
Subject: [PATCH] improve scalability of 2.4.21 fpassist
Date: Thu, 03 Jul 2003 20:36:15 +0000 [thread overview]
Message-ID: <marc-linux-ia64-105726499515305@msgid-missing> (raw)
This change has already made its way into linux-2.5.72-ia64-031619.diff.
Here is the diff relative to 2.4.21 + linux-2.4.21-ia64-030702.diff.
This patch *significantly* improves the scalability of handle_fpu_swa()
when multiple CPUs are generating concurrent fp-assist traps.
The original algorithm produces cacheline ping-ponging for the cacheline
that contains fpu_swa_count. This new algorithm only dirties
fpu_sw_count when the printk() is about to occur, rather than on every
fpassist trap, which throttles the ping-ponging to no more than five per
second.
John Hawkes
diff -X /home/hawkes/Patches/ignore.dirs -Naur linux-2.4.21-ia64/arch/ia64/kernel/traps.c linux-2.4.21-ia64-fp/arch/ia64/kernel/traps.c
--- linux-2.4.21-ia64/arch/ia64/kernel/traps.c Thu Jul 3 13:10:46 2003
+++ linux-2.4.21-ia64-fp/arch/ia64/kernel/traps.c Thu Jul 3 13:15:42 2003
@@ -335,8 +335,9 @@
if (jiffies - last_time > 5*HZ)
fpu_swa_count = 0;
- if ((++fpu_swa_count < 5) && !(current->thread.flags & IA64_THREAD_FPEMU_NOPRINT)) {
+ if ((fpu_swa_count < 4) && !(current->thread.flags & IA64_THREAD_FPEMU_NOPRINT)) {
last_time = jiffies;
+ ++fpu_swa_count;
printk(KERN_WARNING "%s(%d): floating-point assist fault at ip %016lx, isr %016lx\n",
current->comm, current->pid, regs->cr_iip + ia64_psr(regs)->ri, isr);
}
next reply other threads:[~2003-07-03 20:36 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-07-03 20:36 John Hawkes [this message]
2003-07-29 23:06 ` [PATCH] improve scalability of 2.4.21 fpassist Bjorn Helgaas
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-105726499515305@msgid-missing \
--to=hawkes@babylon.engr.sgi.com \
--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 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.