VIA VT310DP pipeline configurator

VIA VT-310DP boards sometimes come with a buggy BIOS that configures the CPU pipeline length to a single instruction thus degrading the system performance significantly.

This simple tool reconfigures the pipeline to the full length of 12 instructions.

Depends on msr.ko kernel module providing device /dev/cpu/<CPU>/msr

Source file
viadp310msr.c (Colorized)
Source tarball
OpenSUSE 10.0 RPM
OpenSUSE 10.0 source RPM
Place for your feedback...
13th February 2007 at 21:49
Linux kernel patch
great discover!
I would never say VIA C3 has such a feature. :-)

Is there a reason why the code like:
if (c->x86_model == 9) { /* Nehemiah ONLY? */
rdmsr (0x1143, lo, hi);
if(lo & 1) {
printk(KERN_INFO "CPU: extending pipeline to the full length.\n");
lo &= ~1; /* clear LSbit */
wrmsr (0x1143, lo, hi);
rdmsr (0x1143, lo, hi);
if(lo & 1) printk(KERN_INFO "CPU: pipeline extension failed!\n");

cannot be placed into CPU initialization sequence within the Linux kernel (centaur.c module)?
Perhaps, no one want work with the reduced pipeline length. Or am I wrong?

BTW: According to datasheet I have, Nehemiah should have the pipeline length of 16 instructions.

cheers, ONes
Feb 13   21:49 Linux kernel patch (by ONes)