Adding a Processor, Using WinMondems

When I add another processor will Linux automatically use it, or do I need to do something else?


When I add another processor will Linux automatically use it, or do I need to do something else?

In short, it depends. Linux can support the use of multiple processors directly in the kernel, but whether you have this compiled into your kernel is really the question at hand.

Use of multiple processors under Linux is supported via Symmetrical Multi-Processing. SMP allows Linux to pass threads to the various CPUs on the machine in a hopefully equal manner, allowing for machine tasks to be performed quickly. This has a number of noticeable side effects.

First of all, your kernel messages at boot time will be altered to represent the two processors now living in the machine. Secondly, /proc/cpuinfo will now present you with two (or more) processors on its lists. However, the first really quirky thing that you will come across will be the process load identifiers.

The machine load will still be calculated in a similar manner; however, it is only when the machine reaches a load of 2.0 (or n.0, where n is a number of processors) that the number of queued processors exceeded the number of available CPUs.

Listing One: dmesg Output

# dmesg | grep SMP
Linux version 2.4.5 (root@ophelia) (gcc version 2.95.2 20000220 (Debian
GNU/Linux)) #2 SMP Tue Jun 19 02:07:58 EST 2001
Scan SMP from c0000000 for 1024 bytes.
Scan SMP from c009fc00 for 1024 bytes.
Scan SMP from c00f0000 for 65536 bytes.
Scan SMP from c009f800 for 4096 bytes.

But getting back to the original question, how is it possible for you to know if Linux will natively “just work” with another processor plugged in? In most cases, the easiest way to tell is either by checking to see if SMP support is listed in a dmesg output (shown in Listing One) or by simply checking for the letters “SMP” in the output of uname on the operating system release. For example:

# uname -a

Linux ophelia 2.4.5 #2 SMP
Tue Jun 19 02:07:58 EST
2001 i686 unknown

What we’re looking for here is a tag that seems to suggest “SMP.” In many cases, this will be reflected twice, in both the operating system release (e.g., 2.4.5-i686-SMP) and the operating system version (e.g., #2SMPTue Jun 19 02:07:58 EST 2001). The version is probably the best place to look, as the kernel will label itself as SMP-supporting here.

If you discover that you don’t have an SMP-supporting kernel and you need one, it is simply a case of either downloading a new stock kernel from your distribution’s Web/ftp site or recompiling. As already mentioned, if you’re going to download a stock kernel, check for one that has “SMP” in the name.

If you choose to perform a recompile, the addition of SMP to the Linux kernel is as simple as choosing the “Symmetric Multi-Processing Support” option in the “Processor Type and Features” submenu. This will automatically compile in APIC and other required support. Alternatively, in text mode, simply ensure that CONFIG_SMP is set to “Y.”

Recompile, reboot, and you’re set.


Whenever I ask questions on IRC or mailing lists, I’m told to RTFM or check the FAQ. What does this mean, and where should I be going for info?

Self-help is always the best remedy. When starting out with Linux, it is tempting to just boot up and start asking everyone questions right away. However, just as you and I would get frustrated hearing the same question over and over, so do members of IRC channels and mailing lists. So, here’s a quick guide for finding some of the best resources on getting along with Linux.

If you’re setting out and setting up, the first place to check is your distribution provider’s homepage for their introductory information.

These are some of the major Linux distributions:

If those pages don’t help you find what you’re after, you need to look a little further. Red Hat and SuSE both have an open-support database. Debian has a large community-focused site, called “debianHELP,” to aid users in finding resources (http://www.debianhelp.org). Mandrake has its own “MandrakeExpert” to help you find your answers. These are all published methods of asking questions. Always check to see that your question hasn’t already been asked. This is probably the number one pet peeve of every support engineer with an open database.

After all that, if you still can’t find the answer to your question, it’s time to turn to the less distribution-specific sites. To this end, go to the primary site for Linux documentation — the Linux Documentation Project. The LDP’s home is http://www.linuxdoc.org and it hosts a plethora of resources. This is the site for finding documentation on Linux. In particular, the LDP hosts the core HOWTOs and MiniHOWTOs. These documents cover topics such as how to set up j-random-device on p-obscure-architecture.

Some great specific documentation is also available. For networking, firewalling, and routing questions, it is hard to beat The Linux Network Administrator’s Guide (or NAG-2). This document is available from http://www.linuxdoc.org/LDP/nag2/ and covers almost everything you could ever want to know about networking with Linux.

Similarly, the Linux System Administrators’ Guide is equally useful for getting acquainted with the administrative functions of Linux itself. The LSAG is a great primer for all things Linux-OS based. It’s definitely worth a glance to get information on how it all fits together.

Also worth a check is “Linux on Laptops.” This Web site (http://www.linux-laptop.net/) allows you to seek out information on getting your strange new laptop architectures working with the Linux kernel. You can check if your hardware is supported and get step-by-step guides other users have published on how they’ve gotten their own laptops working with Linux.

Another invaluable resource (now that Google has put it back online) is Deja News’s old database of USENET. http://groups.google.com allows for some searching of their USENET archive. Particularly useful is the comp. hierarchy for finding data on our favorite operating system.

In short, there is a lot of information out there. Hopefully this is enough to empower and enable you to get some self-help.


I have a WinModem.
Is it supported under Linux? How does that all work?

Ah, perhaps, perhaps, perhaps…It all depends on the chipset that your WinModem uses to run. WinModems are host-controlled modems that require vendor-provided software in order to work. OEMs like them because they are cheaper to produce en masse. They generally only really work on higher- end Pentiums and above, as some of them can drain a fair bit of CPU time. Basically, WinModems pass all the hard processing stuff to the main CPU for handling rather than doing it in/on its own processing chips.

First off, it’s necessary to discover which chipset you’re using. Unfortunately, manufacturer and model numbers are not sufficiently informative. Checking documentation is a must at this point. Failing that, there are two Web databases that are worthy of a visit. The first is a general PCI resource site that can be used to find information on PCI card modems. The site can be found at http://www.yourvote.com/pci/. Alternatively, there is a broader database of listed modems managed by Rob Clark available at http://www.idir.net/~gromitkc/winmodem.html.

Very few hardware vendors make their source code available, and therefore, programming drop-in Linux drivers to control/manipulate/emulate a modem is far from simple. However, some vendors, such as Intel, have produced working Linux drivers from their software modems. This serves to cut down the primary barrier with respect to WinModems’ use in Linux machines — getting it working in the fist place!

As you can see, support for a WinModem in Linux is starting to be taken up by the corporate community. There is a strong grassroots campaign that centralizes much of the discussion on the topic at http://www.linmodems.org/. From this site, it’s possible to check on the current state of work being completed in and around Linux software modems.

In short, support is touch-and-go for software modems in Linux. It is an area, like Ethernet chips, that remains one of the most fragmented parts of the market. If you can possibly avoid it, stay clear of WinModems. Sure, they’re cheap; but like anything else, you get what you pay for. Stick to modems that do their own processing. These are becoming more and more rare, so treasure them! Until next month…keep smiling!

Quentin Cregan is a tech and security consultant and sometime student hailing from Australia. He can be reached at qc@sensed.com.

Comments are closed.