FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Gentoo > Gentoo User

 
 
LinkBack Thread Tools
 
Old 12-13-2007, 02:27 PM
James
 
Default gaming kernel

Hello,


I use the gentoo kernel series for my production systems.
On my gaming system, I have a 2.6.22-gentoo-r8 kernel
that works very well for gaming (bzflag). It an amd64
with 2 gig of ram.


I've tried to build a 2.6.23-getnoo-r3 kernel for gaming
and it performs very poorly with no other changes except
to recompile the ati-drivers and bzflag. (too much jitter
and too much lag). The game jerks around the updates to the
graphics and the game kicks me off for too much jitter
and lag.

I can revert back to the 2.6.22-gentoo-r8 kernel and everything
is still fast without issues. I build and keep several kernels
so building one for testing evaluation is not a problem,
(gotta love grub). At first I made no changes between the 2
kernels. Now I have tried to lower the clock settings and such
to make things more real time. Nothing I have tried seems to work
as good and the old setting (2.6.22-r8) and those setting do
not work for 2.6.23-r3.+

Here are some of the config-2.6.23-gentoo-r3 kernel settings for
kernel-2.6.23-gentoo-r3.


I'm looking for suggestion on kernel build parameters to change,
or an explanation as to how to build (optimize) a kernel for gaming.



CONFIG_X86_64=y
CONFIG_64BIT=y
CONFIG_X86=y
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_ZONE_DMA32=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_SEMAPHORE_SLEEPERS=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_X86_CMPXCHG=y
CONFIG_EARLY_PRINTK=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_ARCH_POPULATES_NODE_MAP=y
CONFIG_DMI=y
CONFIG_AUDIT_ARCH=y
CONFIG_GENERIC_BUG=y
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"


# General setup
#
CONFIG_EXPERIMENTAL=y
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
# CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_TASKSTATS is not set
# CONFIG_USER_NS is not set
# CONFIG_AUDIT is not set
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=15
# CONFIG_CPUSETS is not set
CONFIG_SYSFS_DEPRECATED=y
# CONFIG_RELAY is not set
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_SYSCTL=y
# CONFIG_EMBEDDED is not set
CONFIG_UID16=y
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_ANON_INODES=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_SLAB=y
# CONFIG_SLUB is not set
# CONFIG_SLOB is not set
CONFIG_RT_MUTEXES=y
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set
CONFIG_MODVERSIONS=y
# CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_KMOD=y
CONFIG_STOP_MACHINE=y
CONFIG_BLOCK=y
# CONFIG_BLK_DEV_IO_TRACE is not set
# CONFIG_BLK_DEV_BSG is not set

# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
# CONFIG_IOSCHED_AS is not set
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="cfq"
# Processor type and features
#
CONFIG_X86_PC=y
# CONFIG_X86_VSMP is not set
CONFIG_MK8=y
# CONFIG_MPSC is not set
# CONFIG_MCORE2 is not set
# CONFIG_GENERIC_CPU is not set
CONFIG_X86_L1_CACHE_BYTES=64
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_INTERNODE_CACHE_BYTES=64
CONFIG_X86_TSC=y
CONFIG_X86_GOOD_APIC=y
CONFIG_MICROCODE=y
CONFIG_MICROCODE_OLD_INTERFACE=y
CONFIG_X86_MSR=y
CONFIG_X86_CPUID=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_MTRR=y
CONFIG_SMP=y
CONFIG_SCHED_SMT=y
CONFIG_SCHED_MC=y
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
CONFIG_PREEMPT_BKL=y
CONFIG_NUMA=y
CONFIG_K8_NUMA=y
CONFIG_NODES_SHIFT=6
CONFIG_X86_64_ACPI_NUMA=y
CONFIG_NUMA_EMU=y
CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
CONFIG_ARCH_DISCONTIGMEM_DEFAULT=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_SELECT_MEMORY_MODEL=y
# CONFIG_FLATMEM_MANUAL is not set
CONFIG_DISCONTIGMEM_MANUAL=y
# CONFIG_SPARSEMEM_MANUAL is not set
CONFIG_DISCONTIGMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_NEED_MULTIPLE_NODES=y
# CONFIG_SPARSEMEM_STATIC is not set
# CONFIG_MEMORY_HOTPLUG is not set
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_MIGRATION=y
CONFIG_RESOURCES_64BIT=y
CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y
CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y
CONFIG_OUT_OF_LINE_PFN_TO_PAGE=y
CONFIG_NR_CPUS=32
CONFIG_PHYSICAL_ALIGN=0x200000
CONFIG_HOTPLUG_CPU=y
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_HPET_TIMER=y
# CONFIG_HPET_EMULATE_RTC is not set
CONFIG_IOMMU=y
# CONFIG_CALGARY_IOMMU is not set
CONFIG_SWIOTLB=y
CONFIG_X86_MCE=y
# CONFIG_X86_MCE_INTEL is not set
CONFIG_X86_MCE_AMD=y
# CONFIG_KEXEC is not set
# CONFIG_CRASH_DUMP is not set
# CONFIG_RELOCATABLE is not set
CONFIG_PHYSICAL_START=0x200000
# CONFIG_SECCOMP is not set
# CONFIG_CC_STACKPROTECTOR is not set

CONFIG_HZ_100=y
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
# CONFIG_HZ_1000 is not set
CONFIG_HZ=100
CONFIG_K8_NB=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_ISA_DMA_API=y
CONFIG_GENERIC_PENDING_IRQ=y

James




