game server and polling

Ok So I have very intensive gaming server and it is full 24/7.

I need some options to optimise the server.

I run FreeBSD 8.0 fresh install and I am using

kern.hz=2000

Can you help me with more options like kern.polling.enable so I can loose the lag little.

Thank you

BTW if I enter sysctl 'kern.polling.enable'

I get

sysctl: unknown oid 'kern.polling.enable'
 
Yes that is what I am looking but it seems my FreeBSD doesn't have polling. why?

When I write sysctl -a | grep polling

I get nothing.
 
As the manual says, you'll need a custom kernel with options DEVICE_POLLING compiled in. Once you have that you can use ifconfig to switch polling on or off on interfaces that support it (which are also listed in that manual).

It will also add certain kern.polling sysctl entries.

In other words: device polling is not in the GENERIC kernel.
 
DutchDaemon said:
As the manual says, you'll need a custom kernel with DEVICE_POLLING. Once you have that you can use ifconfig to switch polling on or off on interfaces that support it (which are also listed in that manual).

It will also add certain kern.polling sysctl entries.

Hmm do You think it worth for gaming server?
I must run the server at ker.hz=2000 so I can get 600 frames for the server.

Do you think there would be any advantage with the polling?

Thank you.
 
Do you see a lot of network interrupt activity? Do you see a high percentage of interrupt activity in [cmd=]top[/cmd]? That's the only type of polling currently available.
 
You can `systat -vms 1` to see which device generate interrupts
Advantages depends on interrupt load. If it is not so many interrupts, better leave without polling - cpu can answer more quickly to incoming packets (reducing server ping in games). But when there many PPS - if you set polling it will save cpu time and reduce apps context switches/other cpu work, so it must work faster on big PPS
 
I've checked and here is results

Code:
2000 cpu0: time
1606 alc0 256
2000 cpu1: time

alc0 is my network.

Is this lot interrupts?
 
Noob asks how to rebuild freebsd

Ok so I am little noob at this.

I have installed FreeBSD 8 but it seems that DEVICE POLLING is not included.

Now I want simple to recompile the kernel with this options

options DEVICE_POLLING
options HZ=2000

please help me and thank you.
 
ok my kernel is recompiling but is it possible to crash something like pico, linux comp, wine?

This is remote server and it is very important not to crash...
 
If your kernel recompiles fine (and you didn't make a huge amount of alterations), chances are it will install and run fine. Look into nextboot(8) -k if you're unsure.
 
I've only added options DEVICE_POLLING

One more question.
When I was installing the system I didn't included the src directory so now I downloaded it from FTP with sysinstall

Is that OK?
 
Assuming you installed the correct source tree for your current installation (e.g. 8.0-RELEASE) it should be ok.
 
well
it only asked me where do I want to install it from and because it is remote server I had no CD/DVD so I choose FTP and it downloaded automatically.

Is it possible that I got wrong version?
 
Compare [cmd=]grep -E '^(TYPE|REVISION|BRANCH)' /usr/src/sys/conf/newvers.sh[/cmd] with [cmd=]uname -sr[/cmd].
 
I am very anxious while waiting to finish :D

How much time it needs? It is very new server.
Core 2 duo E8500 I think with 8 GB ram.
 
Compiling (make buildkernel) doesn't do anything final, it just prepares the new kernel and modules for installation. So if your source tree doesn't match your installation, don't run 'make installkernel' and try again with correct source code. Compiling kernel and modules on relatively new hardware should certainly be done well within an hour.
 
Ok compiled installed AND WORKKKSSSSSSS
Ahhh I am so releaved :D:D:D:D:D

Now please help me how to set this options.

Code:
kern.dcons.poll_hz: 25
kern.polling.idlepoll_sleeping: 1
kern.polling.stalled: 0
kern.polling.suspect: 0
kern.polling.phase: 0
kern.polling.handlers: 0
kern.polling.residual_burst: 0
kern.polling.pending_polls: 0
kern.polling.lost_polls: 0
kern.polling.short_ticks: 0
kern.polling.reg_frac: 20
kern.polling.user_frac: 50
kern.polling.idle_poll: 0
kern.polling.each_burst: 5
kern.polling.burst_max: 150
kern.polling.burst: 5
debug.acpi.ec.polled: 0


thanks
 
Hey, wait a minute ... You posted something in the other thread about interrupts. Is your network interface 'alc0'? That interface doesn't support polling. It isn't listed in polling(4), and polling isn't mentioned in alc(4).

So you might as well not take the risk with the new kernel. It won't benefit you unless you have one of the interfaces listed in polling(4).
 
No, alc has no polling support yet (alc appeared in 8.0, btw). Maybe the driver author will include it, but it's not in there now.
 
Back
Top