[haiku-commits] Re: haiku: hrev44347 - in src/libs/compat/freebsd_network/compat/sys: . src/libs/compat/freebsd_network

  • From: Yongcong Du <ycdu.vmcore@xxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Mon, 16 Jul 2012 20:15:54 +0800

On Mon, Jul 16, 2012 at 7:52 PM, <fredrik.holmqvist@xxxxxxxxx> wrote:

> hrev44347 adds 1 changeset to branch 'master'
> old head: 3bbf781c1a27f5c0e8d4f3c632908174ed1f6ede
> new head: 73fc635b3d87970ed7843eacd0ac7a5ffcac0e9b
>
>
> ----------------------------------------------------------------------------
>
> 73fc635: Tick at 1000Hz not 1MHz.
>
>   Our FreeBSD networking code defined hz to 1MHz and 1 tick = 1 / hz,
>   but the clock code ticked 1 tick at 1000Hz.
>
>   This caused all calculations that are done on ticks, autonegotiation
>   and wlan scanning to be done very often as FreeBSD uses 1000 Hz
>   (100Hz for ARM). Defaults for autonegotiation is 5 and 17 ticks.
>
>   (Another interesting thing is that callouts are using 8% cpu...)
>
>                          [ Fredrik Holmqvist <fredrik.holmqvist@xxxxxxxxx>
> ]
>
>

Wow, I like this patch. Per my experience, the hardClock() in freebsd
network compat layer introduces obvious wakeups during idle.

Is there anyway to remove such timer totally?

FreeBSD 9.0 introduced one-shot timer operation mode, the interrupts are
generated only when there is some work to do. So is there need to keep tick
generator in Haiku's freebsd network compact layer?

Other related posts: