>The first thing I can think of that you could do is rewrite the time
function to cache time and only update it every so often.. I have a
proof of concept here. It reduces
syscall time by 40% for HZ=1000 for gettimeofday/clock_gettime.


The left4dead server replaces the gettimeofday calls with use of the hardware 
cycle counter (on systems which support it stably) reducing the amount of time 
spent making syscalls for time to approximately zero. Also, thread locals went 
from pthread functions to compiler thread local support, lock-free thread 
operations went to gcc intrinsics, etc. So the linux DS bins spend a lot less 
time in the kernel and c library functions than previous linux server releases.

We're using gcc 4.3.0 for l4d.



-----Original Message-----
From: hlds_linux-boun...@list.valvesoftware.com 
[mailto:hlds_linux-boun...@list.valvesoftware.com] On Behalf Of Gary Stanley
Sent: Saturday, January 24, 2009 5:17 PM
To: Half-Life dedicated Linux server mailing list; Half-Life dedicated Linux 
server mailing list
Subject: Re: [hlds_linux] AMD64 binaries

At 03:32 PM 1/24/2009, Chris Green wrote:
>Those amd-optimized binaries weren't 64-bit binaries AFAIK (this is
>from before I started working on the linux ds), but rather were just
>binaries produced with gcc tuning settings set to favor the amd64
>chips. With the orange box (and subsequently with l4d), we changed a
>lot of our compiler settings and versions and a lot of things about
>the way we optimize code had changed, and it was felt that after
>these changes, there weren't significant improvements from having
>separate binaries for intel and amd.

Honestly, from an OS point of view 64bit binaries give you a couple
of registers to use on the stack.. i know you use -fPIC for your
shared libaries, so you lose a register to use on the stack.. older
gcc's suffered,
while newer ones are better at optimizing. What GCC are you using for source?


>In our more recent dedicated server work, we've concentrated on
>optimizations that enhance performance of all platforms, and you can
>see it in the
>left4dead linux ds. This release had a lot of the linux-specific
>code rewritten, switch compiler versions, turned on higher optimization levels,
>and had a lot of linux-specific server features added, and is
>definitely the highest performing linux ds we've released for any of our games.

The first thing I can think of that you could do is rewrite the time
function to cache time and only update it every so often.. I have a
proof of concept here. It reduces
syscall time by 40% for HZ=1000 for gettimeofday/clock_gettime.

I'm currently using timer_create() instead of usleep() for an experiment.




>-----Original Message-----
>From: hlds_linux-boun...@list.valvesoftware.com
>[mailto:hlds_linux-boun...@list.valvesoftware.com] On Behalf Of ics
>Sent: Saturday, January 24, 2009 11:47 AM
>To: Half-Life dedicated Linux server mailing list
>Subject: Re: [hlds_linux] AMD64 binaries
>
>Maybe 64bit binary was discontinued because it was harder to keep up
>many branches of the engine. Srcds_i486 runs fine on most machines.
>Thats the main purpose anyway, not "best performance" which some people
>here seem to be looking for. Their agenda may be commercial or out of
>interest but i dont think you will get 64bit binaries unless whole Steam
>goes 64bit among games. It must be discontinued for a reason.
>
>-ics
>
>Walton Hoops kirjoitti:
> > I admit I haven't dug into the scripts to see what is actually being run,
> > but whenever I start my server (using Ubuntu x64), I see:
> >
> > Auto detecting CPU
> > Using AMD-Opteron (64 bit) Optimised binary.
> >
> > This sounds to me like there already is a 64-bit binary.  Am I mistaken?
> >
> > Walton
> >
> > --------------------------------------------------
> > From: "Kveri" <kv...@kveri.com>
> > Sent: Saturday, January 24, 2009 10:26 AM
> > To: "Half-Life dedicated Linux server mailing list"
> > <hlds_linux@list.valvesoftware.com>
> > Subject: Re: [hlds_linux] AMD64 binaries
> >
> >
> >> I think almost everyone here uses newer processors, so everyone should
> >> be interested :).
> >>
> >> Why not to use all that power the x64 processors offer?
> >>
> >> Kveri
> >>
> >> Joseph Laws wrote:
> >>
> >>> Yes, I'm very interested in the status of the AMD64 binaries as well.
> >>>
> >>> Gary Stanley wrote:
> >>>
> >>>
> >>>> What ever happened to AMD64, valve?
> >>>>
> >>>> The AMD64 binaries allowed hosters to use additional gpr's on the
> >>>> stack.. also there are other benefits, native vsyscalls/vdso, no more
> >>>> memory segmentation, high memory support (no PAE)
> >>>>
> >>>> Can you re-release them? I found the older binaries performed
> >>>> excellently under load.
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>> _______________________________________________
> >>>> To unsubscribe, edit your list preferences, or view the list archives,
> >>>> please visit:
> >>>> http://list.valvesoftware.com/mailman/listinfo/hlds_linux
> >>>>
> >>>>
> >>>>
> >>>>
> >>> _______________________________________________
> >>> To unsubscribe, edit your list preferences, or view the list archives,
> >>> please visit:
> >>> http://list.valvesoftware.com/mailman/listinfo/hlds_linux
> >>>
> >>>
> >>>
> >> _______________________________________________
> >> To unsubscribe, edit your list preferences, or view the list archives,
> >> please visit:
> >> http://list.valvesoftware.com/mailman/listinfo/hlds_linux
> >>
> >>
> >
> > _______________________________________________
> > To unsubscribe, edit your list preferences, or view the list
> archives, please visit:
> > http://list.valvesoftware.com/mailman/listinfo/hlds_linux
> >
>
>
>_______________________________________________
>To unsubscribe, edit your list preferences, or view the list
>archives, please visit:
>http://list.valvesoftware.com/mailman/listinfo/hlds_linux
>
>_______________________________________________
>To unsubscribe, edit your list preferences, or view the list
>archives, please visit:
>http://list.valvesoftware.com/mailman/listinfo/hlds_linux


_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
http://list.valvesoftware.com/mailman/listinfo/hlds_linux

_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
http://list.valvesoftware.com/mailman/listinfo/hlds_linux

Reply via email to