linux-rt-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sadasivan Shaiju <sshaiju@mvista.com>
To: linux-rt-users@vger.kernel.org
Cc: shaiju_sada@yahoo.com
Subject: PATCH[2.6.32 and 2.6.32] interrupt
Date: Mon, 11 Aug 2014 14:47:42 -0700	[thread overview]
Message-ID: <e208f19b818dd8d72a202be28f7012ce@mail.gmail.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 1555 bytes --]

Hi ,

I  work for Montavista (Cavium Inc) as  a  Technical  Lead .  I want to
push some  of the kernel  patches to  rt community (2.6.32 kernel 2.6.33
rt patch)  , so  that  It  will  go  to  the  main line These patches  are
reviewed  and approved  by  our system Architect.  I request  you to
include  in the main line .  These  issues  were  reported  by our
customer CISCO.

Problem Description:
When CONFIG_DEBUG_PREEMPT is enabled the following stack trace occurs.

[ 170.814470] BUG: using smp_processor_id() in preemptible [00000000]
code: sirq-timer/4/62
[ 170.814482] caller is hrtimer_run_pending+0x10/0x20
[ 170.814488] Call Trace:
[ 170.814496] [<ffffffff8010d844>] dump_stack+0x8/0x34
[ 170.814507] [<ffffffff803c2598>] debug_smp_processor_id+0xe0/0xf0
[ 170.814517] [<ffffffff80254158>] hrtimer_run_pending+0x10/0x20
[ 170.814528] [<ffffffff80242400>] run_timer_softirq+0x60/0x348
[ 170.814539] [<ffffffff8023ae80>] run_ksoftirqd+0x1c8/0x348
[ 170.814550] [<ffffffff802503f8>] kthread+0x88/0x90
[ 170.814561] [<ffffffff80206c80>] kernel_thread_helper+0x10/0x18

Root Cause:
Interrupt was occurring before the processor was completely up, and the
softirq
threads were unable to schedule on the processor and then ran on the wrong
CPU.

How Solved:
Enabling of interrupt has been delayed till smp_finish so that
kthread_bind
can safely bind threads to any possible CPU.

I  request you to include this patch into the main line community .  If
any questions  please contact me  at  sshaiju@mvista.com
(shaiju_sada@yahoo.com)

Regards,
Shaiju.

[-- Attachment #2: 0001-Interrupt-delaying-enabling-of-interrupt.patch --]
[-- Type: application/octet-stream, Size: 1411 bytes --]

From 58512475cba93003c23f2b380b573e64eebcabd5 Mon Sep 17 00:00:00 2001
From: Sadasivan Shaiju <sshaiju@mvista.com>
Date: Mon, 20 Feb 2012 13:25:50 -0800
Subject: [PATCH] Interrupt : delaying enabling of interrupt

Source: MontaVista Software, LLC
MR: 47157
Type: Defect Fix
Disposition: Local
ChangeID: 48c837329556b161f3111e6fded1c9857fa3a149
Description:

This patch is to delay the enabling of interrupt till
smp_finish . So that kthread_bind can safely bind
threads to any possible cpu. Without this change
interrupt should occur beofre  the  processor was
completely up, and  the softirq threads were unable
to schedule on the processor and  then  ran on the
wrong CPU.

Signed-off-by: Sadasivan Shaiju <sshaiju@mvista.com>
---
 arch/mips/cavium-octeon/smp.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/arch/mips/cavium-octeon/smp.c b/arch/mips/cavium-octeon/smp.c
index ff21542..c7de7ac 100644
--- a/arch/mips/cavium-octeon/smp.c
+++ b/arch/mips/cavium-octeon/smp.c
@@ -308,7 +308,6 @@ static void octeon_init_secondary(void)
 	octeon_init_cvmcount();
 
 	octeon_irq_setup_secondary();
-	raw_local_irq_enable();
 }
 
 /**
@@ -365,6 +364,8 @@ static void octeon_smp_finish(void)
 
 	/* to generate the first CPU timer interrupt */
 	write_c0_compare(read_c0_count() + mips_hpt_frequency / HZ);
+	/* enable local interrupts */
+	raw_local_irq_enable();
 }
 
 /**
-- 
1.7.0.1


             reply	other threads:[~2014-08-11 21:47 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-11 21:47 Sadasivan Shaiju [this message]
2014-08-11 22:52 ` PATCH[2.6.32 and 2.6.32] interrupt Pavel Vasilyev
2014-08-12  0:07   ` Sadasivan Shaiju

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=e208f19b818dd8d72a202be28f7012ce@mail.gmail.com \
    --to=sshaiju@mvista.com \
    --cc=linux-rt-users@vger.kernel.org \
    --cc=shaiju_sada@yahoo.com \
    /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;
as well as URLs for NNTP newsgroup(s).