Coffeehouse Thread

17 posts

Forum Read Only

This forum has been made read only by the site admins. No new threads or comments can be added.

Linux kernel testing

Back to Forum: Coffeehouse
  • User profile image
    PerfectPhase

    I was just reading the train wrek that is the Why Vista May Never Fly thread and in there is a comment about linux kernel testing

    Xaero_Vincent wrote:
    

    There are thousands of kernel developers and most do their own testing. There are also companies that do major security testing on the kernel and other major software components.


    Now there are videos here on C9 that show the level of automated testing on all different kinds of hardware to test windows. 

    I was just wondering is there a coherent set of automated tests that get run on the Linux kernel.  Could a developer make some kernel changes and then download and run a complete test suite on their changes?  Or is is a matter that it's up to the developer to write his own tests.

    I don't mean this thread a flame, I am genuinely interested to know.  Strikes me that this could be an intreasting project to have a distrubited testing project where anyone running linux could down load the test suite run it and up load the results to a central site listing kernel versions and hardware details?  Sort of like a automatic HCL?

    Stephen.

  • User profile image
    Manip

    The testing carried out on parts of the Linux kernel varies a great deal... Some are tested using automated testing method, manual tests and threat models etc... Others are tested once and then compiled into a release build. The big companies (Red Hat, IBM, et al) are better at testing their changes than the solo developer on average.  

    "If you have enough monkeys banging randomly on typewriters, they will eventually type the works of William Shakespeare."

  • User profile image
    Detroit Muscle

    PerfectPhase wrote:

    I was just wondering is there a coherent set of automated tests that get run on the Linux kernel.


    MYTH: Linux is not a commercial OS.


    TRUTH: Linux is a commercial OS.

  • User profile image
    cyber_rigger

    IMO if critical talent continues to leave Microsoft

    then Vista is in trouble.

  • User profile image
    PerfectPhase

    cyber_rigger wrote:
    IMO if critical talent continues to leave Microsoftthen Vista is in trouble.
    Where the (I need to watch my language) did anyone mention Vista in this thread!

  • User profile image
    Harlequin

    Manip wrote:
    The big companies (Red Hat, IBM, et al) are better at testing their changes than the solo developer on average.


    Doesn't stuff from everyone get put into the core kernel? I'm not into Linux so I don't know myself. But when you say that they are good at testing their changes I'd probably agree with that. But do those same "big" companies test other changes that go in?

    Does everything go into some core Linux pool? And who is in charge of putting things into the core? If there are thousands of different flavours of Linux then what is the "Linux OS"? When X-Government starts using Linux in it's X-Department (an example question), what "Linux" are they getting?

    Edit: Yes, a few questions Smiley

  • User profile image
    PerfectPhase

    Harlequin wrote:
    
    Manip wrote: The big companies (Red Hat, IBM, et al) are better at testing their changes than the solo developer on average.


    Doesn't stuff from everyone get put into the core kernel? I'm not into Linux so I don't know myself. But when you say that they are good at testing their changes I'd probably agree with that. But do those same "big" companies test other changes that go in?

    Does everything go into some core Linux pool? And who is in charge of putting things into the core? If there are thousands of different flavours of Linux then what is the "Linux OS"? When X-Government starts using Linux in it's X-Department (an example question), what "Linux" are they getting?

    Edit: Yes, a few questions


    This is the sort of question I would like to know the answers to just out of casual intreast. 

  • User profile image
    Harlequin

    Damn, you just created more questions.....hehe Cool

  • User profile image
    j0217995

    So how many hours is spent on testing versus new items? I seem to recall reading something about the need to slow down new items and focus on bug fixing?

  • User profile image
    Erisan

    j0217995 wrote:
    So how many hours is spent on testing versus new items?


    It really depends what kind of patch it is. There's some big projects going on like  Real Time patches, etc. which takes a long time to test. Those must be tested in different architectures, uni- and multiprocessor systems etc.

    j0217995 wrote:
    I seem to recall reading something about the need to slow down new items and focus on bug fixing?


    Yeah true.

    Linux kernel 'getting buggier'
    Torvalds comments on kernel "overhaul"

    http://www.kernelnewbies.org/">http://www.kernelnewbies.org is good place to start if you are interested in Linux kernel hacking.

  • User profile image
    Erisan

    All new features goes via -mm (Andrew Morton) tree.
    There are plenty of different trees for different purposes. For example Con Kolivas maintains tree where is his (and others) new performance patches:

    staircase
    A complete scheduler policy rewrite

    schedrange
    Infrastructure for more policies

    sched idleprio
    idle scheduling

    schediso
    Unprivileged soft real time scheduling

    smpnice
    Fix for nice not working on SMP.

    *-ionice
    Link scheduling policy to IO read priorities

    mapped watermark & friends
    More gentle ram eviction sooner and less file cache (unlikely to swap).

    defaultcfq
    Enables the CFQ (completely fair queueing) I/O scheduler by default

    HZ-*
    Tune HZ to optimal value.

    swap prefetch & friends
    Prefetch swap back into ram when idle and speed up after resume-from-disk

    mm-*prio
    Make memory allocation dependant on priority (nice)

    Adaptive readahead
    Speed up disk read I/O without thrashing.

    dynticks
    Skip idle HZ ticks --> Other patches
    Bugfixes, security fixes and compatibility modifications

    Some day those might go to vanilla kernel if those are good enough (what I have tested those patches improves responsiveness and speed a lot).

    Here you can find some git-tree's: http://www.kernel.org/git

    (aaargh, my English sucks so much. It's really difficult to explain things. Sorry :-/.)

  • User profile image
    Erisan

    Harlequin wrote:
    Damn, you just created more questions.....hehe


    Smiley argh .. sorry.

    Ok, I'll try to explain better this time.

    1) You create a new cool patch, for example a new CPU scheduler.
    2) You create new tree where you maintain your patch and other hackers get your tree and fixes bugs, do benchmarking, etc.
    3) someday you think that the patch is good enough for vanilla kernel and you ask that Andrew Morton includes your patch to his tree (-mm like 2.6.17-rc3-mm1) for wider testing.
    4) If Linus, Andrew and other hackers finds that your patch simply rocks it will be included to vanilla kernel.

    Some patches lies in -mm tree a long time like Reiser4 filesystem patches. It has been many times in -mm tree but code is not good enough that it would be included to vanilla kernel.

    Distros maintains their own kernel trees so they can include patches which they finds good enough. Some distros includes Reiser4 patches even it isn't in vanilla kernel yet.

    So if you have problems with your SuSE kernel you must not make bug report to LKML but SuSE kernel mailing list because they may use a lot of "not in vanilla kernel" patches.

  • User profile image
    Harlequin

    I do like the thought of how open source works, most definitely. But it does seem that there are people who are "in control" of things and who have power on what goes in and out. I don't see how countries like China, for example, would like this sort of situation in software.

  • User profile image
    Erisan

    Harlequin wrote:
    But it does seem that there are people who are "in control" of things and who have power on what goes in and out.


    There must be. Otherwise it would be total chaos ... impossible situation. It's not trivial to choose "the best" stuff into kernel.

    If you are interested how Linux kernel hackers develop kernel go to http://www.lkml.org

    There are many good books about Linux kernel hacking:
    Linux Kernel Development
    Understanding The Linux Kernel
    Linux Device Drivers
    Linux Network Internals
    etc.

  • User profile image
    messerschmi​tt

    There are only 20-30 persons in the linux kernel dev team, with onkel thorvalds in the top, extensive testing?....yeah sure

  • User profile image
    cheong

    FYI, each version of kernel sources have a testsuite that they use (and you can use) to verify essential functionalities of the kernel really works.

    There are unofficial testsuite available too, like Linux Test Project.

    So much you can do about testing if you care.

    Recent Achievement unlocked: Code Avenger Tier 4/6: You see dead program. A lot!
    Last modified
  • User profile image
    IRenderable

    messerschmitt wrote:
    There are only 20-30 persons in the linux kernel dev team, with onkel thorvalds in the top, extensive testing?....yeah sure


    Sources for the numbers?

Conversation locked

This conversation has been locked by the site admins. No new comments can be made.