--
gentoo-user@gentoo.org mailing list
 
Old 12-13-2007, 02:59 PM
"Hemmann, Volker Armin"
 
Default gaming kernel

On Donnerstag, 13. Dezember 2007, James wrote:

> # CONFIG_PREEMPT_VOLUNTARY is not set

betwen 2.6.22 and 2.6.23 the new scheduler was introduced. Most people (like
me) have had positive results related to gaming. But maybe bzflag is stupidly
coded?

Nonetheless you should try 'voluntary' preemption, stop using numa if you
don't have a numa box, stop using smt, if you don't have intel hyperthreading
cpus aaaand try a vanilla kernel.org kernel like 2.6.23.9.
--
gentoo-user@gentoo.org mailing list
 
Old 12-13-2007, 03:31 PM
Shawn Haggett
 
Default gaming kernel

CONFIG_HZ_100=y
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
# CONFIG_HZ_1000 is not set
CONFIG_HZ=100


Smaller numbers here actually mean less clock interrupts per second.
This means that the CPU doesn't have to spend as much time switching
between processes. However it also means that a process will have to
wait longer if another one is currently using the CPU. Higher numbers
tend to be good for getting faster responses, since the process on
average shouldn't have to wait as long to actually get back on the CPU.


I believe the help messages suggest 100Hz for a server, where
responsiveness is not a problem, you just don't want the CPU wasting
time switching processes lots. 250Hz and 300Hz are for more for desktop
machines, and the 1000Hz for a really low latency desktop machine. So
have you tried the high speeds?


Shawn

--
gentoo-user@gentoo.org mailing list
 
Old 12-13-2007, 04:09 PM
Philip Webb
 
Default gaming kernel

071214 Shawn Haggett wrote:
>> CONFIG_HZ_100=y
>> # CONFIG_HZ_250 is not set
>> # CONFIG_HZ_300 is not set
>> # CONFIG_HZ_1000 is not set
>> CONFIG_HZ=100
> Smaller numbers here actually mean less clock interrupts per second.
> ie the CPU doesn't have to spend as much time switching between processes,
> but also a process will have to wait longer
> if another is currently using the CPU.
> Higher numbers tend to be good for getting faster responses,
> since the process on average shouldn't have to wait as long
> to actually get back on the CPU.
> 1000Hz for a really low latency desktop machine.

I don't play games, but I've long had my desktop box using HZ_1000
& it has always been very responsive (now Intel Core 2 Duo, 2.6.23-r3).
That's certainly the first thing to try.

--
========================,,======================== ====================
SUPPORT ___________//___, Philip Webb : purslow@chass.utoronto.ca
ELECTRIC /] [] [] [] [] []| Centre for Urban & Community Studies
TRANSIT `-O----------O---' University of Toronto
--
gentoo-user@gentoo.org mailing list
 
Old 12-13-2007, 04:57 PM
Randy Barlow
 
Default gaming kernel

Philip Webb wrote:
> I don't play games, but I've long had my desktop box using HZ_1000
> & it has always been very responsive (now Intel Core 2 Duo, 2.6.23-r3).
> That's certainly the first thing to try.

I use 100 Hz on an old P3 desktop/server. It's not a high traffic
server, but it does my web/email/taking over the world. The desktop
environment can be pretty sluggish at times, but I keep it at 100 just
for efficiency. Would I be best off to up the interrupt rate, or would
that hurt my serverness on my aging system? The desktop sluggishness is
livable, but I wouldn't want any tcp connections to time out from not
being serviced (how long is a typical timeout anyhow?)

--
Randy Barlow
http://electronsweatshop.com
--
gentoo-user@gentoo.org mailing list
 
Old 12-13-2007, 05:03 PM
"Hemmann, Volker Armin"
 
Default gaming kernel

On Donnerstag, 13. Dezember 2007, Philip Webb wrote:
> 071214 Shawn Haggett wrote:
> >> CONFIG_HZ_100=y
> >> # CONFIG_HZ_250 is not set
> >> # CONFIG_HZ_300 is not set
> >> # CONFIG_HZ_1000 is not set
> >> CONFIG_HZ=100
> >
> > Smaller numbers here actually mean less clock interrupts per second.
> > ie the CPU doesn't have to spend as much time switching between
> > processes, but also a process will have to wait longer
> > if another is currently using the CPU.
> > Higher numbers tend to be good for getting faster responses,
> > since the process on average shouldn't have to wait as long
> > to actually get back on the CPU.
> > 1000Hz for a really low latency desktop machine.
>
> I don't play games, but I've long had my desktop box using HZ_1000
> & it has always been very responsive (now Intel Core 2 Duo, 2.6.23-r3).
> That's certainly the first thing to try.


I have the best results with 300Hz. With 1000Hz the kernel wastes to much time
context switching. Compiling is slower, gaming FPS lower ...
--
gentoo-user@gentoo.org mailing list
 
Old 12-14-2007, 12:17 AM
James
 
Default gaming kernel

Hemmann, Volker Armin <volker.armin.hemmann <at> tu-clausthal.de> writes:


> I have the best results with 300Hz. With 1000Hz the kernel wastes to much time
> context switching. Compiling is slower, gaming FPS lower ...


OK, I have read all that was posted and I'm experimenting with new kernels.


Thanks for all of the input from everyone. I'll post something in a few days,
If I'm unable to build a successful kernel for bzflag.


thx,


James




--
gentoo-user@gentoo.org mailing list
 

Thread Tools




All times are GMT. The time now is 12:19 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org