Slashdot Mirror


The New Linux Speed Trick

Brainsur quotes a story saying " Linux kernel 2.6 introduces improved IO scheduling that can increase speed -- "sometimes by 1,000 percent or more, [more] often by 2x" -- for standard desktop workloads, and by as much as 15 percent on many database workloads, according to Andrew Morton of Open Source Development Labs. This increased speed is accomplished by minimizing the disk head movement during concurrent reads. "

100 of 426 comments (clear)

  1. I've noticed it... by Anonymous Coward · · Score: 5, Interesting

    I'm having trouble getting ACPI working in my laptop in the 2.6 kernel (it's a bad implementation on the part of my laptop). The 2.4 series used to work (sometimes) so I installed Mandrake's 2.4 kernel and 2.6 kernels on my laptop. Using 2.4.x again was like switching to a horse and buggy from a sport-cars; KDE was that much faster with the 2.6.x kernel running the show.

    1. Re:I've noticed it... by gazbo · · Score: 3, Insightful
      Well hold on a minute: this is talking about the speed increases from a particular subsystem - the IO scheduler. Upgrading from 2.4 to 2.6 changes a hell of a lot more than just that, so your speedup could be from any number of things.

      From the sound of it you're talking about perceived speed for a desktop user, as opposed to measured server throughput. If this is the case, I imagine the biggest speed increase comes from the fact that (I believe) 2.6 offers far lower latency in the kernel, allowing it to be preempted in more cases. This will make a desktop environment far more responsive.

    2. Re:I've noticed it... by arunarunarun · · Score: 2, Informative

      You can fix it. There's a kernel patch that allows you to use a fixed ACPI DSDT rather than the original one, and there are fixed versions of the DSDT available, put up by people who've fixed it. You can even do it yourself using Intel ACPI tools.

      I did this on a Compaq Presario 2100 laptop. Lookup The ACPI4Linux project.

  2. Cache? by Anonymous Coward · · Score: 4, Interesting

    Whatever happened to cache. If you can anticipate the head movement surely you have already read the data before and it should be in the cache????

    1. Re:Cache? by Erik+Hensema · · Score: 5, Informative

      Sure, and both Linux 2.4 and 2.6 do caching and read-ahead (reading more data than requested, hoping that the application will request the data in the future).

      The I/O scheduler however lies beneath the cache layer. When it's decided that data must be read from or written to disk, the request is placed in a queue. The scheduler may reorder the queue in order to minimize head movements.

      Also, 2.6 has the anticipatory I/O scheduler: after a read, the scheduler simply pauses for a (very) short period. This is done in the assumption that the application will request more data from the same general area on the disk. Even when other requests are in the I/O queue, requests to the area where the disk's heads are hovering will get priority.

      While this increases latency (the time it takes for a request to be processed) a bit, throughput (the amount of data transfered in a time period) will also increase.

      It did take a fair amount of experimenting and tuning in order to make the I/O scheduler work as well as it does now. However there still may be some corner cases where the new scheduler is much slower than the old.

      --

      This is your sig. There are thousands more, but this one is yours.

  3. SCSI by Zo0ok · · Score: 4, Interesting

    Dont SCSI drives do this themselves?

    1. Re:SCSI by NfoCipher · · Score: 2, Insightful

      SCSI is still so expensive and an aging technology. The idea is to get more out of the cheap IDE drives.

      --
      I'm sorry, I can't hear you over the sound of how awesome I am.
    2. Re:SCSI by B1ackDragon · · Score: 3, Informative

      Since it mentioned that the OS is keeping "per-process statistics on whether there will be another dependent read 'soon'", I really doubt the drive controller would even be able to do that, much less want to.

      --
      The snow doesn't give a soft white damn whom it touches. -- ee cummings
    3. Re:SCSI by pararox · · Score: 2, Informative

      As a college student, I feel proud to say I've access to a quad-Xeon SCSI machine; this bad thing truly burns.

      I run WebGUI on this machine, which recieves some 3 and a quarter million hits per month. Nothing to raise the eye brows at; but check it: on this machine the average uptime value is some 0.80. My personal (p3) machine, running a BBS, mail, bittorent, and web service maintains a constant 1.3+.

      I've guaged the importance of SCSI drives in the equation via a (sadly) messy, but soon to be SourceForged Perl program. The result, confirming that which I've heard repeatedly, is that SCSI drives truly make the difference.

    4. Re:SCSI by DuSTman31 · · Score: 5, Informative

      Yeah, I think so. IIRC it's called tagged command queueing - the drive can have multiple requests pending and instead of doing them first come first served, they're fulfilled in order of estimated latency to that point.

      I believe Western Digital's recent Raptor IDE drives have the same feature.

      The benefit of this seems contingent upon having multiple requests pending, which AFAIK is hard on linux as there's no non-blocking file IO. To me, this reads like a workaround for that.

    5. Re:SCSI by KagatoLNX · · Score: 4, Informative

      ATA is basically the SCSI protocol (the good part) over IDE. There's a reason why some SATA drives appear as SCSI adapters under Linux.

      Expensive, yes. Aging, no. Ten years ago people said SCSI was the future. Now everyone runs it, they just don't know it.

      IDE in its original form has never been able to keep up with a 10k RPM (or higher) disk.

      I think what the parent post is alluding to is Tagged Queuing. Tagged Queueing allows you to group blocks together and tell the drive to write them in some priority. That sort of thing is used to guarantee journaling and such. Interestingly, the lack of this mechanism is why many IDE drives torch journalled fs's when they lose power during a write--they do buffering but without some sort of priority. You can imagine I was pretty torqued the first time I had to fsck an ext3 (or rebuild-tree on reiserfs) after a power failure.

      The reason that the kernel helps even with the above technology is that the drive queue is easily filled. Even when you have a multimegabyte drive cache and a fast drive, large amounts of data spread over the disk can take a while to write out.

      This scheduler is able to take into account Linux's entire internal disk cache (sometimes gigs of data in RAM) and schedule that before it hits the drives.

      --
      I think Mauve has the most RAM. --PHB (Dilbert Comic)
    6. Re:SCSI by awx · · Score: 2, Insightful

      I'm sure you mean load value, not uptime value. An uptime of 0.8 days isn't really that impressive...

      --
      Feel that power? That's mah MOUSING FINGER
    7. Re:SCSI by jcupitt65 · · Score: 2, Interesting
      Yes, Linux has always had (variations) on the elevator algorithmn.

      This is different: the scheduler isn't trying to minimise head movement for a list of pending read requests (which is what elevator does), it's gathering statistics about the IO behaviour of each process and trying to guess in advance without being asked what each process will ask for next.

      If it guesses right, the data will already be in cache when the process does a read() and the request will succeed instantly.

    8. Re:SCSI by Anonymous Coward · · Score: 3, Funny

      An uptime of 0.8 days isn't really that impressive...

      It's obviously been a long time since you used Windows.

    9. Re:SCSI by Rich0 · · Score: 2, Interesting

      The interesting thing is that modern elevators do this as well - at least the fancier ones do.

      If you have a 30 story building, you can either put in dumb elevators which fill 3/4ths of the building to meet demand, or you can put in a much smaller number of elevators using techniques like express elevators and using software which keeps track of usage patterns and puts elevators on floors before somebody even hits the button...

    10. Re:SCSI by shic · · Score: 2, Insightful
      A question... I've asked this before without an appropriate answer.

      If I'm writing a user-land program which memory maps a large file, modifies it in memory - then uses msync() to write to disk - what can be safely assumed?

      • Can I assume that the thread (or process?) calling msync() will block until the data is successfully written to stable storage?
      • Can I assume that in a sequence of calls msync()_1 .. msync()_n that the writing of the data associated with msync_i implies that for all j<i that msync()_j has successfully completed?
      • Do I need to consider the specific storage hardware before I can draw any conclusions?
      • Can I influence the order in which pending writes are flushed from user space?

    11. Re:SCSI by Qzukk · · Score: 2, Insightful

      looks like as long as you use MS_SYNC as a flag, on a file on local hardware, you can trust that the data is at the harddrive, if not on it (thanks to the drive cache). Not sure what happens if you try this on a network file system, whether it forces the hosting computer to flush to disk, or if it only forces the local computer to flush to the host.

      As for order of pending writes, I don't think you get to have a say on any particular writes, but you can sync after writing to commit everything so far.

      See also man 2 sync.

      --
      If I have been able to see further than others, it is because I bought a pair of binoculars.
    12. Re:SCSI by jesup · · Score: 5, Insightful

      ATA is definitely not SCSI-over-IDE.
      ATAPI is SCSI-over-IDE however.

      I wrote the IDE/ATA drivers for the Amiga. The Amiga SCSI drivers accepted "SCSIDirect" commands from applications. Internally, all IO commands were converted to SCSIDirect commands for execution. To implement ATA, I added a SCSIDirect->ATA translator (which wasn't that hard - about 3 weeks from start to working, booting system - and I implemented just about all SCSI commands even semi-reasonable (all of CCS I think, plus quite a bit).

      Doing it this way made implementing support for ATAPI CDROMs (something I did as a contract after Commodore folded) Very Easy. :-)

    13. Re:SCSI by Fulcrum+of+Evil · · Score: 2, Insightful

      Not sure what happens if you try this on a network file system, whether it forces the hosting computer to flush to disk, or if it only forces the local computer to flush to the host.

      Depends on the server - you can request it, but the server isn't obligated to comply.

      --
      "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
    14. Re:SCSI by jesup · · Score: 2, Insightful
      Tagged Queuing in SCSI is a good thing.

      Trying to do all the reordering in the OS (as suggested in several posts here) seems like a good idea, but ignores some issues:
      1. Disks aren't a uniform array of blocks, and even if you have disk geometry it's almost certainly at least simplified, and probably a total lie. (you can query a SCSI drive for the next "slowdown", but what that means is ill-defined, and not that useful anyways.)
      2. Because of (1), you don't know when blocks are on the same track or not.
      3. it may be more efficient head-movement-wise not to switch directions.
      4. When reordering requests, head position matters, but so does rotational angle, and the OS scheduler has no idea about that.
      5. Hardware raid. Now you really don't know what the geometry is or what the IO scheduling parameters are. Not to mention letting the raid controller make use of multiple drives efficiently for small requests.
      6. This PDF shows that tagged queuing in SCSI drives is a win even with host IO ordering, when the IO stream is random or fairly real-world (lots of independant streams of reads and writes). There's minimal or no win for sequential IO.

      Tagged queuing in SATA/etc drives is a step in the right direction, though last I checked it wasn't equal to TQ in SCSI. Native Command Queuing in SATA will probably give similar performance to TQ in SCSI.

      This PDF on Native Command Queuing is even more interesting.
    15. Re:SCSI by the_skywise · · Score: 2, Interesting

      I worked for a phone company in a large downtown office building that employed thousands. The building needed a new elevator system so, to save money, they had an experimental elevator system installed.

      Instead of pusing an up or down button and waiting for an elevator, you had a number pad with an LCD display. You punched in the number of the floor you wanted to go to and the LCD would display the letter of the elevator you were assigned to. There were no floor controls inside the elevator. The system would cache people onto floors, maximizing elevator efficiency, right?

      Well, in theory... but not in practice.

      The building wasn't populated evenly on all the floors. Of a 20 story building, 4 floors were in heavy use (customer service departments) 2 were used only for storage, 2 were for the switching lines and the rest of the floors had typical light office usage.

      So in rush hour in the morning the system has a notoriously bad habit of maxing out one elevator at a time for the 4 customer service floors before allocating the next. Even MORE ironic was that the program would get into a loop of cycling the same 2 elevators to serve the same heavy use floors. (One would be going up as the other would be just finishing its cycle and the program wouldn't allocate a third elevator until the one coming down was filled.)

      So you'd walk into the building at rush hour in the morning (when everybody should be wanting to just go UP) and there's a bank of 10 elevators, 5 to a wall and there'd be about 40 people crowded in front of 2 elevator doors for about 5 minutes waiting to board.

      But it gets WORSE! Alot of people would see friends they knew who had already "punched in" and would just get in line with them without punching in themselves and screw up the whole count.

      Then you had the "smart" people who would "punch in" a floor many times to get the system to allocate a third and NOT cache them in with the other loads.

      At times it was alot of fun just playing with the elevator system than actually doing work.
      (one more interesting factoid... someone writing the program must've taken the above into account because there were times when I would work late and the coworkers and I would leave at 10pm from the 16th floor. We'd both punch in within seconds of each other and get TWO elevators.)

  4. 1,000 percent? by lonegd · · Score: 2, Insightful
    That seems rather high. Either something was broken/badly coded or someone's been adding a couple of zero's ;)

    Linux Devices has an article on the 2.6 network features here http://linuxdevices.com/articles/AT7885999771.html

    1. Re:1,000 percent? by aastanna · · Score: 3, Insightful

      Seems OK to me, that's a 10x improvement, and that was the theoretical high end example. Since they said it would commonly increase speed by 2x, and 15% for databases, it seems right in line.

      I suppose that since database data is generally grouped together and read in a big chunk there's less room for improvment.

    2. Re:1,000 percent? by gowen · · Score: 5, Informative
      My guess is that it's a fairly specific, non-standard load that will garner a 1000x gain
      My guess is that you haven't spotted that 1,000% is not 1,000x. A 10-fold increase isn't completely implausible for a workload whose read pattern matches the assumptions built into the anticipatory scheduler.
      --
      Athletic Scholarships to universities make as much sense as academic scholarships to sports teams.
    3. Re:1,000 percent? by tonywestonuk · · Score: 5, Informative

      Isn't 1000%, 11x?
      15% = 1.15x
      100% = 2x
      200% = 3x
      300% = 4x ..
      900% = 10x
      1000% = 11x

      a % = (a+100)/100 x

    4. Re:1,000 percent? by maxwell+demon · · Score: 4, Insightful

      1,000 percent is 10x, but 1,000% improvement, being improvement by 10x, is 11x as good.

      Just as 50% is half, but 50% improvement is three halves as good.

      --
      The Tao of math: The numbers you can count are not the real numbers.
    5. Re:1,000 percent? by rikkus-x · · Score: 2, Funny

      But it's speed reduction, so...

      100% = 1/2 the time.
      200% = 1/2 of 1/2 the time, which is 1/4 the time.
      300% = 1/8 the time.
      1000% = 1/1024 the time.

      Which is a 1023/1024 improvement, or only 0.999x, so disk access is in fact slightly slower!

      Yes, I'm really bad at maths.

      Rik

  5. Cool by JaxWeb · · Score: 4, Informative

    It seems there are two IO modes you can choose from, at boot time.

    "The anticipatory scheduling is so named because it anticipates processes doing several dependent reads. In theory, this should minimize the disk head movement. Without anticipation, the heads may have to seek back and forth under several loads, and there is a small delay before the head returns for a seek to see if the process requests another read. "

    "The deadline scheduler has two additional scheduling queues that were not available to the 2.4 IO scheduler. The two new queues are a FIFO read queue and a FIFO write queue. This new multi-queue method allows for greater interactivity by giving the read requests a better deadline than write requests, thus ensuring that applications rarely will be delayed by read requests."

    Nice, but this is making things more complex. I admit I'll just keep all kernel settings at wherever Mandrake sets them as. Will other people play about and specialise their system for the task that it does?

    --
    - Jax
    1. Re:Cool by Alrescha · · Score: 2, Insightful

      "and there is a small delay before the head returns for a seek to see if the process requests another read."

      It's early, but did read/write heads suddenly develop intelligence while I was napping?

      A.

      --
      ...bringing you cynical quips since 1998
    2. Re:Cool by PyromanFO · · Score: 4, Informative

      This troll comes up in any thread that has anything to do with Linux at all. Who the hell said anything about asking people to choose? This is for developers and hackers to mess with. The distro you're using will choose for you, just like Microsoft chooses what Windows drivers you have loaded by default. Does every person who runs a Dell Windows machine have to decide what version of the driver to use? No Dell installs it for them. However power users can install newer/beta drivers if they want. Same thing here, power users can enable this if they want. If not you'll never have to know about it or touch it.

      Sorry for biting on the troll but I felt like explaining it.

    3. Re:Cool by Jeff+DeMaagd · · Score: 2, Insightful

      It sounds a lot like software version of the tagged command queueing that SCSI and high-end ATA drives have. I think having it in the OS would sort of defeat the drive's feature but the OS has more memory and horsepower available to it to reduce average access time.

      I think this would work to minimize the impact of a slow access drive in a heavily multitasking system too.

    4. Re:Cool by dave420 · · Score: 2, Funny
      I love slashdot. I'm talking about the story, and it's modded as offtopic. I think the words "to my bias" should be added to the mod options :-P

      "offtopic to my bias"
      "troll to my bias"

      etc ;)

      as the only way you get modded accurately is if you're in the same camp as the moderator. I'm clearly not.

    5. Re:Cool by Des+Herriott · · Score: 2, Insightful

      Your basic problem is that you somehow believe that these two camps are somehow mutually antagonistic, and effort put into improving the inner workings of the kernel somehow detracts from the "end-user experience". This simply isn't the case.

      In general, kernel hackers don't write pretty GUI's or design highly usable interfaces, and HCI experts don't optimise low-level scheduling algorithms. These are orthogonal parts of Linux, and your belief that improving the kernel's low-level efficiency somehow makes the end-user experience worse is frankly ridiculous.

      Of course maybe you're just a very good troll and you're successfully wasting mine and others' time :-)

  6. Why not combine those two methods? by maxwell+demon · · Score: 4, Interesting

    Is there any reason why the prediction code (anticipatory scheduler) and the extra queues (deadline scheduler) couldn't be combined in a single scheduler to give us the best of both worlds?

    --
    The Tao of math: The numbers you can count are not the real numbers.
    1. Re:Why not combine those two methods? by mirko · · Score: 4, Insightful


      what would you have expected the kernel 2.8 to bring you ?
      </joke>

      Basically, I think this is like the windows system settings : you either privilegiate front end services (GUI) or back end services (apache, etc) but you cannot do both because some would be optimized for reactivity, the others to handle the workload... like a ferrari and a truck... this doesn't work nor excel in the same way.

      --
      Trolling using another account since 2005.
    2. Re:Why not combine those two methods? by Anonymous Coward · · Score: 5, Informative

      I believe that the anticipatory sched uses the model of the deadline sched. See "Linux Kernel Development" by Robert Love.

    3. Re:Why not combine those two methods? by sylvester · · Score: 3, Informative
      What sort of George 'verbal abortion' Bushism is " privilegiate "?
      You (presumeably) wanted just 'privilege' as a transitive verb:
      you either privilege front end services (GUI) or back end services (apache, etc)
      Given the name "Mirko", I would imagine that the grandparent was Finnish. Finnish is not an indo-european language, and has very very different suffixing rules from English. They commonly then derive interesting suffix-forms of words.

      Nice of you to point out the mistake like an ass, though. (Yes, just like I'm doing.)

      -Rob, a Canadian in Finland
  7. Amiga Disks by tonywestonuk · · Score: 5, Interesting


    When I had an Amiga (aroung '91ish), even though It was fully multitasking, I learnt to never open any app while another was loading. If you did, you could hear the disk head moving back and forward between two sectors on disk every half second or so, slowing both app launches to a crawl. Waiting until one loaded, and launching the second was many times faster.

    I've always wondered why there wasn't something in the OS to force this behaviour, Ie, making sure that App 2 access to the disk is queued until app 1 has finished. Isn't this one of the reasons Windows takes ages to boot? (many processes all competing for the one disk resource?).

    1. Re:Amiga Disks by jtwJGuevara · · Score: 2, Informative
      Isn't this one of the reasons Windows takes ages to boot? (many processes all competing for the one disk resource?).

      Which version of Windows are you referring to? While risking to sound like a fan boy here, I must say that the OS load times for XP are quite fast compared to previous versions and to most vanilla linux distributions I've tried in the past (Mandrake 9.x, Redhat8/9). Whether or not this is in relation to resolving two processes arguing over access to read from the disk, I don't know. Does anyone have any more information on this?

    2. Re:Amiga Disks by MrFreshly · · Score: 3, Interesting

      I think windows loads slow because of all the damn spyware and un-necessary default drivers and services and IE preloading...etc...

      IMHO Default windows config is kinda like a Redhat with everything and then some.

      Start in safe mode and watch all the crap that tries to load - a ton of it is not needed.

      If you tighten your install by removing a lot of the extra services, spyware, and a few performance tweaks - you'll see a major speed increase over all.

      I use XP, but I don't like it much anymore...It's stable, but I'm really looking forward to a better desktop for Fedora and the new Core 2 release.

    3. Re:Amiga Disks by jarran · · Score: 4, Informative

      Because it's a lot more complicated that you suggest. What happens if A gets in first, but is doing an extremely long a disk-bound task? B will never get chance to access the disk. It could even be that B would stop after a very short amount of disk access, in which case it will have to wait until A is done, even though interleaving the reads would have been the "right thing to do".

      Being multi-user complicates things even further. Sure, you are a single user on a desktop machine, and you double click on two programs in rapid succession, queuing them for loading one after the other may be the right thing to do. But what if those programs are actually being loaded by two different users? Can we completely lock out one user just because they started loading their program slightly later? Again, what if user A runs emacs, and a fraction of a second later, user B runs ls? Under your system, B effectively has to wait as long as it would take to load emacs, plus as long as would take to load ls?

      You can't even realistically seperate the queues by user. In many situations, a single unix user may be running on behalf on many physical users (AKA human beings ;) ), e.g. in the case of any kind of server.

      I'm not saying that any of these problems are intractable (Linux is now doing a pretty fine job), just that they aren't as even remotely as trivial as queuing loads one after another.

      Oh BTW, thanks for bringing back happy Amiga memories. Them were the days! :-)

    4. Re:Amiga Disks by shyster · · Score: 2, Informative
      I've always wondered why there wasn't something in the OS to force this behaviour, Ie, making sure that App 2 access to the disk is queued until app 1 has finished. Isn't this one of the reasons Windows takes ages to boot? (many processes all competing for the one disk resource?).

      AFAIK, the reason Windows used to take ages to boot was that drivers and services were started sequentially and no optimaztion was ever done for the boot process. Windows XP, OTOH, had a goal of less than 30 seconds for a cold boot. In order to achieve this, new BIOS specs were implemented as well as optimization of the boot process. The main things done to speed up the boot process were doing driver and service initialization and disk I/O in parallel, and prefetching. MS claims a 4-5x increase in speed using a chunked read of all boot files, but others disagree and think that prefetching accounts for most of the increase.

      With a new PC and a fresh install of XP, it's very possible to get to the desktop in less than 30 seconds. Even with my aging PIII-500MHz laptop (without the BIOS optimizations called for by MS) and with additional startup software, my PC is usable in less than a minute. To be honest, it's the one reason I switched to XP from 2000.

    5. Re:Amiga Disks by Ouroboro · · Score: 2, Insightful

      I've always wondered why there wasn't something in the OS to force this behaviour, Ie, making sure that App 2 access to the disk is queued until app 1 has finished. Isn't this one of the reasons Windows takes ages to boot? (many processes all competing for the one disk resource?).

      You run into a problem where you don't know when app 1 has finished loading in order to start loading app 2. Why, because a loading app looks no different than a running application. You could possibly get around this by having the app set some flag that says "Hey I'm starting up, give me a few extra bashes at the disk before making me yield." The problem with that solution, is what happens if that application never releases the flag. You've got an application that has nearly exclusive access to the disk, and may not be interested in giving it up.

      --
      When I want your opinion I will beat it out of you.
    6. Re:Amiga Disks by LWATCDR · · Score: 3, Interesting

      Actually even early versions of Novell used a system called elevator seeking. The system worked like an elevator the head moved in one direction of util it hit the lowest track/sector in the que then it changed direction. Not nearly a slick as the new system but a big improvment over a first come first serve system. Now that we have so much more memory and cpu power Linux and other OS can use more complex systems

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    7. Re:Amiga Disks by jesup · · Score: 2, Interesting

      Back in the day (Amiga 3000 introduction circa 1990) we could boot an Amiga off a 40MB disk from power-on (including loading a replacement for the ROM image) to fully up (including mounting NFS mounts) in ~15 seconds; 7 seconds from a warm boot. Effectively we chunked the load of much of the OS (including GFX, Workbench (desktop), etc) as part of the softload of the ROM image into RAM. On top of that, on warm boot we checksummed the ROM image in RAM (as well as various major OS library structures), and if they were good we didn't reload them. (Remember, the Amiga ran without memory protection.) Some of the boot script that followed would cause overlap (anything tha spawned servers/processes), other parts were sequential but generally were very fast and often cached (like "ASSIGN XYZ: dh0:xyz" commands and the like).

      At the time, Win3.1 took Quite A While to boot. Getting past the BIOS alone usually took longer than the Amiga took to finish booting.

  8. I've found the opposite by redcliffe · · Score: 2, Interesting

    I've actually found that on my machine, a pretty much standard desktop, response is a lot slower on 2.6.5 than 2.4.22. Not sure if I got something set wrong in the compile, but moving the mouse and stuff like that seems a lot jerkier under load. I use a USB mouse and keyboard, so maybe that's part of it. Anyone else seen similiar?

    1. Re:I've found the opposite by bflong · · Score: 5, Informative

      Make sure that you set X's "nice" value to 0. Some distros set it to something like -10 so that X is not disturbed by other procs. Under 2.4, this was a good thing. However, under 2.6, with it's superior scheduler, the kernel will keep interrupting X and you will see lagging performance. Google for it to get a better explanation.

      --
      Why is it so hot? Where am I going? What am I doing in this handbasket?
  9. Stolen from SCO by Anonymous Coward · · Score: 3, Funny

    Obviously, this was stolen from SCO. This was based on their UNIX software and was available in the baseline from 10 years ago. It only shows that Linux, once again, is not an innovator, but just copies code from SCO to achive its scalability.

  10. But how? by builderbob_nz · · Score: 2, Insightful

    is accomplished by minimizing the disk head movement

    I was always under the impression that modern hard drive designs hide the physical disk bits and pieces from the PC. So how can software predict where the heads are?

    --

    Karma? Hey I just call it as I see it.
    1. Re:But how? by Anonymous Coward · · Score: 2, Informative

      Clusters close together are going to be close together on the disk surface. They're not actually talking about controlling the head movement directly, but minimising head movement by realising how a hard disk works in relation to sector accesses .

    2. Re:But how? by pseudorandom · · Score: 3, Informative

      The absolute translation of logical block to head position is unknown to e.g. Linux. While it is possible to reverse engineer the physical disk layout by looking at timings, for general purpose computing this is going way too far. I think the upcoming ATA-7 hard disk standard has some more options to get information about the layout of the disk, but I'm not sure of that.

      Anyway, simple sorting on LBA address will typically reduce head seeks to a large extent, resulting in most of the potential benefit. It is important however to make sure that multiple requests are available to the driver to sort.

  11. Re:Linux Speed (Or Lack Thereof) by Eastree · · Score: 5, Funny

    >Try going outside. Find out about these things called "women".

    And this would help my computer how?

  12. Disk Transfer QoS by johnhennessy · · Score: 4, Interesting

    I think Solaris 10 (or maybe a later version, I can't remember) is suppose to support a concept of Quality of Service applied to disk accesses.

    Is anyone in the Linux world considering this ?

    This is probably more applicable to the enterprise market, but surely any scheme of informing the scheduler about the expected disk transfer characteristics has to improve performance.

    On the other hand, it might be just Sun trying to re-invent uses of buzz words to sell their products.

    --
    [ Monday is a terrible way to spend one seventh of your life. ]
    1. Re:Disk Transfer QoS by Xouba · · Score: 3, Informative

      Two words: IRIX, XFS.

      IRIX had some sort of "quality of service applied to disk accesses", as you wrote, thanks to XFS. The filesystem allows defining zones that have a "minimal throughput" configured. I can't say more about it because I know only by referrals of another people O:-)

      XFS is available for Linux since 2.6.0 and 2.4.24, IIRC, and I think this feature is also available in the latest kernels. Though it's still experimental, IIRC.

    2. Re:Disk Transfer QoS by diegocgteleline.es · · Score: 2, Informative

      Yes, It's done. Ssearch for "CFQ scheduler". It's in the -mm tree. You've "io priorities" so you can tell apache "you've been guaranteed 80% of the disk bandwith". Or run updatedb cron jobs at a lower io priority so they don't interfere with mozilla/openoffice... Irix has it already for years. Linux has it now. MS is planning this for Longhorn...(it makes the OS a bit more "realtime" so you won't have video pauses because your videos have a highter priority...)

  13. Benchmark by zz99 · · Score: 5, Informative

    Here's an older benchmark made by Andrew Morton showing the anticipatory scheduler vs the previous one.

    The benchmark was made before 2.6.0, but I still think it shows the big difference from the 2.4 IO scheduler.

    Quote:
    Executive summary: the anticipatory scheduler is wiping the others off the map, and 2.4 is a disaster.

  14. Re:Anti-MS Patent by Tribbin · · Score: 3, Interesting

    Stealing what? The algorithms?

    The end-(Windows)-user benefits from it.

    That's the price of freedom.

    And any additions MS makes to the code must be made public.

    So then everybody benefits.

    --
    If you mod this up, your slashdot background will turn into a beautiful sunset!
  15. Retro is still cool ? by Anonymous Coward · · Score: 4, Insightful

    It's great watching the "modern" computer industry discover all the toys and optimisations that where essential engineering for the systems I used to use in the '70s & '80s.

    All the wonderful stuff like disk seek optimisation, interleaved memory (Even MMU came to the moden computer about 15 years after everyone else had it) were technologies that made systems stand out from each other.

    Because of the speed of things these days, lots of that tech has been largely ignored, until now when we're starting to hit hard performance barriers again. Now we have to invent the technology og the '70s all over again. It's nice to see all this stuff comming back though.

  16. Oh, come on... by mdb31 · · Score: 4, Interesting
    ...to achieve the O(1) timing, quite a leap forward that we had not even thought of!

    The NT scheduler has been O(1) like, eh, forever.

    Our kernel produces far superior performance due to providing hooks for the COM layer

    Yeah, whatever. There is no COM anywhere near the NT kernel, and the latest and greatest from Microsoft, the .NET framework, isn't even based on COM anymore

    Nice troll...

    1. Re:Oh, come on... by Anonymous Coward · · Score: 3, Insightful

      Linux's 2.6 constant time scheduler is better in the sense that it also creates new processes in constant time, unlike NT. NT's internals hasn't really changed dramatically in a long time, they're basically missing out on a lot of things that happened in the last 4 years.

      This article is just another example of such a case. The anticipatory scheduler algorithm was not published until 2001. With Linux you get these sorts of benefits integrated in reasonble time, with Microsoft you have to wait between W2K and Longhorn to get any of the new goodies.

    2. Re:Oh, come on... by Anonymous Coward · · Score: 2, Funny

      For very large values of 1....

  17. CFQ by kigrwik · · Score: 3, Informative

    The cfq scheduler in the -mm (Andrew Morton) trees gives very good results in a desktop use.

    With anticipatory or deadline, I'm experiencing awful skips with artsd under KDE 3.2 every time there is a heavy disk access, but it's [almost] completely gone with cfq.

    To use it, compile a -mm kernel and add the 'elevator=cfq' to the kernel boot parameters through Lilo or Grub.

    See this lwn article for more info.

    --
    -- don't discount flying pigs until you have good air defense
  18. Re:Anti-MS Patent by mydigitalself · · Score: 3, Interesting

    no: stealing the concept (probably by analysing the code) and writing it themselves.

    so if MS make any improvements in their own implementation of the concept, then the code would not be made public and MS benefits and not everyone else.

    to elaborate (and in some ways i believe this is what SCO are arguing), lets say i see an open source application that does something neat. it probably won't be patented because the author expects someone to contribute any modifications back. but lets so i don't because i'm a greedy commercial corporate and so i effectively copy the IDEAS behind the application. my code may look quite similar to theirs, but i certaintly have not infringed on the GPL (or have I - i'm no lawyer!).

    so if this neat application had an "open source patent" in that anyone infringing on the patent would not be liable for millions, but rather they would be liable and forced to open up the source code of their particular implementation.

  19. Real benefits... by greppling · · Score: 3, Insightful
    ...for the typical desktop workload would come from a better cooperation between applications, glibc, and the kernel.

    Let me start by claiming that optimizing desktop performanceis all about optimizing I/O patterns (contrary to what all Gentoo users think :P). My KDE startup is about three times as fast when I everything is in the disk cache, so it is clear where the bottleneck. (Just try logging in to KDE after boot, then log out and log in again.) A concentrated effort of

    • passing on the right hints from KDE via glibc to the kernel (e.g. an madvise() call when loading executables giving the hint that probably most part of the file will be needed later on),
    • trying some anticipatory reading of config files/libraries etc. from startkde where it is known that they will be needed, and that they are hopefully laying contigiously on the disk,
    • optimizing disk layout for the common access patterns
    would IMHO make a far bigger difference for the desktop experience than optimizing compiler flags by using gentoo or using a preemptible kernel.

    There has been a lot of discussion about this on the kde-optimize list (with Andrew Morton participating), so maybe we can hope that KDE 3.3 will offer some improvements.

    As an aside, yes, we all hate the windows registry, but I think we should admit that for boot time optimization it is the right thing to do (having everything in one file that is layed out in one contigious block on the disk.)

    1. Re:Real benefits... by Anonymous Coward · · Score: 2, Insightful

      but I think we should admit that for boot time optimization it is the right thing to do (having everything in one file that is layed out in one contigious block on the disk.)

      This is oh-so-wrong in so many ways. Let me name just a couple of them:
      1. Because damned near everything causes changes in the registry, the registry is NEVER layed out in one contigious block on the disk. Instead, the constant editing forces it to be scattered across the entire disk.
      2. I can make a better argument that it actually slows the boot process because, in order to get the parameters associated with just booting, the system must read thousands upon thousands of other registry entries that have nothing to do with the boot process! I would much prefer a smaller file that only has the parameters need for booting and NOTHING ELSE!

      Coupled with the inherent risk of "placing all your eggs in one basket", the registry most decidedly is NOT the right thing to do!

  20. You're misunderstanding something... by warrax_666 · · Score: 5, Informative

    AFAIK the "anticipation" bit is not so much about predicting head movement, but is more about reducing head movement. Reads
    cause processes to block while waiting for the data (and can thus stall processes for long amounts of time if not scheduled appropriately), whereas writes are typically fire-and-forget. This last bit means that you can usually just queue them up, return control to the user program, and perform the actual write at some more convenient time, i.e. later. Since reads (by the same process) are usually also heavily interdependent, it is also a win to schedule them early from that POV.

    That's my understanding of it.

    --
    HAND.
  21. Speed-ups by jd · · Score: 2, Insightful
    I've often wondered what would happen if such I/O speedups were put into hardware. There's plenty of RAM on modern controllers, but caching adjacent tracks is not as efficient as caching distant tracks, so as to minimise the need for moving the read-heads long distances.


    Alternatively, have multiple read-heads on a single arm. 3 would be a good number. The idea here would be that you could pre-seek either side of the disk, before finishing a read by the currently-active arm.

    --
    It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    1. Re:Speed-ups by AlecC · · Score: 3, Informative

      Effectively Scsi does I/O speedups. Firmware, not hardware, but so is everything. And the speedups by giving Scsi a lot to do and letting it do it in its preferred order can be significant. But Scsi cannot "see" processes - nor file systems. The OS can work out that a process is reading a file and read the next bit of the file - where Scsi would read the next bit of the disk, if it did so at all. The OS can see when you ahve reached EOF, or closed the file, and there is no point prereading.

      You don't mean multiple heads on an arm. Multiple heads on an arm would all move together, and you couldn't use two at the same time - the feedback servo which keeps it on track can only respond to one track. What you mean, I think, is two groups of arms (all the arms move together). Manufacturers have looked at that but decided against it.

      The arms and associated actuators are some of the most expensive parts of the drive. If you are going to double this cost, why not throw in a few more platters andd an enclosure and have twice the capacity - and twice the throughput.

      Putting two actuators in the drive increases power consumption a lot, and heat as well. Both are real problems for current drives. And a "specialist" drive doesn't have the economies of scale, and could cost more than twice as much as two simple drives - which, together, have the same number of heads and twice the capacity.

      The real killer is turbulence. If you have two arms on the same surface, each is flying in the wake of the other. And, unlike its own wak, the other alters dynamically, so that seeking arm 1 can perturb arm 2.

      Google has it right - lots of dumb hardware, lots of clever software. What we need id filesystems whos allocation patterns are "Raid aware". Particularly Raid 0, I can see file system allocation patterns which could (in conjunction with the otimisations mentioned here) greatly improve performance.

      --
      Consciousness is an illusion caused by an excess of self consciousness.
  22. I think I've heard of this by TheVidiot · · Score: 2, Funny


    Doesn't this involve a green marker, and tracing along the edge of the hard drive? Faster and less distortion?

  23. Re:Our take on it from inside MSFT by BCoates · · Score: 2, Funny

    Your comment is meaningless gibberish studded with technobabble.

    I believe you, you must really work at Microsoft.

  24. Databases and reliable commits by hughk · · Score: 3, Interesting
    One of the big things about databases is the reliable commit where all the crud you have done in a transaction either gets committed or backed out. The writes then become kind of important, and you really do want them to complete before continuing with anything else.

    This messing with the I/O queue may make things interesting for the journalling process which is kind of vital to integrity. File placement could become even more important for this (and also the placing of journal/log files).

    The rest seems to just effectively be a modified elevator (wait a bit before moving).

    --
    See my journal, I write things there
  25. Re:Our take on it from inside MSFT by dave420 · · Score: 2
    Yeah, and where I work in Microsoft, Bill Gates frequently drops in with the latest copy of Linux User, espousing his love for Tux. Why, only yesterday he said he cries himself to sleep wishing he thought of Linux, instead of Windows.

    Zealotry is all fine and dandy, but delusional zealotry just lands people in jail.

    You need help, buddy.

  26. Re:Idea... by cca93014 · · Score: 2, Interesting
    Doh! Was meant to include this quote in the above post - mods can ignore the above post please...
    You can tune your anticipatory scheduler to improve its functionality. There are five basic parameters you can alter to change the way the wait-before-seek times function: read_expire, read_batch_expire, write_expire, write_batch_expire, and antic_expire.

    Would it not be possible to write a very basic adaptive network that "learns" what the best values for these parameters are for each individual machine, based on a history of its workload?

  27. Re:Anti-MS Patent by dave420 · · Score: 3, Informative

    So, in turn, should the Linux community cease developing/including things that are "inspired" by Windows?

  28. Oooh.... evil Microsoft must be thwarted! by October_30th · · Score: 2, Insightful
    Hold on there. What you're doing there is arguing for software patents - that one should be able to own an idea.

    It's kind of sad that the free software advocates sometimes get so carried off by their pathological hatred for Microsoft and corporations that they don't see that they're about to become "the enemy" themselves.

    Free is free. If you start to restrict the use and availability of your code by requiring the release of any modifications to the public, it's not free code anymore - no matter what RMS says.

    --
    The owls are not what they seem
  29. [ot] by mirko · · Score: 4, Funny

    Thanks but my father is Croatian and my Mom's French :o)
    Anyway, you found out that I indeed am not a native English speaker, hence the neologistications.

    --
    Trolling using another account since 2005.
  30. Kernel comparison on a SMP system by k-hell · · Score: 3, Informative

    2CPU.com has a Linux kernel comparison of 2.6.4 and 2.4.25 on a SMP system with interesting results.

  31. Re:what's old is new again by Yokaze · · Score: 5, Informative

    Elevator seeking is looking at the current request queue and bundle requests which are close together to minimise head movement. This is indeed old. IRC, Linux had it since 2.2 something.

    The anticipatory scheduler tries to anticipate future requests (who would have guessed that?), and is relatively new

    --
    "Between strong and weak, between rich and poor [...], it is freedom which oppresses and the law which sets free"
  32. Schedule for Interactivity by ehack · · Score: 2, Insightful

    Desktop Linux needs a scheduling policy specific to interactivity. I guess this may happen the day a decent interface gets slapped on the Linux base. Until then, we dance the same dance - every release is faster than the previous one by the benchmarks, and feels more horrid than the previous one.

    Surprise, the Mac has the same reactivity problem now thanks to its Unix (Mach) kernel, while the previous Mac OS 9 crashed regularly, couldn't multitask, but has a much snappier user-experience. Apple has been adressing this issue - which they recognize- for 2 years now, and have almost but not quite fixed it with their current Panther release.

    It is time we found a way to benchmark a user experience in order to prevent over-optimisation for number-crunching.

    Most of my posts get marked down as trolls - think hard: How can you solve a problem if you refuse to admit it exists ?

    --
    This is not a signature.
  33. Re:Amiga Disks and CD-ROMs by pmjordan · · Score: 2, Informative

    Yeah, the same thing happens under Windows if you read from CD-ROM. The whole thing just slows to a crawl if you try to read two files at once. I'd assume it's a hardware problem, (long seek times, large error margins) not necessarily Windows' fault, but I don't use CDs much anymore (hooray for ethernet and huge hard drives) so I don't know.

    Of course, this raises the point that aligning the data on a game CD or DVD for a console is a science in itself. PC game development is easy in comparison! (plonk everything on the hard drive)

    phil

  34. Someone should point out... by Mgdm · · Score: 2, Informative

    ...that the Red Hat "kernel development systems engineer"'s name is Stephen Tweedie, not Tweed :)

  35. Re:Preemptive and Defragged? by Doctor+Crumb · · Score: 3, Interesting

    Firstly, the 2.6 kernel allows pre-emptive scheduling. Supposedly it was introduced because Linus got tired of his mp3s skipping while he compiled things.

    Second, Linux doesn't need a defrag utility. Linux filesystems (Ext2 and Ext3) allocate files properly, using clustering and inodes. The need to defrag comes from the bad design of FAT, which works great on a 8088 processor with tiny files on a 1Meg drive, but is terribly inefficient on anything past a 386.

    Of course, there does exist a 'defrag' utility for linux. It just won't gain you much at all.

  36. Re:NOVELL/NETWARE DID THIS IN 1991 by AlecC · · Score: 2, Informative

    No, this is not the elevator algorithm. This is an anticipatory algorithm that pre-queues reads that it expects the application to do in the future. Linux already has the elevator algorithm - had it before Windows, I believe.

    --
    Consciousness is an illusion caused by an excess of self consciousness.
  37. Slackware! by Allen+Zadr · · Score: 2, Insightful
    I was able to get the 2.6.4 kernel running on Slackware in less than 4 hours (most of that, compile and configure time). No broken dependancies at all.

    However, I wouldn't even try that on RedHat or Mandrake without having the .config file and a list of distribution specific patches.

    This was on a Celeron 1GHz laptop, and honestly, I couldn't tell the difference in speed beyond any custom compile. Custom meaning unnecessary device drivers are removed, and the ones that I need are compiled in (as opposed to remaining modularized).

    --
    Kinetic stupidity has a new brand leader: Allen Zadr.
  38. IO Accuracy by fhafner · · Score: 2, Interesting

    so how does this effect IDE drives in terms of IO read/write accuracy? We use SCSI drives for low level mass data processing and mining because what you write to the disk is guaranteed to be what you can read from the disk in the future.

    IDE disks don't have the same guarantee. Does the new 2.6 kernel improve this?

    I also wonder if this reduces hard drive wear for longer lifetimes....

    --
    Veni Vidi Vici
  39. Re:I second that. by incuso · · Score: 2, Informative
    New nvidia driver is 2.6.x compliant. I am using it on my PC with 2.6.4.

    M.
    --
    Monete Italiane

  40. Re:_New_ Kernel? by Allen+Zadr · · Score: 2, Interesting
    Funny, the 2.6 kernel has been out with this feature for months. It's old news. I've been running 2.6.4 on Slackware 9 for almost a month now. Yes, all the nifty features turned on. No, I really don't see much of a difference (beyond the standard improvements of a kernel compiled without all the crap I don't need).

    And if you look above to this post, you can all see a great deal of decent explanations of what 1000% increase actually means (11%).

    --
    Kinetic stupidity has a new brand leader: Allen Zadr.
  41. Re:Anti-MS Patent by TheNetAvenger · · Score: 4, Interesting

    ok, i know this is evil and all - but lets say MS decide to implement this as a concept (so without "stealing" code)... the linux community will have given them something and received (probably) nothing in return.

    Not to burst your bubble, but the NT scheduler already implements predictive disk I/O concepts.

    Nice that Linux is finally catching up though...

  42. 2.6.x faster in other ways, too by aussersterne · · Score: 3, Informative

    Aside from much better I/O performance, 2.6.x also has much better performance on my notebook (IBM T-series ThinkPad).

    I don't know if it's due to SpeedStep support being in the kernel or what, but when I was running 2.4.x with the pre-emptible kernel patches, switching from wall power to battery power meant massive slowdowns, as though I had switched from a PIII-1GHz to a 100MHz Pentium classic. Simple commands like "ps" would take seconds to complete and screen redraws were visible. The whole system would feel like sludge. In spite of this fact, battery life was relatively poor. The combined effect (much slowed system, very short battery life) meant that it was difficult to get anything at all done on battery power.

    Now with 2.6.x, when I switch to battery power, there is no perceptible slowdown whatsoever when compared to wall power, and battery life is much improved. Downside: suspending 2.6.x kills USB-uhci, so I've had to compile it as a module and hack up my suspend/resume scripts to reload it each time. But for the speed increase, it's well worth the trouble.

    --
    STOP . AMERICA . NOW
  43. Heh. by Mr+Z · · Score: 2, Informative

    It is new with respect to 2.4.x. The anticipatory scheduler was introduced 2.5.x-mm and made its way into the kernel by the time 2.6 was released.

    1. Re:Heh. by Mr+Z · · Score: 2, Informative

      I'm not sure where you'd find it, but you might make some headway searching for "anticipatory scheduler" on kerneltrap.org. This scheduler was discussed multiple times on that site.

      --Joe
  44. Re:How can I set the boot parameters? by Zoolander · · Score: 3, Informative

    Use 'elevator=as' (or cfq, or deadline)
    The anticipatory scheduler is the default for the vanilla 2.6 kernel.

    --
    Meep.
  45. Re:Preemptive and Defragged? by Zoolander · · Score: 2, Informative

    The point of the new scheduler(s) is that most access to the disk by a process is sequential (i.e. many blocks at a time), so if another process wants to access some other part of the disk, it most often pays off to let that process wait for a while before serving it, since the original process most likely will want to get more data from your current block.
    That way, you don't need to move the head nearly as much as if you responded directly to the other process.
    Robert Love has written an excellent article about the new schedulers here: I/O Schedulers

    --
    Meep.
  46. NPTL is a key component of the new speed by Stonent1 · · Score: 2, Interesting

    If you compile GLIBC with NPTL support you'll see even more of the new kernel in action. I quote from LinuxJournal.com,

    NPTL brings an eight-fold improvement over its predecessor. Tests conducted by its authors have shown that Linux, with this new threading, can start and stop 100,000 threads simultaneously in about two seconds. This task took 15 minutes on the old threading model.

  47. Re:Yawn by Anonymous Coward · · Score: 2, Insightful

    You are right, there is nothing new there... if they were talking about elevator seeking style movement. This article is about Linux making use of Anticipatory Scheduling which is completely different and quite new.

  48. Re:Windows boots slowly??? by PitaBred · · Score: 2, Interesting

    Do you ever question what "boot" means"? When a linux system lets you log in, EVERYTHING is already started and running. When Windows shows you the desktop, there is still a ton of stuff getting started in the background (or the foreground even) and it's still unusable. Windows doesn't start any faster, it just shows you pretty pictures sooner.

  49. The Renaissance by EXTomar · · Score: 3, Interesting

    And we all would have benifited from this if they simply shared in the first place instead of spending 20-30 years "rediscovering" it.

    One programmer likened the 70-80s as The Dark Ages. There were cabals and secret voodoo that people sat on and didn't share and you ended up with an ignorant masses that only thought "this is as good as it gets". Hopefully this renaissance sticks because it doesn't matter how good or cool your technology is if you bury it for 20 years without another person knowing.

  50. research background for anticipatory scheduling by Sajma · · Score: 3, Informative

    The original research for anticipatory disk scheduling was done at Rice University by Sitaram Iyer and Peter Druschel and is described here.

  51. another I/O speed trick: mount with noatime by chongo · · Score: 2, Informative
    While you are waiting to install the new kernel code code, you might try a filesystem mount option called noatime that has been in many *n*x distributions for a while now.

    If you don't care about last access times on your files, then you should consider mounting your filesystems with the noatime mount flag as in this /etc/fstab line:

    LABEL=/blah /blah ext3 defaults,noatime 1 2

    Reading a file under noatime means that the kernel does not need to go back and update the last access time field of that file's inode. Sure, multiple reads over a span of a few seconds will only cause the in-core inode to be modified, but eventually that modified inode must be flushed out to disk. Why cause an extra write to the disk for a feature that you might not care about?

    For example: think about those cron jobs / progs that scan the file tree (tmpwatch, updatedb, etc.). Unless you mount with the noatime option, your kernel must at least update the last access time fields of every directory's inode! Think about those /etc files that are frequently read (hosts, hosts.allow, DIR_COLORS, resolv.conf, etc.) or the dynamic shared libs (libc.so.6, ld-linux.so.2, libdl.so.2, etc.) that are frequently used by progs. Why waste write-ops updating their last access time fields?

    Yes, the last access time field has some uses. However, the the cost of updating those last access timestamps, IMHO, is seldom worth the extra disk ops.

    There are other advantages to using the noatime mount option ... however to wind up this posting I'll just say that I always mount my ext3 filesystems with the noatime mount flag. I recommend that you consider looking into this option if you don't use it already.

    --
    chongo (was here) /\oo/\
  52. How can I switch between them? by ksp · · Score: 2, Interesting

    I know there is a boot-time switch for changing the I/O scheduler, but I still believe you are stuck with one for all devices. How about using different algorithms for different partitions? There is quite a lot of difference between a database device, a filesystem holding binaries, shared libaries, /tmp, spool directories etc. etc. etc. When I/O schedulers are so different in their theoretical foundations, why do you have to choose only one?
    This should be a mount option, not a boot option.

    --
    What is the sound of one hand clapping?
    cat /dev/null > /dev/audio