Skip to content

Commit

Permalink
new commit
Browse files Browse the repository at this point in the history
  • Loading branch information
andreaskaris committed Aug 8, 2024
1 parent e310e1c commit bac7fe9
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 15 deletions.
30 changes: 15 additions & 15 deletions networking/rss-irq-affinity-and-rps/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -3058,11 +3058,9 @@ <h3 id="identifying-and-reading-per-queue-interrupts">Identifying and reading pe
<span class="w"> </span><span class="mi">57</span><span class="err">:</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="mi">11296239</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="n">PCI</span><span class="o">-</span><span class="n">MSIX</span><span class="o">-</span><span class="mi">0000</span><span class="err">:</span><span class="mi">07</span><span class="err">:</span><span class="mf">00.0</span><span class="w"> </span><span class="mi">5</span><span class="o">-</span><span class="n">edge</span><span class="w"> </span><span class="n">virtio6</span><span class="o">-</span><span class="k">input</span><span class="mf">.2</span>
<span class="w"> </span><span class="mi">59</span><span class="err">:</span><span class="w"> </span><span class="mi">11620198</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="n">PCI</span><span class="o">-</span><span class="n">MSIX</span><span class="o">-</span><span class="mi">0000</span><span class="err">:</span><span class="mi">07</span><span class="err">:</span><span class="mf">00.0</span><span class="w"> </span><span class="mi">7</span><span class="o">-</span><span class="n">edge</span><span class="w"> </span><span class="n">virtio6</span><span class="o">-</span><span class="k">input</span><span class="mf">.3</span>
</code></pre></div></td></tr></table></div>
<h3 id="configuring-smp-affinity-for-rx-queue-interrupts">Configuring SMP affinity for RX queue interrupts</h3>
<p>Next, let's move the SMP affinity for our queues' interrupts to CPUs 4 and 5. The softirqs will be processed on the same
NICs by default.</p>
<h3 id="querying-smp-affinity-for-rx-queue-interrupts">Querying SMP affinity for RX queue interrupts</h3>
<p>You can get the interrupt numbers for virtio6-input.0 (in this case 53) and virtio6-input.1 (in this case 55) from
/proc/interrupts.</p>
/proc/interrupts. Then, query /proc/irq/<interrupt number>/smp_affinity and smp_affinity_list.</p>
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
Expand All @@ -3084,9 +3082,11 @@ <h3 id="configuring-smp-affinity-for-rx-queue-interrupts">Configuring SMP affini
it generated interrupts on CPU 5. But wait, irqbalance is switched off, and we even rebooted the system. Why are our
IRQs distributed between our CPUs and why aren't they allowed on all CPUs? To be confirmed, but the answer may be in
<a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=5e385a6ef31f">this commit</a>.</p>
<p>Let's force virtio6-input.0 onto CPU 2 and virtio6-input.1 onto CPU 3. The affinity can be any CPU, regardless of our
tuned configuration, either from the system CPU set or from the isolated CPU set. But I already moved IRQs to isolated
CPUs during an earlier test, so for the sake of it, I want to move them to system reserved CPUs now :-)</p>
<h3 id="configuring-smp-affinity-for-rx-queue-interrupts">Configuring SMP affinity for RX queue interrupts</h3>
<p>Let's force virtio6-input.0 onto CPU 2 and virtio6-input.1 onto CPU 3. The softirqs will be processed on the same NICs
by default. The affinity can be any CPU, regardless of our tuned configuration, either from the system CPU set or from
the isolated CPU set. But I already moved IRQs to isolated CPUs during an earlier test, so for the sake of it, I want
to move them to system reserved CPUs now :-)</p>
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
Expand Down Expand Up @@ -3131,14 +3131,14 @@ <h2 id="using-flamegraphs-to-analyze-cpu-activity">Using flamegraphs to analyze
<span class="p">(...</span><span class="w"> </span><span class="n">wait</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="mi">5</span><span class="w"> </span><span class="n">seconds</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="p">...</span>
</code></pre></div></td></tr></table></div>
<p>Now, copy the flamegraphs to your local system for analysis. You can access the flamegraphs of my test runs here:
<img alt="IRQ smp affinity - flamegraph 0" src="/src/rss-irq-affinity-and-rps/irq_smp_affinity.0/flamegraph.html" />
<img alt="IRQ smp affinity - flamegraph 1" src="/src/rss-irq-affinity-and-rps/irq_smp_affinity.1/flamegraph.html" />
<img alt="IRQ smp affinity - flamegraph 2" src="/src/rss-irq-affinity-and-rps/irq_smp_affinity.2/flamegraph.html" />
<img alt="IRQ smp affinity - flamegraph 3" src="/src/rss-irq-affinity-and-rps/irq_smp_affinity.3/flamegraph.html" />
<img alt="IRQ smp affinity - flamegraph 4" src="/src/rss-irq-affinity-and-rps/irq_smp_affinity.4/flamegraph.html" />
<img alt="IRQ smp affinity - flamegraph 5" src="/src/rss-irq-affinity-and-rps/irq_smp_affinity.5/flamegraph.html" />
<img alt="IRQ smp affinity - flamegraph 6" src="/src/rss-irq-affinity-and-rps/irq_smp_affinity.6/flamegraph.html" />
<img alt="IRQ smp affinity - flamegraph 7" src="/src/rss-irq-affinity-and-rps/irq_smp_affinity.7/flamegraph.html" /></p>
<img alt="IRQ smp affinity - flamegraph 0" src="../../src/rss-irq-affinity-and-rps/irq_smp_affinity.0/flamegraph.html" />
<img alt="IRQ smp affinity - flamegraph 1" src="../../src/rss-irq-affinity-and-rps/irq_smp_affinity.1/flamegraph.html" />
<img alt="IRQ smp affinity - flamegraph 2" src="../../src/rss-irq-affinity-and-rps/irq_smp_affinity.2/flamegraph.html" />
<img alt="IRQ smp affinity - flamegraph 3" src="../../src/rss-irq-affinity-and-rps/irq_smp_affinity.3/flamegraph.html" />
<img alt="IRQ smp affinity - flamegraph 4" src="../../src/rss-irq-affinity-and-rps/irq_smp_affinity.4/flamegraph.html" />
<img alt="IRQ smp affinity - flamegraph 5" src="../../src/rss-irq-affinity-and-rps/irq_smp_affinity.5/flamegraph.html" />
<img alt="IRQ smp affinity - flamegraph 6" src="../../src/rss-irq-affinity-and-rps/irq_smp_affinity.6/flamegraph.html" />
<img alt="IRQ smp affinity - flamegraph 7" src="../../src/rss-irq-affinity-and-rps/irq_smp_affinity.7/flamegraph.html" /></p>



Expand Down
Binary file modified sitemap.xml.gz
Binary file not shown.

0 comments on commit bac7fe9

Please sign in to comment.