割り込みsmp_affinityを変更します

ラドゥマリス

以下に示すように、nvidiaは割り込みを共有しており、割り込みはCPU0のみを使用しています。nvidiaの割り込みを変更するにはどうすればよいですか、両方のCPUを使用させるにはどうすればよいですか?
これは2番目の質問を説明する記事です。smp_affinityを変更することでCPU0とCPU1を切り替えることができますが、両方のCPUを使用するように設定する方法がわかりませんでした。

このブログによると smp_affinityを3に設定すると、CPU0とCPU1の両方を使用する必要があります。実際、私の場合はCPU0を使用します(1に設定されているように動作します)。2に設定すると、CPU1が使用されます。

radu@radu-work:~$ cat /proc/interrupts
           CPU0       CPU1       
  0:         79          0   IO-APIC-edge      timer
  1:          9      17152   IO-APIC-edge      i8042
  4:          2          0   IO-APIC-edge    
  6:          5          0   IO-APIC-edge      floppy
  7:          0          0   IO-APIC-edge      parport0
  8:          1          0   IO-APIC-edge      rtc0
  9:          0          0   IO-APIC-fasteoi   acpi
 12:     694613          0   IO-APIC-edge      i8042
 16:    1233922          0   IO-APIC-fasteoi   uhci_hcd:usb3, ahci, nvidia
 17:       3961     168757   IO-APIC-fasteoi   uhci_hcd:usb4, pata_jmicron
 18:          0          0   IO-APIC-fasteoi   ehci_hcd:usb1, uhci_hcd:usb7
 19:         59          0   IO-APIC-fasteoi   ata_piix, ata_piix, uhci_hcd:usb6
 22:        819       6915   IO-APIC-fasteoi   HDA Intel
 23:          2          0   IO-APIC-fasteoi   ehci_hcd:usb2, uhci_hcd:usb5, eth


radu@radu-work:~$ sudo cat /proc/irq/16/smp_affinity 
1

root@radu-work:~# uname -a
Linux radu-work 2.6.32-32-generic #62-Ubuntu SMP Wed Apr 20 21:54:21 UTC 2011 i686 GNU/Linux

ありがとうございました。

編集: LinuxボックスでHDムービー(少なくとも720)を再生できるようにしようとしています。私はnvidia66xxシリーズ、LinuxバージョンUbuntu 11.04を持っており、nvidia独自のドライバーをインストールしていますが、古いハードウェア(8xxxシリーズ以上)のハードウェアアクセラレーション(およびビデオデコード)をサポートしていないため、デコードはソフトウェアで行われます。HDムービーを見ようとすると、画像が数秒間フリーズし、数秒間動作してから再びフリーズします。CPU使用率は私の注意を引くもので、nvidiaドライバーは1つのCPUしか使用していなかったので、nvidiaに両方のCPUを使用させることができれば、パフォーマンスが向上し、最終的にLinuxボックスでHDムービーを視聴できるようになると思います。ちなみに、私は考えられるすべてのLinuxプレーヤーを試しました:mplayer(ナイトリービルドでも)、totem、vlcなど...

編集: irqbalance --debug

root@radu-work:/# irqbalance --debug
Package 0:  cpu mask is 00000001 (workload 0)
        Cache domain 0: cpu mask is 00000001  (workload 0) 
                CPU number 0  (workload 0)
                CPU number 0  (workload 0)
Package 0:  cpu mask is 00000003 (workload 0)
        Cache domain 0: cpu mask is 00000003  (workload 0) 
                CPU number 0  (workload 0)
                CPU number 1  (workload 0)
Interrupt 44 (class ethernet) has workload 7 
Interrupt 0 (class timer) has workload 0 
Interrupt 16 (class storage) has workload 122 
Interrupt 17 (class storage) has workload 29 
Interrupt 19 (class storage) has workload 0 
Interrupt 45 (class legacy) has workload 2 
Interrupt 1 (class legacy) has workload 2 
Interrupt 12 (class legacy) has workload 0 
-----------------------------------------------------------------------------
IRQ delta is 152640 
Rescanning cpu topology 
Package 0:  cpu mask is 00000001 (workload 0)
        Cache domain 0: cpu mask is 00000001  (workload 0) 
                CPU number 0  (workload 0)
                CPU number 0  (workload 0)
