"Dobashi.M"<md...@luna.wak2.jp> wrote
  in <86r4lveuh0.wl%md...@luna.wak2.jp>:

md> つまり 8.3では
md> kern.eventtimer.timer=LAPIC
md> を設定しなくても正常だが、9.1では 必要になる。ただ
md> hint.hpet.0.allowed_irqs="0x00200000"
md> などと IRQの割り当てを行う方法もあるが...
md> 
md> > last pid:  1341;  load averages:  0.47,  0.49,  0.41    up 0+00:19:43  
09:14:22
md> > となります。hint.hpet.0.allowed_irqs="0x00400000"でIRQ22を割り当てても
md> >
md> > irq22: hpet0 uhci1                166180        161
md> >
md> > となり、load もさほどかわりません。
md> ...
md> > CPU: Intel(R) Pentium(R) D CPU 3.00GHz (3000.17-MHz 686-class CPU)
md> 
md> ...と、CPU(新しいもの?)によっては それでは変わらないので、やはり
md> kern.eventtimer.timer=LAPIC
md> とした方が良い、と言う事でしょうか?

 irq の割り当て変更は、他と重複しない番号を選ばないと
 効果がありません。構成によって異なりますので、hint.hpet.0.allowed_irqs を
 いくつか変更して試すしかないかと思います。
 8.X 以降は ACPI のドライバの変更で、HPET が他の PCI デバイスよりも
 先に検出されるようになっているため、IRQ の重複を
 積極的に避けるように動いてくれません。
 どうしても重複を排除できないシステムでは、LAPIC を使うのが適切です。

 両方選べるシステムでどちらを選ぶのが得なのか、については、HPET の
 利点を実際に使うかどうかで決めると良いかも知れません。
 HPET の利点は、dev.cpu.N.cx_lowest を変更することで
 消費電力の低減が可能になるところです。デフォルトでは C1-state よりも
 下には落しませんので、明示的に設定しないと LAPIC との差は見えないのですが、
 C2 や C3 を設定すると TurboBoost が効きやすくなるなど、
 バッテリで駆動していないシステムでも性能の差として現れてきます。

  # 最近の CPU では LAPIC でも
  # C3 まで落せるものがありますが...

-- Hiroki

メールによる返信