Final Tweak -- Enabling SMP Support?

Okay, so I took some advice from my last thread in order to get QNX 6.3 on my box. Right now my system specs are:* 2x Pentium Pro 266 MHz/1 MB L2

  • 66 MHz bus
  • 1,024 MB 5v 60ns non-ECC EDO RAM
  • 100 GB 7200 RPM EIDE hard drive
  • ATi Radeon 9200 Pro PCIThe four 256 MB chips cost $410 after tax and shipping/handling. Considering the RAM alone, performance is not what I would call a 2x increase over the 512 MB, but overall it did augment my system.

Redraws are faster and I now have a vast array of bit-depths and monitor resolutions with my new Radeon 9200. Though the 9200 has done little to affect overall system performance, I appreciate what it does for my graphics. The 9200 has 128 MB RAM where my Rage only had 32 MB. I’m happy with this addition to my system especially since I got a $20 rebate off of the $200 I paid for it.

Aside from these tweaks my system remains the same. I believe I may finally be pushing the limits of my system’s hardware and am looking at ways to optimize my operating system.

In my last thread here, I discussed enabling SMP support on QNX 6.0 and 6.1, but now that I have a system that runs 6.3, how do I run the SMP kernel with it? Also, is there an update to 6.3 available? I’ve seen several mentions of it. Would it make my system go faster?

Memory size does not affect speed. SMP with your dual processor should help though. :slight_smile:

To get SMP, type the following two commands in a shell:
cp /boot/fs/qnxbasesmp.ifs /.boot
shutdown

There isn’t much you can optimise, maybe increase cache size for HD but that won’t make a big difference.

I don’t know who suggested you go and get 410$ of ram (expensive because EDO is kind of obsolete) but for ~410$ US you could get 512M DDR + CPU + motherboard + Power supply which would leave the DUAL Pro 266 in the dust.

I was just thinking the same thing…

There’s a lot more efficiency to be had out of this system. I mean, I’d be a fool to throw it out before I’d at least maxed out everything in it like the RAM and processors. I’t spretty snappy, only take about two minutes to boot now instead of the 2:45 is used to take. I’m seriously happy with it.

Now that I have SMP enabled it should be twice as fast or thereabouts. Does anybody have links to good QNX performance benchmarking tools?

I understand you can be happy about it but if you are using this machine for development you spend 410$ the very wrong way. My machine takes about 20 seconds to boot (not including BIOS). I could probably lower it to 10 with a lilttle tweaking.

SMP will not make it twice as fast. For example, booting is mostly a sequencial process which I suspect won’t benefit from SMP much. For example a typical program that computes PI won’t go any faster on SMP.

Even if SMP it would make it 4 time faster it still would not give you your money’s worth, IMHO

More detail about memory, QNX doesn’t use swap file so performance wise unlike LINUX or Wnidows it doesn’t make any difference. However filesystem cache which I beleive is a % of the total memory will be bigger.

For example you HD, which is at least AT100 is WAY underuse because your motherboard is probably on ATA33!!! Try something cp -V /dev/hd0 /dev/null. Let it run for 20 seconds, what’s the transfer rate?

Same think for you graphic card, the 9200 is overkill at 60$ (CDN) you could get the 7000. The 9200 and 7000 differences are in the 3D area which QNX doesn’t use. Since 3D isn’t most of the ram on the graphics cars goes unused.

Anyway I guess it’s too late to argument about this since you already spend the money. But if I were you, I would return the ram and video card ASAP…

What tweaks? Please share these. I’d love to get my boot time down below a minute.

Well how much of a speed-up can I expect? Remember, these aren’t the cheaper 200 MHz/256k Pentium Pro chips, these are 266 MHz/1,024k models. Upgrading from the former to the latter was an extreme speed-boost under Windows 2000. Am I missing something here or are you?

Well how do I turn on swapping? Not that I should need it with all my RAM, but it couldn’t hurt to have it. It usually helps performance if there’s somewhere from 1x-2.5x the amount of RAM partitioned for swapping.

“Device busy.” Which makes sense, since it is the active boot disk.

Anyways, I am looking for a more modern motherboard, but apparently boards with ATA100 or SATA and modern RAM and AGP that support the Pentium Pro chips are rare. I’m still scouring Pricewatch and other sites though.

I would but I’m enjoying it too much. And what if I want to run games in Windows? I can always dual-boot, and that video card will boost games quite nicely. As great as QNX seems to be so far, the original DOOM is a little out of date. DOOM III looks much more tasty.

I think the best way to lower boot times is just to turn off services you are not using, but if your install is fresh, then chances are it is fairly bare-bones as it is.