Package 0:  cpu mask is 00000003 (workload 0)
        Cache domain 0: cpu mask is 00000003  (workload 0) 
                CPU number 0  (workload 0)
                CPU number 1  (workload 0)
Package 0:  cpu mask is 00000001 (workload 16)
        Cache domain 0: cpu mask is 00000001  (workload 16) 
                CPU number 0  (workload 3)
                  Interrupt 44 (ethernet/2) 
                CPU number 0  (workload 0)
          Interrupt 17 (storage/9) 
          Interrupt 19 (storage/0) 
          Interrupt 45 (legacy/0) 
          Interrupt 12 (legacy/0) 
Package 0:  cpu mask is 00000003 (workload 42)
        Cache domain 0: cpu mask is 00000003  (workload 42) 
                CPU number 0  (workload 0)
                CPU number 1  (workload 0)
          Interrupt 16 (storage/40) 
          Interrupt 1 (legacy/0) 

-----------------------------------------------------------------------------
...
-----------------------------------------------------------------------------
IRQ delta is 10 
IRQ delta is 10, switching to power mode 
Rescanning cpu topology 
Package 0:  cpu mask is 00000001 (workload 0)
        Cache domain 0: cpu mask is 00000001  (workload 0) 
                CPU number 0  (workload 0)
                CPU number 0  (workload 0)
Package 0:  cpu mask is 00000003 (workload 0)
        Cache domain 0: cpu mask is 00000003  (workload 0) 
                CPU number 0  (workload 0)
                CPU number 1  (workload 0)
Package 0:  cpu mask is 00000001 (workload 38)
        Cache domain 0: cpu mask is 00000001  (workload 38) 
                CPU number 0  (workload 36)
                  Interrupt 44 (ethernet/35) 
                CPU number 0  (workload 0)
          Interrupt 16 (storage/0) 
          Interrupt 1 (legacy/0) 
Package 0:  cpu mask is 00000003 (workload 4)
        Cache domain 0: cpu mask is 00000003  (workload 4) 
                CPU number 0  (workload 0)
                CPU number 1  (workload 0)
          Interrupt 19 (storage/0) 
          Interrupt 17 (storage/0) 
          Interrupt 45 (legacy/0) 
          Interrupt 12 (legacy/0) 
デビッドシュワルツ

あなたは間違った木を吠えています。割り込みを両方のCPUに送ると、パフォーマンスが低下しますが、良くなることはありません。一つには、それはソフトウェアデコーダーが絶えず中断されることを意味するでしょう。もう1つは、割り込みコードがキャッシュ内でホットになる可能性が低いことを意味します。これが事態を悪化させる理由は他にもたくさんあります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

AVRピン変更割り込みはupredicably起動します

分類Dev

SMPでは割り込みはどのように処理されますか?

分類Dev

実行中の割り込みハンドラの優先度レベルを変更しますか?

分類Dev

割り込み後の割り込みリセット中にC ++変数が変更されました

分類Dev

Pythonでcsvデータを読み取り、変更し、書き込みます

分類Dev

PythonAsyncioを使用してGPIO割り込みを待機します

分類Dev

アセンブリの割り込みを変更するとき...?

分類Dev

MATLABは割り込み時に現在の値を返します

分類Dev

SenchaのtabBarの読み込みタブを変更します

分類Dev

/ proc / irq / * / smp_affinityが、コンピューターのCPU数に対してマスクの幅が広すぎることを示しているのはなぜですか?

分類Dev

CAtmega328P文字列から整数への変換はRX割り込みをブロックします

分類Dev

Mifare Classicカードを使用して読み取り-変更-書き込みを行いますか?

分類Dev

すべての組み込み型がC#で不変である場合、それらに新しい値を割り当てた後、それらのメモリ位置を変更する必要があるという意味ではありませんか?

分類Dev

割り込みを処理し、Rubyで..doloopまで再試行します

分類Dev

埋め込みマクロをVBAに変更します

分類Dev

