Saturday, December 29, 2007

Slowness

Seems i locate problem. It is well known issue, that computer don't see more than 3GB, and if see, you can experience extreme slowness.
It is old known issue, related to MTRR and memory cacheability.
As soon as i sort this out, i will post solution.
Be aware, you can hit same trouble with 3GB+ RAM, and experience strange extreme slowness on your linux and even Vista/Windows.

Friday, December 28, 2007

RAM issues, Linux & Vista

Got 2 new modules of RAM, 2GB Transcend DDR2-667.
I had before 2x1GB DDR533 + 2x512MB DDR667.
Now 2x512MB DDR667 + 2x2Gb DDR667. Detected by bios fine, 5GB as expected.

Now surprises:
2.6.23 32-bit, 4GB highmem - early kernel panic. Will prepare soon bugreport, if in 2.6.24-rc bug still exists.
2.6.24 32-bit with PAE and 64GB higmem works ok, except issues with non-cached memory in 32-bit mode. Have to try MM and 64-bit kernels(including 32-bit userspace). Probably will do some performance comparison.

And finally i decide to try Vista 64-bit. It is just TERRIBLE. Slow and buggy... trying to install their famous official SP1-RC, on E6600 with good SATA HDD it takes more than 2 hours. What, they are compiling it on my PC? Seems this people just know how to rob people money, not how to write software.

Tuesday, December 25, 2007

Want to profile your cool proggie by oprofile?
To find bottleneck, try "opreport -g -d -l /path/proggiebinary"

Monday, December 24, 2007

If you enable nmi_watchdog, you will get interrupts with rate of configured HZ in your kernel . If you have tickless system, forget it them, nmi_watchdog will kill all pros of tickless system.
iproute2 + iptables 1.4.0 not working with you?
Solution


diff -Naur iproute2-git/tc/m_ipt.c iproute2-new/tc/m_ipt.c
--- iproute2-git/tc/m_ipt.c 2007-12-24 16:59:19.000000000 +0200
+++ iproute2-new/tc/m_ipt.c 2007-12-24 17:07:11.000000000 +0200
@@ -69,6 +69,27 @@
}

void
+xtables_register_target(struct iptables_target *me)
+{
+/* fprintf(stderr, "\nDummy register_target %s \n", me->name);
+*/
+ me->next = t_list;
+ t_list = me;
+
+}
+
+
+void
+xtables_register_match(struct iptables_target *me)
+{
+/* fprintf(stderr, "\nDummy register_target %s \n", me->name);
+*/
+ me->next = t_list;
+ t_list = me;
+
+}
+
+void
exit_tryhelp(int status)
{
fprintf(stderr, "Try `%s -h' or '%s --help' for more information.\n",
@@ -217,7 +238,7 @@
char *error;
char *new_name, *lname;
struct iptables_target *m;
- char path[strlen(lib_dir) + sizeof ("/libipt_.so") + strlen(name)];
+ char path[strlen(lib_dir) + sizeof ("/libxt_.so") + strlen(name)];

new_name = malloc(strlen(name) + 1);
lname = malloc(strlen(name) + 1);
@@ -248,10 +269,11 @@
}
}

- sprintf(path, "%s/libipt_%s.so",lib_dir, new_name);
+ sprintf(path, "%s/libxt_%s.so",lib_dir, new_name);
handle = dlopen(path, RTLD_LAZY);
if (!handle) {
- sprintf(path, lib_dir, "/libipt_%s.so", lname);
+ fputs(dlerror(), stderr);
+ sprintf(path, "%s/libxt_%s.so", lib_dir , lname);
handle = dlopen(path, RTLD_LAZY);
if (!handle) {
fputs(dlerror(), stderr);

Sunday, December 23, 2007

Busybox, modprobe + glibc doesn't work

In case you are in trouble with modprobe in Busybox 1.8.2 , just do
ln -s /sbin/insmod /bin/insmod
Noone know why, but busybox try to search insmod by PATH, which doesn't have /sbin by default.