2017-03-01から1ヶ月間の記事一覧

per cpu data シンボルのアドレス

kallsymsを見てみると,メモリ先頭のユーザ空間のアドレスにあるシンボルが複数存在していることが確認できます. % sudo cat /proc/kallsyms | head 0000000000000000 A irq_stack_union 0000000000000000 A __per_cpu_start 0000000000004000 A exception_…

X540のMSI-X設定

実際のデバイスでMSI-Xの設定の確認をしてみます. 今手元にX540があるので,それで実際に確認してみます. 文献 X540の仕様は以下から入手できます. Intel Ethernet Controller X540: Datasheet 7.3章にX540におけるMSI-Xについて書いてあります.また,9.…

MSI/MSI-Xとx2APIC

MSI (Message Signaled Interrupts) はPCI Technology Specificationが策定した,PCI/PCIeで利用される割り込み方法の一つです.最初から存在したpin-basedな割り込み(INTx割り込み)と比べ,MSIを利用する利点として以下が挙げられます. pin-base割り込み…

Local APICについて

APICは今のx86アーキテクチャで使用されている割り込みコントローラのことです.仕様は, Intel SDM 10章 などに書いてあります.以下,図はSDMから引用しています. APICは各コアごとに存在するLocal APICと,外部からの割り込みを担当するI/O APICに分かれ…

x86_64 Linuxでの仮想アドレス/物理アドレス

Linux Device Driver Chapter 15では Linuxで利用されるアドレスを以下の5種類に分類しています. User virtual address Physical address Bus address Kernel logical address Kenerl virtual address User virtual addressはその名の通りユーザプロセスが…