埋め込まれたTomcatのSO_TIMEOUT(読み取りタイムアウト)を変更します

分類Dev

Why is /proc/irq/*/smp_affinity showing too wide of mask for number of CPUs on my computer?

分類Dev

Moose:オブジェクトを作成した後、読み取り/書き込み属性を読み取り専用に変更します

分類Dev

理由:「割り当て解除中に..を読み込もうとしています...:UISearchController:」

分類Dev

Gradle Kotlinスクリプト、組み込み変数を介してクラスパッチを割り当てようとしています

分類Dev

Pythonは組み込みの文字列関数を変更します

分類Dev

window.location.reload(true)はページを再読み込みしますが、変更を表示するにはページを更新する必要があります

分類Dev

スレッドは、割り込み呼び出し後の割り込み呼び出しでfalseを返します

分類Dev

割り込みがメインの値を更新していません。割り込みをどのように設定すればよいですか?

分類Dev

割り込みを無効にすると、不揮発性変数が保護されますか、それとも並べ替えが発生しますか?

分類Dev

AVRCは割り込みを実行しません

分類Dev

Swiftは、読み込まれると画像の色を変更します

分類Dev

ページの読み込み時に、すべての「無効」属性を「読み取り専用」属性に変更しますか?

分類Dev

C変数からの割り込み番号を使用してインラインasmでINT%0をどのように使用しますか?

Related 関連記事

  1. 1

    AVRピン変更割り込みはupredicably起動します

  2. 2

    SMPでは割り込みはどのように処理されますか?

  3. 3

    実行中の割り込みハンドラの優先度レベルを変更しますか?

  4. 4

    割り込み後の割り込みリセット中にC ++変数が変更されました

  5. 5

    Pythonでcsvデータを読み取り、変更し、書き込みます

  6. 6

    PythonAsyncioを使用してGPIO割り込みを待機します

  7. 7

    アセンブリの割り込みを変更するとき...?

  8. 8

    MATLABは割り込み時に現在の値を返します

  9. 9

    SenchaのtabBarの読み込みタブを変更します

  10. 10

    / proc / irq / * / smp_affinityが、コンピューターのCPU数に対してマスクの幅が広すぎることを示しているのはなぜですか?

  11. 11

    CAtmega328P文字列から整数への変換はRX割り込みをブロックします

  12. 12

    Mifare Classicカードを使用して読み取り-変更-書き込みを行いますか?

  13. 13

    すべての組み込み型がC#で不変である場合、それらに新しい値を割り当てた後、それらのメモリ位置を変更する必要があるという意味ではありませんか?

  14. 14

    割り込みを処理し、Rubyで..doloopまで再試行します

  15. 15

    埋め込みマクロをVBAに変更します

  16. 16

    埋め込まれたTomcatのSO_TIMEOUT(読み取りタイムアウト)を変更します

  17. 17

    Why is /proc/irq/*/smp_affinity showing too wide of mask for number of CPUs on my computer?

  18. 18

    Moose:オブジェクトを作成した後、読み取り/書き込み属性を読み取り専用に変更します

  19. 19

    理由:「割り当て解除中に..を読み込もうとしています...:UISearchController:」

  20. 20

    Gradle Kotlinスクリプト、組み込み変数を介してクラスパッチを割り当てようとしています

  21. 21

    Pythonは組み込みの文字列関数を変更します

  22. 22

    window.location.reload(true)はページを再読み込みしますが、変更を表示するにはページを更新する必要があります

  23. 23

    スレッドは、割り込み呼び出し後の割り込み呼び出しでfalseを返します

  24. 24

    割り込みがメインの値を更新していません。割り込みをどのように設定すればよいですか?

  25. 25

    割り込みを無効にすると、不揮発性変数が保護されますか、それとも並べ替えが発生しますか?

  26. 26

    AVRCは割り込みを実行しません

  27. 27

    Swiftは、読み込まれると画像の色を変更します

  28. 28

    ページの読み込み時に、すべての「無効」属性を「読み取り専用」属性に変更しますか?

  29. 29

    C変数からの割り込み番号を使用してインラインasmでINT%0をどのように使用しますか?

ホットタグ

アーカイブ