A dual CPU-system will only offer 2x speed up if apps are written to use more than one processor (and most are not), however your 2 CPUs will offer some small speed increase just because the app you are running only has to share a processor with half the processes running (as QNX will schedule tasks roughly equally between your two processors), rather than all of them, as would be the case with a one processor system. I should think it would handle load better too, but not by enough to offset the sheer speed of a single P4 or Athlon.

QNX does not do swapping at all, you cannot turn it on, but like you say, with 1GB RAM, you do not need it, not unless you’re doing big imaging tasks or something.

IMHO you should not bother looking for Pentium Pro systems, with P4 and Athlons as cheap and fast as they are, there is no benefit to be had from them, in fact a modern P4 will be many,many times faster than a dual or even quad Pentium Pro.

I’ve never played DOOM III, but i don’t think a 2x266MHz machine is anywhere near good enough, even with your nice graphics card.

I think you are, fastest P4 are running at 3.6Gig… A P4 2.8 Gig with 1 meg of cache cost 256 CDN dollars… A AMD 64 3000 (same speed at P4 3G) comes with 512K cache cost 230$. Even a Celeron or Semptron that are below 100$ will blow you dual CPU away and I mean seriously blow them away. The ram on these machine is faster then the cache on your CPUs…

I envy you, doesn’t take much to make you happy :wink:

DOOM III on a PentiumPro 266??? You must be kidding right? Benchmark shows that with a 9200 and the fastest CPU available you get 20FPS at lowest setting (640x480). With your setup you’d be extremely lucky to get .5 FPS… Reference: anandtech.com/video/showdoc.aspx?i=2146&p=5. Further more your card is PCI, PCI is 133Mhz, but memory access are limited to 66Mzh… The 9200 would be wasting cycles big time, just waiting for data to come in from the PCI bus. AGP 8x can transfert data at over 2Gig/sec if my memory is right… Plus AGP doesn’t use PCI bandwidth. Your graphics card is sharing the PCI bandwidth with the HD…

Know about the Moore’s law?, Says computer get twice as fast every 18 month. PPro was from 1997, that’s 7 years. Let’s assume your system is 1, so it’s 1x2x2x2x2x2x2x2, that’s 128 … So that’s 128 time faster… Assuming you have 2 CPU let’s round that to 64, ok and let’s assume you wouldn’t get the fastest CPU available today, so make it 32 just to be on the safe side. For 500$ you’d get a system 32 times faster then yours…

To bad you don’t live close to where I live (maybe you do…) I would have you come over for a jaw dropping session…

You miss conception about these issues are so out of touch with reality that I’m wondering if this is a joke. If it isn’t I don’t see the point in continuing this discussion. You are happy with you system, that’s all that matters I guess.

Take care.

Even ignoring the obtuse rounding, your math is still flawed.

2004 - 1997 = 7		There's seven years since the Pentium Pro was released...
7 * 12 = 84		In seven years, there are 84 months...
84 / 18 = 4.67		In 84 months, there are 4.67 iterations of Moore's law...
4.67 * 2 = 9.34		Each Moore iteration doubles CPU performance...
266 * 9.34 = 2,485

According to your math:

266 * 32 = 8,512

I’d love to see where you’re getting these chips from, who’s making them, and how you’re cooling them. Oh and how much they cost. Of course I could just wait for the 34,048 MHz systems since they’re 128x faster than my dual Pro box.

