[kernel/f14] Avoid false quiescent states in rcutree with CONFIG_RCU_FAST_NO_HZ. (rhbz 577968)

Dave Jones davej at fedoraproject.org
Mon Aug 22 14:36:42 UTC 2011


commit 83a9139012b03840e5acddc82375ffa3b88af1ba
Author: Dave Jones <davej at redhat.com>
Date:   Mon Aug 22 10:36:20 2011 -0400

    Avoid false quiescent states in rcutree with CONFIG_RCU_FAST_NO_HZ. (rhbz 577968)

 kernel.spec                                |    3 +
 rcutree-avoid-false-quiescent-states.patch |  810 ++++++++++++++++++++++++++++
 2 files changed, 813 insertions(+), 0 deletions(-)
---
diff --git a/kernel.spec b/kernel.spec
index 4dbdf87..db49436 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -2179,6 +2179,9 @@ fi
 # and build.
 
 %changelog
+* Mon Aug 22 2011 Dave Jones <davej at redhat.com>
+- Avoid false quiescent states in rcutree with CONFIG_RCU_FAST_NO_HZ. (rhbz 577968)
+
 * Mon Aug 15 2011 Chuck Ebbert <cebbert at redhat.com> 2.6.35.14-95
 - CVE-2011-2905: perf tools: may parse user-controlled configuration file
 - CVE-2011-2695: ext4: kernel panic when writing data to the last block of sparse file
