DragonFly submit List (threaded) for 2007-09
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
Re: per-cpu polling(4) support
On 9/14/07, Sepherosa Ziehau <sepherosa@gmail.com> wrote:
> Hi all,
>
> Following patch adds per-cpu polling(4) support:
> http://leaf.dragonflybsd.org/~sephe/pcpu_polling.diff
Above patch is updated to address a problem I found later last night,
new patch is at:
http://leaf.dragonflybsd.org/~sephe/pcpu_polling1.diff
The things got fixed in the new patch:
- Correctly set up poll_cpumask
- Nuke unused NETISR_{POLL,POLLMORE} macros
- Polling is now enabled by default on the first 32 CPUs (*); there is
no need to set kern.polling.cpumask tunable to make CPU polling
capable.
(*) This will not hurt anything, since its rate is 1/seconds.
Best Regards,
sephe
>
> It is against HEAD. You need to apply it under /usr/src. At least
> quickworld and quickkernel are required.
>
> You need to set tunable kern.polling.cpumask to make specific CPU
> capable of polling:
> e.g. 0x1 - CPU0, 0x3 - CPU{0,1} ...
> It also implies that you can do polling on CPU1 instead of CPU0 by
> setting kern.polling.cpumask to 0x2
>
> To put NIC on a polling capable CPU_Y; Whether NIC is on polling
> capable CPU_Z or not does not matter:
> ifconfig ifaceX pollcpu Y
>
> To pull NIC off a polling capable CPU:
> ifconfig ifaceX -polling
>
> kern.polling.Y.{nodes} contain sysctl nodes for CPU_Y
>
> Noticeable changes:
> 1) kern.polling.{nodes} contain sysctl nodes for lowest polling
> capable CPU, which is not necessarily CPU0 depending on
> kern.polling.cpumask tunable (default is CPU0)
> 2) ifconfig ifaceX polling, will put ifaceX onto the lowest polling
> capable CPU, which is not necessarily CPU0 depending on
> kern.polling.cpumask tunable (default is CPU0)
> 3) Polling is enabled by default on polling capable CPUs
> 4) If polling capable CPU has no NICs associated, its poll clock rate
> will be reduced to 1/sec
>
> Please review it.
>
> Best Regards,
> sephe
>
> --
> Live Free or Die
>
--
Live Free or Die
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]