From: David S. Miller <davem@sunset.davemloft.net>
Date: Thu, 22 Jun 2006 05:31:08 +0000 (-0700)
Subject: [SPARC64]: Rate limited kernel unaligned trap logging, ala IA64.
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=27cc64c7cc9e41788e53655c717aeca2f55f2041;p=GitHub%2Fexynos8895%2Fandroid_kernel_samsung_universal8895.git

[SPARC64]: Rate limited kernel unaligned trap logging, ala IA64.

Signed-off-by: David S. Miller <davem@davemloft.net>
---

diff --git a/arch/sparc64/kernel/unaligned.c b/arch/sparc64/kernel/unaligned.c
index 001e8518331f..bb2d68577855 100644
--- a/arch/sparc64/kernel/unaligned.c
+++ b/arch/sparc64/kernel/unaligned.c
@@ -279,12 +279,21 @@ static void kernel_mna_trap_fault(void)
 
 asmlinkage void kernel_unaligned_trap(struct pt_regs *regs, unsigned int insn)
 {
+	static unsigned long count, last_time;
 	enum direction dir = decode_direction(insn);
 	int size = decode_access_size(insn);
 
 	current_thread_info()->kern_una_regs = regs;
 	current_thread_info()->kern_una_insn = insn;
 
+	if (jiffies - last_time > 5 * HZ)
+		count = 0;
+	if (count < 5) {
+		last_time = jiffies;
+		count++;
+		printk("Kernel unaligned access at TPC[%lx]\n", regs->tpc);
+	}
+
 	if (!ok_for_kernel(insn) || dir == both) {
 		printk("Unsupported unaligned load/store trap for kernel "
 		       "at <%016lx>.\n", regs->tpc);