Thunder K8W S2885 V2.07 BIOS Upgrade

From: Robert M. Stockmann
Date: Tue Aug 25 2009 - 17:16:59 EST



Hi,

I would like to mention that after i upgraded the BIOS of my
Thunder K8W (S2885) from V2.04 to V2.07 the Linux version Mandrake
10.1 x86_64 with kernel 2.6.15 has started to run with much greater
performance.

All these Opteron features like NUMA etc. seem finally have started
to work like expected!

The memory usage is way way down, where i 'only' have 2Gb RAM ECC
installed, leaving me an extra 14Gb RAM to go. Important is to
reverse the CPU options for the Opteron inside the Linux kernel
back to the Linux platform defaults like Linus Torvalds ships
these with his kernels inside arch/x86_64/defconfig :

#
# Processor type and features
#
# CONFIG_MK8 is not set
# CONFIG_MPSC is not set
CONFIG_GENERIC_CPU=y
CONFIG_X86_L1_CACHE_BYTES=128
CONFIG_X86_L1_CACHE_SHIFT=7
CONFIG_X86_TSC=y
CONFIG_X86_GOOD_APIC=y
# CONFIG_MICROCODE is not set
CONFIG_X86_MSR=y
CONFIG_X86_CPUID=y
CONFIG_X86_HT=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_MTRR=y
CONFIG_SMP=y
CONFIG_SCHED_SMT=y
CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not set
CONFIG_PREEMPT_BKL=y
CONFIG_NUMA=y
CONFIG_K8_NUMA=y
CONFIG_X86_64_ACPI_NUMA=y
# CONFIG_NUMA_EMU is not set
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_SPLIT_PTLOCK_CPUS=4
CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y
CONFIG_NR_CPUS=32
CONFIG_HOTPLUG_CPU=y
CONFIG_HPET_TIMER=y
CONFIG_X86_PM_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_GART_IOMMU=y
CONFIG_SWIOTLB=y
CONFIG_X86_MCE=y
CONFIG_X86_MCE_INTEL=y
CONFIG_X86_MCE_AMD=y
CONFIG_PHYSICAL_START=0x100000
# CONFIG_KEXEC is not set
CONFIG_SECCOMP=y
# CONFIG_HZ_100 is not set
CONFIG_HZ_250=y
# CONFIG_HZ_1000 is not set
CONFIG_HZ=250
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_ISA_DMA_API=y
CONFIG_GENERIC_PENDING_IRQ=y

If your BIOS team and developers keep such standards in good
practice, Tyan might become the sole system(s) supplier of
importance.

Keep up the god work!
Best regards,

Robert
PS. These git critters sure know how to store useful
information, after pppd kept dying with

invalid operand: 0000 [1] SMP
skb_panic_over: text: ffffffff888df03b
len:1 put: 1 head: ffff810038017800
data: fff810130817800 tail: fff810130817801
end: fff810030817e00 dev: <NULL>

on my x86_64 machine.
( I'm sorry for still running on 2006 hardware and software,
but hey time fly's when your having fun!)

http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff_plain;h=8243126c5e29030bf1a3fb75187a513966dcba62;hp=f09484ff87f677056ce631aa3d8e486861501b5

From: David S. Miller <davem@xxxxxxxxxxxxxxxxxxxx>
Date: Tue, 17 Jan 2006 10:54:21 +0000 (-0800)
Subject: [NET]: Make second arg to skb_reserved() signed.
X-Git-Tag: v2.6.16-rc2~367^2~7
X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=8243126c5e29030bf1a3fb75187a513966dcba62;hp=f09484ff87f677056ce631aa3d8e486861501b5

[NET]: Make second arg to skb_reserved() signed.

Some subsystems, such as PPP, can send negative values
here. It just happened to work correctly on 32-bit with
an unsigned value, but on 64-bit this explodes.

Figured out by Paul Mackerras based upon several PPP crash
reports.

Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
---

diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index e5fd66c..ad7cc22 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -926,7 +926,7 @@ static inline int skb_tailroom(const struct sk_buff *skb)
* Increase the headroom of an empty &sk_buff by reducing the tail
* room. This is only allowed for an empty buffer.
*/
-static inline void skb_reserve(struct sk_buff *skb, unsigned int len)
+static inline void skb_reserve(struct sk_buff *skb, int len)
{
skb->data += len;
skb->tail += len;

--
Robert M. Stockmann - RHCE
Network Engineer - UNIX/Linux Specialist
crashrecovery.org stock@xxxxxxxxxxx

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/