Bug 673736 - Kernel got deadlock in function rcu_check_quiescent_state()
Summary: Kernel got deadlock in function rcu_check_quiescent_state()
Keywords:
Status: CLOSED INSUFFICIENT_DATA
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: kernel
Version: 5.5
Hardware: x86_64
OS: Linux
high
high
Target Milestone: rc
: ---
Assignee: Prarit Bhargava
QA Contact: Red Hat Kernel QE team
URL:
Whiteboard:
Depends On:
Blocks: 734989
TreeView+ depends on / blocked
 
Reported: 2011-01-30 09:20 UTC by Mark Wu
Modified: 2018-11-14 14:58 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
: 734989 (view as bug list)
Environment:
Last Closed: 2011-08-30 10:17:05 UTC
Target Upstream Version:


Attachments (Terms of Use)
RHEL5 fix for this issue (6.24 KB, patch)
2011-02-09 20:04 UTC, Prarit Bhargava
no flags Details | Diff

Comment 1 Prarit Bhargava 2011-02-09 16:06:48 UTC
(In reply to comment #0)
> Description of problem:
> Kernel got deadlock in function rcu_check_quiescent_state(). Here's how the
> problem happen:
> 1. CPU_1 was processing rcu callbacks via __rcu_process_callbacks
> 2. CPU_2 call smp_call_function() to all other cpus in set_mtrr
> 3. All other cpus including CPU_1 were beginning to run ipi_handler() as a
> result of the smp all interruption. They all had already decreased the
> data.count and been waiting for CPU_2 setting gate to 1.
> 4. But interruption happened on CPU_2 before it set gate to 1. And then it
> entered __rcu_process_callbacks too, so it got deadlock because the spinlock
> was held by CPU_1.
> 
> Please additional info for detailed vmcore analysis.
> 
>  

Mark, can you try to reproduce using the debug kernel which has lockdep enabled?

Thanks,

P.

Comment 4 Prarit Bhargava 2011-02-09 20:04:56 UTC
Created attachment 477896 [details]
RHEL5 fix for this issue

Mark, please apply and test.

Thanks,

P.

Comment 5 Mark Wu 2011-02-10 10:06:05 UTC
Prarit,
Thanks for your patch. I have built a test kernel and delivered it to customer. I will come back to you when I get feedback from customer.


Note You need to log in before you can comment on or make changes to this bug.