Event based scheduling and USB.
mav at FreeBSD.org
Tue Oct 26 19:58:21 UTC 2010
Takanori Watanabe wrote:
> I updated my FreeBSD tree on laptop, to the current
> as of 18 Oct.2010, it works fine with CPU C3 state enabled,
> I think this is your achievement of event time scheduler,
> But when USB driver is enabled, the load average is considerablly
> high (0.6 to 1.0) if sysctl oid kern.eventtimer.periodic is set to 0.
> Then kern.eventtimer.periodic is set to 1, the load average goes
> to 0 quickly as before, but almost never transit to C3.
> Is this behavior expected, or something wrong?
> I noticed one of usb host controller device shares HPET irq.
> When I implement interrupt filter in uhci driver, the load average
> goes to 0 as before.
> % vmstat -i
> interrupt total rate
> irq1: atkbd0 398 2
> irq9: acpi0 408 2
> irq12: psm0 3 0
> irq19: ehci1 37 0
> irq20: hpet0 uhci0 35970 230
> irq22: ehci0 2 0
> irq256: em0 4 0
> irq257: ahci0 1692 10
> Total 38514 246
I haven't noticed that issue and it is surely not expected for me. I
will try to reproduce it.
Most likely you should be able to avoid interrupt sharing using some
additional HPET options, described at hpet(4).
> BTW, when USB port is enabled C3 transition rate gets lower.
> I think it is likely to occur. But how can I supress power
I can't say about USB, but you may try this patch to optimize some other
> It's time to implement powertop for freebsd, isn't it?
Surely it is. I was even thinking about possibility to port one from
OpenSolaris, but other work distracted me. You may take it, it you wish.
More information about the freebsd-current