diff --git a/rcutree-avoid-false-quiescent-states.patch b/rcutree-avoid-false-quiescent-states.patch
new file mode 100644
index 0000000..c8f8f20
--- /dev/null
+++ b/rcutree-avoid-false-quiescent-states.patch
@@ -0,0 +1,810 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+                      "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+  <head>
+    <title>
+Attachment #519158 for bug #577968</title>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
+    <meta name="verify-v1" content="1hLjVPyIYh2cX7CL+s5A0k6pKt2FRq7/FSQ/cqGi9J8=">
+    <meta name="y_key" content="1cdf458efae704ba">
+
+
+<link rel="Top" href="https://bugzilla.redhat.com/">
+
+  
+
+
+  
+
+
+  
+    <link rel="Saved&nbsp;Searches" title="My Bugs"
+          href="buglist.cgi?bug_status=NEW&bug_status=VERIFIED&bug_status=ASSIGNED&bug_status=MODIFIED&bug_status=ON_DEV&bug_status=ON_QA&bug_status=RELEASE_PENDING&bug_status=POST&email1=davej%40redhat.com&emailtype1=exact&emailassigned_to1=1&emailreporter1=1&emailcc1=1">
+
+    <link rel="Saved&nbsp;Searches" 
+          title="RHEL5"
+          href="buglist.cgi?cmdtype=runnamed&amp;namedcmd=RHEL5">
+    <link rel="Saved&nbsp;Searches" 
+          title="RHEL5-kernel-bugs"
+          href="buglist.cgi?cmdtype=runnamed&amp;namedcmd=RHEL5-kernel-bugs">
+    <link rel="Saved&nbsp;Searches" 
+          title="RHEL6"
+          href="buglist.cgi?cmdtype=runnamed&amp;namedcmd=RHEL6">
+    <link rel="Saved&nbsp;Searches" 
+          title="devel-kernel-bugs"
+          href="buglist.cgi?cmdtype=runnamed&amp;namedcmd=devel-kernel-bugs">
+    <link rel="Saved&nbsp;Searches" 
+          title="kernel-maint"
+          href="buglist.cgi?cmdtype=runnamed&amp;namedcmd=kernel-maint">
+
+    <link rel="Saved&nbsp;Search"
+          title="open_modnss_modrevocator_bugs (ckannan&#64;redhat.com)"
+          href="buglist.cgi?cmdtype=dorem&amp;remaction=run&amp;namedcmd=open_modnss_modrevocator_bugs&amp;sharer_id=171534">
+    <link rel="Saved&nbsp;Search"
+          title="open_smartcardlogin_bugs (ckannan&#64;redhat.com)"
+          href="buglist.cgi?cmdtype=dorem&amp;remaction=run&amp;namedcmd=open_smartcardlogin_bugs&amp;sharer_id=171534">
+    <link rel="Saved&nbsp;Search"
+          title="vdv2-unscreened (ckannan&#64;redhat.com)"
+          href="buglist.cgi?cmdtype=dorem&amp;remaction=run&amp;namedcmd=vdv2-unscreened&amp;sharer_id=171534">
+    <link rel="Saved&nbsp;Search"
+          title="yk-hwcert-age-queue (ykun&#64;redhat.com)"
+          href="buglist.cgi?cmdtype=dorem&amp;remaction=run&amp;namedcmd=yk-hwcert-age-queue&amp;sharer_id=202671">
+
+   <link rel="Administration" title="Products" href="editproducts.cgi"><link rel="Administration" title="Flag Types"   
+                  href="editflagtypes.cgi"><link rel="Administration" title="Whining"       
+                  href="editwhines.cgi"><link rel="Administration" title="Sanity Check"  
+                  href="sanitycheck.cgi">
+
+
+    
+
+    
+      <link href="skins/standard/global.css"
+            rel="stylesheet"
+            type="text/css">
+      <link href="skins/standard/create_attachment.css"
+            rel="stylesheet"
+            type="text/css">
+      <link href="extensions/VCS/web/style.css"
+            rel="stylesheet"
+            type="text/css">
+    <!--[if lte IE 7]>
+      
+      <link href="skins/standard/IE-fixes.css"
+            rel="stylesheet"
+            type="text/css">
+    <![endif]-->
+
+    
+        <link href="skins/standard/global.css"
+              rel="alternate stylesheet"
+              title="Classic"
+              type="text/css">
+        <link href="skins/standard/create_attachment.css"
+              rel="alternate stylesheet"
+              title="Classic"
+              type="text/css">
+        <link href="extensions/VCS/web/style.css"
+              rel="alternate stylesheet"
+              title="Classic"
+              type="text/css">
+      <!--[if lte IE 7]>
+      
+        <link href="skins/standard/IE-fixes.css"
+              rel="alternate stylesheet"
+              title="Classic"
+              type="text/css">
+      <![endif]-->
+
+    
+        
+            <link href="skins/contrib/Dusk/global.css"
+                  rel="stylesheet"
+                  title="Dusk"
+                  type="text/css">
+            <link href="skins/contrib/Dusk/create_attachment.css"
+                  rel="stylesheet"
+                  title="Dusk"
+                  type="text/css">
+        <!--[if lte IE 7]>
+          
+          <link href="skins/contrib/Dusk/IE-fixes.css"
+                rel="stylesheet"
+                title="Dusk"
+                type="text/css">
+        <![endif]-->
+        
+            <link href="skins/contrib/RedHat/global.css"
+                  rel="alternate stylesheet"
+                  title="RedHat"
+                  type="text/css">
+            <link href="skins/contrib/RedHat/create_attachment.css"
+                  rel="alternate stylesheet"
+                  title="RedHat"
+                  type="text/css">
+        <!--[if lte IE 7]>
+          
+          <link href="skins/contrib/RedHat/IE-fixes.css"
+                rel="alternate stylesheet"
+                title="RedHat"
+                type="text/css">
+        <![endif]-->
+
+    
+
+    
+        <link href="skins/custom/global.css" rel="stylesheet" type="text/css">
+        <link href="skins/custom/create_attachment.css" rel="stylesheet" type="text/css">
+    <!--[if lte IE 7]>
+      
+      <link href="skins/custom/IE-fixes.css"
+            rel="stylesheet"
+            type="text/css">
+    <![endif]-->
+
+    
+    <script src="js/cookies.js" type="text/javascript" language="JavaScript"></script>
+    
+    <script src="js/yui/yahoo-dom-event.js" type="text/javascript"></script>
+    <script src="js/yui/cookie.js" type="text/javascript"></script>
+    <script src="js/global.js" type="text/javascript"></script>
+    <script type="text/javascript">
+    <!--
+        YAHOO.namespace('bugzilla');
+        if (YAHOO.env.ua.gecko) {
+            YAHOO.util.Event._simpleRemove(window, "unload", 
+                                           YAHOO.util.Event._unload);
+        }
+        
+        function unhide_language_selector() { 
+            YAHOO.util.Dom.removeClass(
+                'lang_links_container', 'bz_default_hidden'
+            ); 
+        } 
+        YAHOO.util.Event.onDOMReady(unhide_language_selector);
+
+        
+        var BUGZILLA = {
+            param: {
+                cookiepath: '\/'
+            },
+
+            string: {
+                attach_desc_required:
+                    'You must enter a Description for this attachment.'
+            }
+        };
+    // -->
+    </script>
+
+        <script src="js/attachment.js" type="text/javascript"></script>
+
+    <script type="text/javascript">
+      // REDHAT EXTENSION 441550
+      // Set use_ajax for use in the js files
+      var use_ajax = '1';
+      // REDHAT EXTENSION 426374
+      // Server URL is set here since we cannot access urlbase
+      // in the js/ files.
+      var server_url = 'https://bugzilla.redhat.com/xmlrpc.cgi';
+    </script>
+
+    
+
+    
+    <link rel="search" type="application/opensearchdescription+xml"
+                       title="Red Hat Bugzilla" href="./search_plugin.cgi">
+    <link rel="shortcut icon" href="images/favicon.ico">
+  </head>
+
+
+
+  
+  <body onload="restore_all(); document.checkboxform.restore_indicator.checked = true
+                setcookie('Bugzilla_javascript',1,1,'/','bugzilla.redhat.com',0);"
+        class="bugzilla-redhat-com yui-skin-sam">
+
+
+
+<div id="header">
+<div id="banner">
+  </div>
+
+<table border="0" cellspacing="0" cellpadding="0" id="titles">
+<tr>
+    <td id="title">
+      <p>Red Hat Bugzilla &ndash; 
+      Attachment #519158: Patch to remove rcu_needs_cpu_flush() to avoid false quiescent states.
+    for <a href="show_bug.cgi?id=577968">bug #577968</a></p>
+    </td>
+
+
+</tr>
+</table>
+
+<table id="lang_links_container" cellpadding="0" cellspacing="0"
+       class="bz_default_hidden"><tr><td>
+</td></tr></table>
+<ul class="links">
+  <li><a href="./">Home</a></li>
+  <li><span class="separator">| </span><a href="enter_bug.cgi">New</a></li>
+  <li><span class="separator">| </span><a href="query.cgi">Search</a></li>
+<li><span class="separator"> | </span><a href="page.cgi?id=browse.html">Browse</a></li><li><span class="separator"> | </span><a href="frontpage.cgi">Front Page</a></li><li><span class="separator"> | </span>
+    <a href="buglist.cgi?bug_status=NEW&bug_status=VERIFIED&bug_status=ASSIGNED&bug_status=MODIFIED&bug_status=ON_DEV&bug_status=ON_QA&bug_status=RELEASE_PENDING&bug_status=POST&email1=davej%40redhat.com&emailtype1=exact&emailassigned_to1=1&emailreporter1=1&emailcc1=1">My Bugs</a>
+  </li>
+
+  <li class="form">
+    <span class="separator">| </span>
+    <form action="buglist.cgi" method="get"
+        onsubmit="if (this.quicksearch.value == '')
+                  { alert('Please enter one or more search terms first.');
+                    return false; } return true;">
+    <input class="txt" type="text" id="quicksearch_top" name="quicksearch" 
+           value="">
+    <input class="btn" type="submit" value="Search" 
+           id="find_top"></form>
+  <a href="page.cgi?id=quicksearch.html" title="Quicksearch Help">[?]</a></li>
+
+  <li><span class="separator">| </span><a href="report.cgi">Reports</a></li>
+
+  <li>
+      <span class="separator">| </span>
+        <a href="request.cgi?requester=davej%40redhat.com&amp;requestee=davej%40redhat.com&amp;do_union=1&amp;group=type&amp;action=queue">My Requests</a></li>
+
+    <li><span class="separator">| </span><a href="userprefs.cgi">Preferences</a></li>
+      <li><span class="separator">| </span><a href="admin.cgi">Administration</a></li>
+<li>
+        <span class="separator">| </span>
+        <a href="/docs/en/html/attachments.html#patchviewer" target="_blank">Help</a>
+      </li>
+
+    <li>
+      <span class="separator">| </span>
+        <a href="index.cgi?logout=1">Log&nbsp;out</a>
+        davej&#64;redhat.com</li>
+  
+  
+</ul>
+</div> 
+
+<div id="bugzilla-body">
+  
+
+  
+    <a href="attachment.cgi?id=519158">View</a>
+    | <a href="attachment.cgi?id=519158&amp;action=edit">Details</a>
+    | <a href="attachment.cgi?id=519158&amp;action=diff&amp;context=patch&amp;collapsed=&amp;headers=1&amp;format=raw">Raw&nbsp;Unified</a>
+    | Return to <a href="show_bug.cgi?id=577968" title="ASSIGNED - kernel 2.6.34-0.16.rc2.git0.fc14.x86_64 gets GPF at cfq_free_io_context+0x18/0x34">bug 577968</a> |
+    Differences between
+    <form style="display: inline" action="attachment.cgi">
+      <select name="oldid">
+        <option value="519110" selected
+        >Diagnostic patch for RCU_FAST_NO_HZ assumptions</option>
+        <option value="500449"
+        >Fix frequent cgroup changed messages visible in debug logs</option>
+        <option value="499716"
+        >CFQ cic debug patch V2</option>
+        <option value="499426"
+        >CFQ cic debug patch</option>
+      </select>
+      and this patch
+      <input type="submit" id="diff" value="Diff">
+      <input type="hidden" name="action" value="interdiff">
+      <input type="hidden" name="newid" value="519158">
+      <input type="hidden" name="headers" value="1">
+    </form>
+  <br>
+  
+
+<a href="#"
+   onmouseover="lastStatus = window.status; window.status='Collapse All'; return true"
+   onmouseout="window.status = lastStatus; return true"
+   onclick="return collapse_all()">Collapse All</a> | 
+<a href="#"
+   onmouseover="lastStatus = window.status; window.status='Expand All'; return true"
+   onmouseout="window.status = lastStatus; return true"
+   onclick="return expand_all()">Expand All</a>
+
+
+    <br><br>
+ 
+
+<form name="checkboxform" action="attachment.cgi">
+<input type="checkbox" name="restore_indicator" style="display: none"><table class="file_table"><thead><tr><td class="num"></td><td></td><td class="num"></td><td></td></tr><tr><td class="file_head" colspan="4"><a href="#" onclick="return twisty_click(this)">(-)</a><input type="checkbox" name="a/kernel/rcutree.c" checked style="display: none">a/kernel/rcutree.c
+      (-3&nbsp;lines)
+</td></tr></thead><tbody class="file">
+<script type="text/javascript">
+incremental_restore()
+</script>
+
+  <tr><th colspan="4" class="section_head">
+    <table cellpadding="0" cellspacing="0">
+    <tr><th width="95%" align="left">
+      &nbsp;Lines&nbsp;1532-1540
+    &nbsp;&nbsp;static void rcu_process_callbacks(struct softirq_action *unused) 
+    </th><th>
+  <a name="a/kernel/rcutree.c_sec1" href="#a/kernel/rcutree.c_sec1">Link&nbsp;Here</a>&nbsp;
+    </th></tr></table>
+  </th></tr>
+        <tr>
+          <td class="num">1532</td>
+          <td><pre>				&amp;__get_cpu_var(rcu_sched_data));</pre></td>
+          <td class="num">1532</td>
+          <td><pre>				&amp;__get_cpu_var(rcu_sched_data));</pre></td>
+        </tr>
+        <tr>
+          <td class="num">1533</td>
+          <td><pre>	__rcu_process_callbacks(&amp;rcu_bh_state, &amp;__get_cpu_var(rcu_bh_data));</pre></td>
+          <td class="num">1533</td>
+          <td><pre>	__rcu_process_callbacks(&amp;rcu_bh_state, &amp;__get_cpu_var(rcu_bh_data));</pre></td>
+        </tr>
+        <tr>
+          <td class="num">1534</td>
+          <td><pre>	rcu_preempt_process_callbacks();</pre></td>
+          <td class="num">1534</td>
+          <td><pre>	rcu_preempt_process_callbacks();</pre></td>
+        </tr>
+            <tr>
+              <td class="num">1535</td>
+              <td class="removed"><pre></pre></td>
+              <td class="num" rowspan="3"></td>
+              <td rowspan="3"></td>
+            </tr>
+            <tr>
+              <td class="num">1536</td>
+              <td class="removed"><pre>	/* If we are last CPU on way to dyntick-idle mode, accelerate it. */</pre></td>
+            </tr>
+            <tr>
+              <td class="num">1537</td>
+              <td class="removed"><pre>	rcu_needs_cpu_flush();</pre></td>
+            </tr>
+        <tr>
+          <td class="num">1538</td>
+          <td><pre>	trace_rcu_utilization(&quot;End RCU core&quot;);</pre></td>
+          <td class="num">1535</td>
+          <td><pre>	trace_rcu_utilization(&quot;End RCU core&quot;);</pre></td>
+        </tr>
+        <tr>
+          <td class="num">1539</td>
+          <td><pre>}</pre></td>
+          <td class="num">1536</td>
+          <td><pre>}</pre></td>
+        </tr>
+        <tr>
+          <td class="num">1540</td>
+          <td><pre></pre></td>
+          <td class="num">1537</td>
+          <td><pre></pre></td>
+        </tr>
+
+</table><table class="file_table"><thead><tr><td class="num"></td><td></td><td class="num"></td><td></td></tr><tr><td class="file_head" colspan="4"><a href="#" onclick="return twisty_click(this)">(-)</a><input type="checkbox" name="a/kernel/rcutree.h" checked style="display: none">a/kernel/rcutree.h
+      (-1&nbsp;lines)
+</td></tr></thead><tbody class="file">
+<script type="text/javascript">
+incremental_restore()
+</script>
+
+  <tr><th colspan="4" class="section_head">
+    <table cellpadding="0" cellspacing="0">
+    <tr><th width="95%" align="left">
+      &nbsp;Lines&nbsp;458-464
+    &nbsp;&nbsp;static int rcu_preempt_needs_cpu(int cpu); 
+    </th><th>
+  <a name="a/kernel/rcutree.h_sec1" href="#a/kernel/rcutree.h_sec1">Link&nbsp;Here</a>&nbsp;
+    </th></tr></table>
+  </th></tr>
+        <tr>
+          <td class="num">458</td>
+          <td><pre>static void __cpuinit rcu_preempt_init_percpu_data(int cpu);</pre></td>
+          <td class="num">458</td>
+          <td><pre>static void __cpuinit rcu_preempt_init_percpu_data(int cpu);</pre></td>
+        </tr>
+        <tr>
+          <td class="num">459</td>
+          <td><pre>static void rcu_preempt_send_cbs_to_online(void);</pre></td>
+          <td class="num">459</td>
+          <td><pre>static void rcu_preempt_send_cbs_to_online(void);</pre></td>
+        </tr>
+        <tr>
+          <td class="num">460</td>
+          <td><pre>static void __init __rcu_init_preempt(void);</pre></td>
+          <td class="num">460</td>
+          <td><pre>static void __init __rcu_init_preempt(void);</pre></td>
+        </tr>
+            <tr>
+              <td class="num">461</td>
+              <td class="removed"><pre>static void rcu_needs_cpu_flush(void);</pre></td>
+              <td class="num"></td>
+              <td></td>
+            </tr>
+        <tr>
+          <td class="num">462</td>
+          <td><pre>static void rcu_initiate_boost(struct rcu_node *rnp, unsigned long flags);</pre></td>
+          <td class="num">461</td>
+          <td><pre>static void rcu_initiate_boost(struct rcu_node *rnp, unsigned long flags);</pre></td>
+        </tr>
+        <tr>
+          <td class="num">463</td>
+          <td><pre>static void rcu_preempt_boost_start_gp(struct rcu_node *rnp);</pre></td>
+          <td class="num">462</td>
+          <td><pre>static void rcu_preempt_boost_start_gp(struct rcu_node *rnp);</pre></td>
+        </tr>
+        <tr>
+          <td class="num">464</td>
+          <td><pre>static void invoke_rcu_callbacks_kthread(void);</pre></td>
+          <td class="num">463</td>
+          <td><pre>static void invoke_rcu_callbacks_kthread(void);</pre></td>
+        </tr>
+
+</table><table class="file_table"><thead><tr><td class="num"></td><td></td><td class="num"></td><td></td></tr><tr><td class="file_head" colspan="4"><a href="#" onclick="return twisty_click(this)">(-)</a><input type="checkbox" name="a/kernel/rcutree_plugin.h" checked style="display: none">a/kernel/rcutree_plugin.h
+      (-25&nbsp;lines)
+</td></tr></thead><tbody class="file">
+<script type="text/javascript">
+incremental_restore()
+</script>
+
+  <tr><th colspan="4" class="section_head">
+    <table cellpadding="0" cellspacing="0">
+    <tr><th width="95%" align="left">
+      &nbsp;Lines&nbsp;1954-1968
+    &nbsp;&nbsp;int rcu_needs_cpu(int cpu) 
+    </th><th>
+  <a name="a/kernel/rcutree_plugin.h_sec1" href="#a/kernel/rcutree_plugin.h_sec1">Link&nbsp;Here</a>&nbsp;
+    </th></tr></table>
+  </th></tr>
+        <tr>
+          <td class="num">1954</td>
+          <td><pre>	return rcu_needs_cpu_quick_check(cpu);</pre></td>
+          <td class="num">1954</td>
+          <td><pre>	return rcu_needs_cpu_quick_check(cpu);</pre></td>
+        </tr>
+        <tr>
+          <td class="num">1955</td>
+          <td><pre>}</pre></td>
+          <td class="num">1955</td>
+          <td><pre>}</pre></td>
+        </tr>
+        <tr>
+          <td class="num">1956</td>
+          <td><pre></pre></td>
+          <td class="num">1956</td>
+          <td><pre></pre></td>
+        </tr>
+            <tr>
+              <td class="num">1957</td>
+              <td class="removed"><pre>/*</pre></td>
+              <td class="num" rowspan="9"></td>
+              <td rowspan="9"></td>
+            </tr>
+            <tr>
+              <td class="num">1958</td>
+              <td class="removed"><pre> * Check to see if we need to continue a callback-flush operations to</pre></td>
+            </tr>
+            <tr>
+              <td class="num">1959</td>
+              <td class="removed"><pre> * allow the last CPU to enter dyntick-idle mode.  But fast dyntick-idle</pre></td>
+            </tr>
+            <tr>
+              <td class="num">1960</td>
+              <td class="removed"><pre> * entry is not configured, so we never do need to.</pre></td>
+            </tr>
+            <tr>
+              <td class="num">1961</td>
+              <td class="removed"><pre> */</pre></td>
+            </tr>
+            <tr>
+              <td class="num">1962</td>
+              <td class="removed"><pre>static void rcu_needs_cpu_flush(void)</pre></td>
+            </tr>
+            <tr>
+              <td class="num">1963</td>
+              <td class="removed"><pre>{</pre></td>
+            </tr>
+            <tr>
+              <td class="num">1964</td>
+              <td class="removed"><pre>}</pre></td>
+            </tr>
+            <tr>
+              <td class="num">1965</td>
+              <td class="removed"><pre></pre></td>
+            </tr>
+        <tr>
+          <td class="num">1966</td>
+          <td><pre>#else /* #if !defined(CONFIG_RCU_FAST_NO_HZ) */</pre></td>
+          <td class="num">1957</td>
+          <td><pre>#else /* #if !defined(CONFIG_RCU_FAST_NO_HZ) */</pre></td>
+        </tr>
+        <tr>
+          <td class="num">1967</td>
+          <td><pre></pre></td>
+          <td class="num">1958</td>
+          <td><pre></pre></td>
+        </tr>
+        <tr>
+          <td class="num">1968</td>
+          <td><pre>#define RCU_NEEDS_CPU_FLUSHES 5</pre></td>
+          <td class="num">1959</td>
+          <td><pre>#define RCU_NEEDS_CPU_FLUSHES 5</pre></td>
+        </tr>
+  <tr><th colspan="4" class="section_head">
+    <table cellpadding="0" cellspacing="0">
+    <tr><th width="95%" align="left">
+      &nbsp;Lines&nbsp;2039-2058
+    &nbsp;&nbsp;int rcu_needs_cpu(int cpu) 
+    </th><th>
+  <a name="a/kernel/rcutree_plugin.h_sec2" href="#a/kernel/rcutree_plugin.h_sec2">Link&nbsp;Here</a>&nbsp;
+    </th></tr></table>
+  </th></tr>
+        <tr>
+          <td class="num">2039</td>
+          <td><pre>	return c;</pre></td>
+          <td class="num">2030</td>
+          <td><pre>	return c;</pre></td>
+        </tr>
+        <tr>
+          <td class="num">2040</td>
+          <td><pre>}</pre></td>
+          <td class="num">2031</td>
+          <td><pre>}</pre></td>
+        </tr>
+        <tr>
+          <td class="num">2041</td>
+          <td><pre></pre></td>
+          <td class="num">2032</td>
+          <td><pre></pre></td>
+        </tr>
+            <tr>
+              <td class="num">2042</td>
+              <td class="removed"><pre>/*</pre></td>
+              <td class="num" rowspan="16"></td>
+              <td rowspan="16"></td>
+            </tr>
+            <tr>
+              <td class="num">2043</td>
+              <td class="removed"><pre> * Check to see if we need to continue a callback-flush operations to</pre></td>
+            </tr>
+            <tr>
+              <td class="num">2044</td>
+              <td class="removed"><pre> * allow the last CPU to enter dyntick-idle mode.</pre></td>
+            </tr>
+            <tr>
+              <td class="num">2045</td>
+              <td class="removed"><pre> */</pre></td>
+            </tr>
+            <tr>
+              <td class="num">2046</td>
+              <td class="removed"><pre>static void rcu_needs_cpu_flush(void)</pre></td>
+            </tr>
+            <tr>
+              <td class="num">2047</td>
+              <td class="removed"><pre>{</pre></td>
+            </tr>
+            <tr>
+              <td class="num">2048</td>
+              <td class="removed"><pre>	int cpu = smp_processor_id();</pre></td>
+            </tr>
+            <tr>
+              <td class="num">2049</td>
+              <td class="removed"><pre>	unsigned long flags;</pre></td>
+            </tr>
+            <tr>
+              <td class="num">2050</td>
+              <td class="removed"><pre></pre></td>
+            </tr>
+            <tr>
+              <td class="num">2051</td>
+              <td class="removed"><pre>	if (per_cpu(rcu_dyntick_drain, cpu) &lt;= 0)</pre></td>
+            </tr>
+            <tr>
+              <td class="num">2052</td>
+              <td class="removed"><pre>		return;</pre></td>
+            </tr>
+            <tr>
+              <td class="num">2053</td>
+              <td class="removed"><pre>	local_irq_save(flags);</pre></td>
+            </tr>
+            <tr>
+              <td class="num">2054</td>
+              <td class="removed"><pre>	(void)rcu_needs_cpu(cpu);</pre></td>
+            </tr>
+            <tr>
+              <td class="num">2055</td>
+              <td class="removed"><pre>	local_irq_restore(flags);</pre></td>
+            </tr>
+            <tr>
+              <td class="num">2056</td>
+              <td class="removed"><pre>}</pre></td>
+            </tr>
+            <tr>
+              <td class="num">2057</td>
+              <td class="removed"><pre></pre></td>
+            </tr>
+        <tr>
+          <td class="num">2058</td>
+          <td><pre>#endif /* #else #if !defined(CONFIG_RCU_FAST_NO_HZ) */</pre></td>
+          <td class="num">2033</td>
+          <td><pre>#endif /* #else #if !defined(CONFIG_RCU_FAST_NO_HZ) */</pre></td>
+        </tr>
+
+</table></form>
+
+
+  <br>
+
+  <span>Return to <a href="show_bug.cgi?id=577968" title="ASSIGNED - kernel 2.6.34-0.16.rc2.git0.fc14.x86_64 gets GPF at cfq_free_io_context+0x18/0x34">bug 577968</a></span>
+</div>
+
+
+
+<div id="footer">
+  <div class="intro"></div>
+
+
+
+
+<ul id="useful-links">
+  <li id="links-actions"><ul class="links">
+  <li><a href="./">Home</a></li>
+  <li><span class="separator">| </span><a href="enter_bug.cgi">New</a></li>
+  <li><span class="separator">| </span><a href="query.cgi">Search</a></li>
+<li><span class="separator"> | </span><a href="page.cgi?id=browse.html">Browse</a></li><li><span class="separator"> | </span><a href="frontpage.cgi">Front Page</a></li><li><span class="separator"> | </span>
+    <a href="buglist.cgi?bug_status=NEW&bug_status=VERIFIED&bug_status=ASSIGNED&bug_status=MODIFIED&bug_status=ON_DEV&bug_status=ON_QA&bug_status=RELEASE_PENDING&bug_status=POST&email1=davej%40redhat.com&emailtype1=exact&emailassigned_to1=1&emailreporter1=1&emailcc1=1">My Bugs</a>
+  </li>
+
+  <li class="form">
+    <span class="separator">| </span>
+    <form action="buglist.cgi" method="get"
+        onsubmit="if (this.quicksearch.value == '')
+                  { alert('Please enter one or more search terms first.');
+                    return false; } return true;">
+    <input class="txt" type="text" id="quicksearch_bottom" name="quicksearch" 
+           value="">
+    <input class="btn" type="submit" value="Search" 
+           id="find_bottom"></form>
+  <a href="page.cgi?id=quicksearch.html" title="Quicksearch Help">[?]</a></li>
+
+  <li><span class="separator">| </span><a href="report.cgi">Reports</a></li>
+
+  <li>
+      <span class="separator">| </span>
+        <a href="request.cgi?requester=davej%40redhat.com&amp;requestee=davej%40redhat.com&amp;do_union=1&amp;group=type&amp;action=queue">My Requests</a></li>
+
+    <li><span class="separator">| </span><a href="userprefs.cgi">Preferences</a></li>
+      <li><span class="separator">| </span><a href="admin.cgi">Administration</a></li>
+
+
+    <li>
+      <span class="separator">| </span>
+        <a href="index.cgi?logout=1">Log&nbsp;out</a>
+        davej&#64;redhat.com</li>
+  
+  <li><span class="separator">| </span><a href="/enter_bug.cgi?product=Bugzilla">Report Bugzilla Bug</a></li>
+  
+</ul>
+  </li>
+
+  
+    
+    <li id="links-saved">
+      <ul class="links">
+          <li><a href="buglist.cgi?bug_status=NEW&bug_status=VERIFIED&bug_status=ASSIGNED&bug_status=MODIFIED&bug_status=ON_DEV&bug_status=ON_QA&bug_status=RELEASE_PENDING&bug_status=POST&email1=davej%40redhat.com&emailtype1=exact&emailassigned_to1=1&emailreporter1=1&emailcc1=1">My Bugs</a></li>
+
+            <li><span class="separator">| </span>
+            <a href="buglist.cgi?cmdtype=runnamed&amp;namedcmd=RHEL5">RHEL5</a></li>
+            <li><span class="separator">| </span>
+            <a href="buglist.cgi?cmdtype=runnamed&amp;namedcmd=RHEL5-kernel-bugs">RHEL5-kernel-bugs</a></li>
+            <li><span class="separator">| </span>
+            <a href="buglist.cgi?cmdtype=runnamed&amp;namedcmd=RHEL6">RHEL6</a></li>
+            <li><span class="separator">| </span>
+            <a href="buglist.cgi?cmdtype=runnamed&amp;namedcmd=devel-kernel-bugs">devel-kernel-bugs</a></li>
+            <li><span class="separator">| </span>
+            <a href="buglist.cgi?cmdtype=runnamed&amp;namedcmd=kernel-maint">kernel-maint</a></li>
+            <br>
+          <li>
+            <a href="buglist.cgi?cmdtype=dorem&amp;remaction=run&amp;namedcmd=open_modnss_modrevocator_bugs&amp;sharer_id=171534"
+               class="shared"
+               title="Shared by Chandrasekar Kannan &lt;ckannan&#64;redhat.com&gt;"
+               >open_modnss_modrevocator_bugs</a></li>
+          <li><span class="separator">| </span>
+            <a href="buglist.cgi?cmdtype=dorem&amp;remaction=run&amp;namedcmd=open_smartcardlogin_bugs&amp;sharer_id=171534"
+               class="shared"
+               title="Shared by Chandrasekar Kannan &lt;ckannan&#64;redhat.com&gt;"
+               >open_smartcardlogin_bugs</a></li>
+          <li><span class="separator">| </span>
+            <a href="buglist.cgi?cmdtype=dorem&amp;remaction=run&amp;namedcmd=vdv2-unscreened&amp;sharer_id=171534"
+               class="shared"
+               title="Shared by Chandrasekar Kannan &lt;ckannan&#64;redhat.com&gt;"
+               >vdv2&#8209;unscreened</a></li>
+          <li><span class="separator">| </span>
+            <a href="buglist.cgi?cmdtype=dorem&amp;remaction=run&amp;namedcmd=yk-hwcert-age-queue&amp;sharer_id=202671"
+               class="shared"
+               title="Shared by YangKun &lt;ykun&#64;redhat.com&gt;"
+               >yk&#8209;hwcert&#8209;age&#8209;queue</a></li>
+      </ul>
+    </li>
+
+  
+<li id="links-special">
+    <script type="text/javascript">
+      <!--
+      function update_text() {
+        // 'lob' means list_of_bugs.
+        var lob_action = document.getElementById('lob_action');
+        var action = lob_action.options[lob_action.selectedIndex].value;
+        var text = document.getElementById('lob_direction');
+        var new_query_text = document.getElementById('lob_new_query_text');
+
+        if (action == "add") {
+          text.innerHTML = "to";
+          new_query_text.style.display = 'inline';
+        }
+        else {
+          text.innerHTML = "from";
+          new_query_text.style.display = 'none';
+        }
+      }
+
+      function manage_old_lists() {
+        var old_lists = document.getElementById('lob_oldqueryname');
+        // If there is no saved searches available, returns.
+        if (!old_lists) return;
+
+        var new_query = document.getElementById('lob_newqueryname').value;
+
+        if (new_query != "") {
+          old_lists.disabled = true;
+        }
+        else {
+          old_lists.disabled = false;
+        }
+      }
+      //-->
+    </script>
+
+    
+    <div class="label"></div>
+    <ul class="links"><li class="form">
+      <form id="list_of_bugs" action="buglist.cgi" method="get">
+        <input type="hidden" name="cmdtype" value="doit">
+        <input type="hidden" name="remtype" value="asnamed">
+        <input type="hidden" name="list_of_bugs" value="1">
+        <select id="lob_action" name="action" onchange="update_text();">
+          <option value="add">Add</option>
+        </select>
+
+          <a href="/docs/en/html/query.html#individual-buglists">the named tag</a>
+
+        <span id="lob_new_query_text">
+          <input class="txt" type="text" id="lob_newqueryname"
+                 size="20" maxlength="64" name="newqueryname"
+                 onkeyup="manage_old_lists();">
+        </span>
+        <span id="lob_direction">to</span>
+        bugs
+        <input type="text" name="bug_ids" size="12" maxlength="80">
+        <input type="submit" value="Commit" id="commit_list_of_bugs">
+      </form>
+    </li></ul>
+  </li>
+
+  
+</ul>
+
+  <div class="outro"></div>
+</div>
+<!-- Piwik -->
+<script type="text/javascript">
+var pkBaseURL = (("https:" == document.location.protocol) ? "https://engstats.redhat.com/piwik/" : "http://engstats.redhat.com/piwik/");
+document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E"));
+</script><script type="text/javascript">
+try {
+    var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 2);
+    piwikTracker.setCustomVariable(1, "bz_user", "davej\x40redhat.com");
+    piwikTracker.trackPageView();
+    piwikTracker.enableLinkTracking();
+} catch( err ) {}
+</script><noscript><p><img src="http://engstats.redhat.com/piwik/piwik.php?idsite=2" style="border:0" alt="" /></p></noscript>
+<!-- End Piwik Tracking Code -->
+
+</body>
+</html>
\ No newline at end of file


More information about the scm-commits mailing list