Test Suite Heralds SGI's Growing Involvement with Linux
A group of nearly 100 test tools designed to make Linux kernel hacking easier is just one manifestation of rapidly growing involvement in Linux by SGI.
The tools, announced on the linux kernel mailing list, allow kernel developers to thoroughly test changes before offering them up for incorporation into the kernel source itself. The test suite announcement came just days ahead of the opening of Linux World Expo, where SGI is expected to announce additional contributions to Linux, demonstrate the world's largest Linux display showing realtime rendering with a 128-chip cluster, and announce new Linux graphical products and changes in SGI's policy regarding use of its Open GL rendering technology.
The suite of 96 command-line test applications--the number is growing--is not for users who simply want to benchmark their systems. Instead, the goal is increased stability of the Linux kernel.
"The idea is that the kernel developers would have a copy of these tests that they would use as tools, for system development," says Bill Roske, manager of SGI's OS Test Development Group. "They make their changes, incorporate them locally on their system, reboot the system, run these tests, and have a better level of confidence that they haven't broken anything else." The userspace benefit is indirect but, Roske hopes, real.
"What users are going to be getting, we hope, is a kernel that is much more stable, that has benefited from the development community using tools like this."
While SGI will be maintainer of the Linux Test Project, as it's called, Roske stressed that it is fully Open Source and not SGI-driven.
"We have some preconceived ideas of where we think it could go, but this is an Open Source project, and as such we don't thoroughly control it," he said. "It will go where the development community needs it to go.
"It's easy to run a few tests from different virtual consoles, but when you get into running hundreds or thousands of tests you need some sort of driver or script. We have some of those in Irix and we're thinking about Open Sourcing them, but we want to make sure that we're solving the problems that the Linux development community is having. So that was one of the reasons we are Open Sourcing the tests and got the message out and will be having the box at Linux World, to start getting that discussion going about what the community's needs are, and building it up with the community rather than imposing a solution to a problem."
The individual tests themselves are fairly basic, notes Nathan Straz, a member of the LPT team at SGI.
"So far, 92 of the tests are system-call tests that run one system call with a few parameters and see if the tests work, then combine those to stress the kernel," he said. "They're very simple tests right now, but we have a lot more to add in." And as it is, the tests can be reiterated and combined to produce even more meaningful results.
"When you look at each individually, they don't look like real difficult tests," said Roske. "They're going through a valid path through the kernel, and they'll verify that valid path. But what's going on under the covers, especially on an SMP system, and we start getting into this in scaling, is that when you start running multiple copies of the same system call test or multiple different system call tests at the same time, you start to stress some of the internal locking capabilities of the kernel. Two things can happen there: one, you can have a bottleneck within the kernel, where you'll slow down because processes can't get past each other, or two, you have locking heirarchy problems and the kernel starts unlocking things it didn't have or locking things it's already got, and spinning out of control. So it's functional testing as well as testing some of the more stressed levels within the system."
Members of the LTP team will be at Linux World Expo to discuss the project with kernel developers.