What the @(#* is that supposed to mean?

Look, if you want to go out and buy every latest trend that Intel and friends throws your way, go ahead. One year it’s MMX, the next it’s HyperThreading. Why instead of making up new garbage can’t they refine the tech they have? In a real-world example, Intel is abandoning its 786/Pentium 4 in favor of the 686/Pentium M (Pentium Pro) line. What’s that tell you?

I understand that maybe I could get “faster” processors or “better” performance, but that’s not the principle that I’m striving to improve upon. My ideal is to push the technology that I have as far as it can go, instead of abandoning it for some new-fangled gimmick, whether it costs me $7 or $7,000.

Is this so hard to understand?

P.S. What on Earth is a Semptron?

Hum some tension seems to be building up here, that was not my intention at all. So I’ll leave it at that.

Here is the boot file that I use. It was originaly create by Chris McKillop alias (cdm). Change procnto to procnto-smp to get smp support. If you have the 6.3 commercial you will be able to build the image only for the first 30 days.

Without the ability to rebuild the image, I don’t know of much that you can tweak.

Regards,

Mario

#
# This sets up the kernel and proc.
#  - x86 based kernel using the bios.boot to set things up.
#  - Compression is turned on.
#  - Use startup-bios to finish setting up the machine.
#  - Start procnto after startup-bios is finished.
#
[virtual=x86,bios +compress] boot = {
startup-bios -v
PATH=/proc/boot:/bin:/usr/bin:/sbin:/usr/sbin LD_LIBRARY_PATH=/proc/boot:/lib:/lib/dll:/usr/lib:/usr/photon/dll procnto -v
}

#
# Once procnto is running it will mount the image filesystem and
# run this script.
#
[+script] startup-script = {

#
	procmgr_symlink ../../proc/boot/libc.so.2 /usr/lib/ldqnx.so.2

    # Populate the kernel resource database
    #
    seedres

    #
    # Start the system logger
    #
    slogger &
    waitfor /dev/slog

    #
    # Start the PCI server for drivers that need pci.
    #
    display_msg "Starting pci-bios server..."
    pci-bios &
    waitfor /dev/pci

    #
    # Start the standard PC console driver and
    #  make it the default output (reopen).
    #
    display_msg "Starting up console driver..."
    devc-con -n6 &
    waitfor /dev/con1
	reopen /dev/con1

    #
    # Pipe provides pipe() services.
    #
    display_msg "Starting pipe manager..."
    pipe &
    waitfor /dev/pipe

    #
    # Start eide driver to get drive access.
    #
    display_msg "Starting eide driver..."
    #devb-eide blk auto=partition dos exec=all cam quiet eide dma eide dma &
    devb-eide eide blk commit=low,noatime,auto=partition,cache=64M,alloc=64M,delwri=60 &
    display_msg "Waiting HD detection"
	waitfor /dev/hd0t79 30

    #
    # Mount Filesystems
    #
    display_msg "Mounting filesystems..."
    #mount -t dos /dev/hd0t12 /fs/hd0-dosdd
    #mount -t qnx4 /dev/hd0t77 /fs/hd0-qnx4
    #mount -t qnx4 "/fs/hd0-dos/Program Files/qnx/boot/fs/root.qfs" /
    #mount -r -t qnx4 "/fs/hd0-dos/Program Files/qnx/boot/fs/qnxbase.qfs" /pkgs/base
	mount -t qnx4 /dev/hd0t79 /
	mount -t qnx4 /boot/fs/qnxbase.qfs /pkgs/base
	mount -t qnx4 /dev/hd1t77 /home

    #
    # Start the Package Filesystem
    #
    display_msg "Starting Package Filesystem..."
    fs-pkg -a/pkgs/base/safe-config/etc/system/package/packages

    #
    # Start the sysinit script
    #
    display_msg "Running /etc/system/sysinit...."
    [+session] /bin/ksh -c /etc/system/sysinit

    #display_msg "Starting high priority shell on /dev/con2"
    #reopen /dev/con2
    #[+session pri=30o] fesh

	reopen /dev/con2
}


#
# These are the standard, required links
#
[type=link] /dev/console=/dev/con1
[type=link] /usr/lib/ldqnx.so.1=/proc/boot/libc.so

#
# Shared Libraries
#
libc.so
io-blk.so
fs-qnx4.so
cam-disk.so
cam-cdrom.so
libcam.so
fs-cd.so

#
# Binaries/Executables
#
[data=c]
devc-con
seedres
pci-bios
devb-eide
fs-pkg
slogger
fesh
mount
pipe

unlink_list = {
/proc/boot/devb-*
}

Sempron is AMD’s new name for it’s budget CPUs and just like Intel’s Celeron crosses P3/P4 borders so the Sempron crosses K7/K8 borders. I presume Duron will fade away.

Thank you all for the very entertaining and educative reading!

Would you – or anyone else on this forum – pass along a commercial license key for QNX 6.3? My 30-day demo ran out a few nights ago and I’d really like to try the boot configuration you posted. I seriously need both of my overclocked Pentium Pro 266/1 MB chips running.

I doubt anyone would do that. Last I heard the commercial license worth over 8k US$.

You might want to check the thread:
openqnx.com/PNphpBB2-viewtopic-t2826-.html on how to hack to “re-activate” your evaluation license. You can then rebuild your boot image. Once you are happy with the new image, you can either leave the BIOS clock wrong to keep evaluation, or correct the clock to run your system in a non-commercial mode.

Demo for Doom III is out: 3dgamers.com/dl/games/doom3/d3demo.exe.html

So? I just need to enable my other processor, not build software that I’m gonna sell for a million bucks. Like it’s gonna kill someone who can afford an $8,000 license to begin with to let a college student hack his box.

I’m willing to barter.

Ah, I checked this and it’s a poor kludge. My system is in tip-top condition and I’d rather not rip it apart. I’d rather go the high road and get a commercial license key first before I have to resort to hardware hacks.

Huh? It’s only a parameter change. How did you figure it was a hardware thing?

Come on you guys! Don’t you know when you’re being had by someone?

Although I have to admit, he has my respect! He’s good at it. Haven’t seen too many that would get this far without blowing it.

Kudos, bronski_beat_3