Slashdot Mirror


The Hairy State of Linux Filesystems

RazvanM writes "Do the OSes really shrink? Perhaps the user space (MySQL, CUPS) is getting slimmer, but how about the internals? Using as a metric the number of external calls between the filesystem modules and the rest of the Linux kernel I argue that this is not the case. The evidence is a graph that shows the evolution of 15 filesystems from 2.6.11 to 2.6.28 along with the current state (2.6.28) for 24 filesystems. Some filesystems that stand out are: nfs for leading in both number of calls and speed of growth; ext4 and fuse for their above-average speed of growth and 9p for its roller coaster path."

187 comments

  1. Do the number of calls really matter? by dbIII · · Score: 4, Interesting

    In the case of NFS for instance, hasn't there been a performance improvement? Isn't that the thing that matters?

    1. Re:Do the number of calls really matter? by epiphani · · Score: 5, Informative

      Two things of note with NFS...

      1. NFSv4 support was added. v4 is complex and has a lot of authentication stuff in it that wasn't in v3.

      2. SunRPC is "part" of the NFS tree, but is effectively just a transport layer. It is completely abstracted, hence the numbers of symbols. It could be used for other stuff, so it pushes up that number too.

      --
      .
    2. Re:Do the number of calls really matter? by Smidge207 · · Score: 4, Interesting

      Yes, that sounds like "slimming down" to me. At least, I can understand what teh article is trying to get at. It seems like we went through a period of early operating system development over the past few decades where the stress was on throwing everything in, including the kitchen sink. It's at least interesting that Linux distros are putting in some amount of effort into pulling excess functionality out of the default installation while computers continue to become bigger, faster, stronger.

      And I think it is pointing at something similar to what is going on with OSX, and it is a trend. We've hit some kind of a milestone, I think, where most of our computer functionality is "good enough" for most of what we actually use them for. Something about the development of computer systems right now reminds me of... whenever it was... 10 years ago?... when people were using their computers mostly for word-processing, and their computers were good enough for that, so there wasn't a huge drive to accomplish a particular thing. Then people discovered that they could rip CDs into MP3s and share them, and there grew this whole new focus on multimedia and the Internet.

      Now we have those things handled, and it seems like the answer to "what's next?" is making both hardware and software smaller and less bloated. We're getting smart phones that are becoming something more like a real portable computer, and we're getting things like netbooks. I predict you're also going to start seeing better use of embedded systems, like maybe DVRs are just going to be built into TVs soon. Not sure on that one, but I think you're going to see things shrinking, devices being consolidated, and a renewed focus on making things more efficient and refined.

      Meh. It's rambling time...

      =Smidge=

      --
      Is it just my observation, or is eldavojohn an idiot?
    3. Re:Do the number of calls really matter? by Anonymous Coward · · Score: 0, Funny

      Linux just isn't ready for the desktop yet. It may be ready for the web servers that you nerds use to distribute your TRON fanzines and personal Dungeons and Dragons web-sights across the world wide web, but the average computer user isn't going to spend months learning how to use a CLI and then hours compiling packages so that they can get a workable graphic interface to check their mail with, especially not when they already have a Windows machine that does its job perfectly well and is backed by a major corporation, as opposed to Linux which is only supported by a few unemployed nerds living in their mother's basement somewhere. The last thing I want is a level 5 dwarf (haha) providing me my OS.

    4. Re:Do the number of calls really matter? by Kjella · · Score: 4, Interesting

      Ever since.... well, the first abstraction there's been a holy flamewar of abstractions versus spaghetti code. The one side of the war claims that by building enough layers each layer is simple, well-understood with well-defined interactions and thus fairly bugfree. The other side claims that abstractions wrap things in so many layers that the whole code is like an onion without substance, separating cause from effect so it's difficult to grasp and that these layers seriously hurt performance. The answer is usually to do is simple if possible, complex if necessary. Of calls went up and performance went up it's probably necessary, but isolated an increase in cross calls would be a bad thing.

      --
      Live today, because you never know what tomorrow brings
    5. Re:Do the number of calls really matter? by esampson · · Score: 2, Insightful

      Each unique external call represents a piece of code that has to be present to make the module work. Assuming the average size of the code referenced by an external function call doesn't change more unique calls would mean the module would need more code to support it. At least I believe that's what the author's thinking is.

      Of course that's a pretty big assumption. If you have more external calls because the code being called is leaner and only half the size on average then you could have a 50% increase in the number of function calls and still reduce footprint. Also if all of your calls go to modules that are highly utilized (i.e. most of the code in them is called) you could have a seriously reduced footprint over fewer external calls that are spread out among a large number of lightly utilized modules.

      And all of this, of course, ignores the fact that if you are going to be using a version of the operating system for a device such as a cell phone you probably wouldn't chose one of the file systems like NFS but would go for one better suited to the small amount of memory available.

    6. Re:Do the number of calls really matter? by Culture20 · · Score: 0, Offtopic

      The last thing I want is a level 5 dwarf (haha) providing me my OS.

      I know feeding Trolls is bad form, but:
      What about a level 3 Wwwyzzard d dot com providing your BBS connection? Last time I _had_ to compile something was almost a decade ago.

    7. Re:Do the number of calls really matter? by stevied · · Score: 1

      The trick with adding abstractions is to document the model and the architecture. Great gobs of reference documentation are not necessarily required, but a short summary of the way the system (or rather, its creators) "sees the world", and what the major objects / classes are, can be disproportionately useful relative to its size. (In complex systems - like a kernel - some idea of how the execution flow works is also useful: which stuff is called in interrupt context, which from process context, etc.)

    8. Re:Do the number of calls really matter? by ajs · · Score: 1

      In the case of NFS for instance, hasn't there been a performance improvement? Isn't that the thing that matters?

      I guess that depends on why you care. If you're lumping Linux into an end-user distro, then you probably think that's a good thing. If you're looking at long-term growth of complexity and thinking of that as a metric for maintainability... then it might be a bad sign.

    9. Re:Do the number of calls really matter? by Anonymous Coward · · Score: 5, Funny

      Hi. I'm the infamous Anonymous Coward, and it's time we had a talk.

      For years now, I've been enhancing the discussion on Slashdot through interesting interjections and humorous anecdotes (often about homosexual African Americans), but I feel things just aren't working out.

      It takes me an awful lot of time, researching composing and spell chekcing the many hundreds of valuable posts I make a day, and although I don't request anything in return all I ever see is abuse. You moderate my comments down for absolutely no good reason.

      I've had enough.

      From this point on I'm just not going to bother. It's over.

      I've been feeling this way for a while, slowly I've put less and less effort in my posts, repeating the same ideas over and over and, now, even started repeating whole posts verbatim.

      It's been fun, Slashdot, but I'm disillusioned. You broke my heart, and I am never doing to give you the benefit of my insight again.

      Be happy.
      Love and regrets,
      Anon.

    10. Re:Do the number of calls really matter? by ComaVN · · Score: 1, Offtopic

      Truely a Slashdot icon. You will be missed.

      --
      Be wary of any facts that confirm your opinion.
    11. Re:Do the number of calls really matter? by Anonymous Coward · · Score: 0

      I really mean it.

      Goodbye (for real).

      Anon.

    12. Re:Do the number of calls really matter? by Anonymous Coward · · Score: 0

      I really mean it.

      Anybody want a peanut?

    13. Re:Do the number of calls really matter? by hackstraw · · Score: 1

      In the case of NFS for instance, hasn't there been a performance improvement? Isn't that the thing that matters?

      Right. Actually, I would think that in general more calls between the kernel and a filesystem or any other subsystem is better than fewer. Better granularity for using SMP, multi-core, and/or hyperthreaded systems. Less time in locks. Etc.

      Sometimes its ironic how more code is faster than less.

    14. Re:Do the number of calls really matter? by Anonymous Coward · · Score: 0

      As if I could ever leave. Got you going though, fags.

      See you next tuesday, try the fish.

    15. Re:Do the number of calls really matter? by Anonymous Coward · · Score: 0

      And got modded funny. Perfectly proves his point. I'll join him.

    16. Re:Do the number of calls really matter? by yahwotqa · · Score: 0, Offtopic

      Maybe because moderating is about promoting good or bad posts, not good or bad posters. That post _was_ funny, so I don't see why shouldn't it be modded accordingly.

    17. Re:Do the number of calls really matter? by Anonymous Coward · · Score: 0

      Hah...had you going! For real, this is the last post. I swear.

    18. Re:Do the number of calls really matter? by Anonymous Coward · · Score: 5, Funny

      Hahaha disregard that! I suck cocks!

    19. Re:Do the number of calls really matter? by laejoh · · Score: 1

      I'll hold 'till Netcraft confirms!

    20. Re:Do the number of calls really matter? by Anonymous Coward · · Score: 0

      Damnit, you beat me to it!

    21. Re:Do the number of calls really matter? by Anonymous Coward · · Score: 0

      Err, In Soviet Russia Slashdot leaves Anonymous Coward?

    22. Re:Do the number of calls really matter? by Anonymous Coward · · Score: 0

      Goodbye old friend

    23. Re:Do the number of calls really matter? by DarkAvZ · · Score: 0, Offtopic

      Last time I _had_ to compile something was almost a decade ago.

      I'm a gentoo user, you insensitive clod!

      --
      09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
    24. Re:Do the number of calls really matter? by Anonymous Coward · · Score: 0

      Dude. I pwned your account.
      Hahah.
      You are now my sock puppet!

    25. Re:Do the number of calls really matter? by Anonymous Coward · · Score: 0
    26. Re:Do the number of calls really matter? by Anonymous Coward · · Score: 0

      Hi. I'm the infamous Anonymous Coward, and it's time we had a talk.

      For years now, I've been enhancing the discussion on Slashdot through interesting interjections and humorous anecdotes (often about homosexual African Americans), but I feel things just aren't working out.

      It takes me an awful lot of time, researching composing and spell chekcing the many hundreds of valuable posts I make a day, and although I don't request anything in return all I ever see is abuse. You moderate my comments down for absolutely no good reason.

      I've had enough.

      From this point on I'm just not going to bother. It's over.

      I've been feeling this way for a while, slowly I've put less and less effort in my posts, repeating the same ideas over and over and, now, even started repeating whole posts verbatim.

      It's been fun, Slashdot, but I'm disillusioned. You broke my heart, and I am never doing to give you the benefit of my insight again.

      Be happy.
      Love and regrets,
      Anon.

    27. Re:Do the number of calls really matter? by Anonymous Coward · · Score: 0

      Hahaha disregard that! I suck cocks!

      Tits or GTFO.

  2. Is this a story? by mlheur · · Score: 2, Insightful

    The briefness of the article and lack of actual functional analysis make me think this should have been a comment on the original /. article rather than a whole new article of its own.

    Slow news day?

    1. Re:Is this a story? by hedwards · · Score: 4, Informative

      I don't like that it was restricted to just Linux FSes, comparing it against ones available for other OSes, would have given it at least some context. Based upon the article, it sounds like Linux is being trounced. But, one doesn't really know because there isn't a comparison to other OSes to have any clue whatsoever.

  3. At least Reiser by Spamhead · · Score: 5, Funny

    got to make one call...

    --
    Everybody Wang-Chung tonight!
    1. Re:At least Reiser by Irongeek_ADC · · Score: 0, Redundant

      Ah, yes. Reiser, It's a killer filesystem.

    2. Re:At least Reiser by Anonymous Coward · · Score: 0

      Look for a file named House.

    3. Re:At least Reiser by Orion+Blastar · · Score: 1

      He claims he didn't do it, that it was the one armed man.

      --
      Remember, Slashdot does not have a -1 disagree moderation, and no, troll, flamebait, and overrated are not substitutes.
    4. Re:At least Reiser by Anonymous Coward · · Score: 0

      Microsoft uses it as an example of how open source can kill someone.

      Reiser Pieces it is nicknamed, because he hacked his wife to pieces, ReiserFS is nicknamed that now.

    5. Re:At least Reiser by Anonymous Coward · · Score: 1

      He claims he didn't do it, that it was the one armed man.

      I thought it was a one ARM processor

    6. Re:At least Reiser by oboreruhito · · Score: 4, Funny

      I doubt it. Too RISCy.

    7. Re:At least Reiser by GF678 · · Score: 5, Informative

      Off topic, but just in case anyone is curious as to how Hans Reiser is doing in prison...

      Not particularly well so far: http://www.kcbs.com/pages/3634907.php?

    8. Re:At least Reiser by this+great+guy · · Score: 2, Insightful

      At least he is doing better than his wife.

    9. Re:At least Reiser by mollymoo · · Score: 3, Interesting

      Being dead doesn't sound too bad to me. The process of dying almost always sucks and I don't want to be dead, but once I am dead I can guarantee you I won't give a shit about it.

      --
      Chernobyl 'not a wildlife haven' - BBC News
    10. Re:At least Reiser by martin-boundary · · Score: 2, Funny

      once I am dead I can guarantee you I won't give a shit about it.

      Don't be so sure about that...

      People often shit their pants right after they're dead, eg if they're hanged or electrocuted.

    11. Re:At least Reiser by doti · · Score: 1

      He's not a dangerous criminal that would orchestrate his gang from behind the bars, so why not give him a laptop with Internet connection, so he can keep working? He will spend a lot (possibly the rest of his life) there..

      --
      factor 966971: 966971
    12. Re:At least Reiser by eneville · · Score: 1

      The world will continue to spin without me. Unfortunately human nature tells us to avoid death. Which is sad, because death might be less painful than life very sad indeed.

    13. Re:At least Reiser by Anonymous Coward · · Score: 1, Insightful

      Prison is punishment for misdeeds as well as a place for rehabilitation. The whole point of prison is to make it an undesirable place so people won't want to go there. Otherwise, for the more antisocial that only understand cause-and-effect ethics as opposed to normal ethics, what is the deterrent factor to keep them from breaking the law?

      If Hans Reiser wanted to spend the rest of his life hacking on Linux, he should have spent less time hacking his wife.

    14. Re:At least Reiser by Just+Some+Guy · · Score: 1

      Off topic, but just in case anyone is curious as to how Hans Reiser is doing in prison... Not particularly well so far

      Moral of that incident: sometimes civilization is the only thing keeping you from getting mauled. I imagine that Hans was being Hans in front of people not constrained by the usual societal mores.

      --
      Dewey, what part of this looks like authorities should be involved?
    15. Re:At least Reiser by Anonymous Coward · · Score: 0

      Off topic, but just in case anyone is curious as to how Hans Reiser is doing in prison...

      Not particularly well so far.

      Good.

    16. Re:At least Reiser by juan2074 · · Score: 1

      It's just a matter of time until he tells the prison guards how to improve the system.

      Bet they'll love to hear his ideas.

    17. Re:At least Reiser by InverseParadox · · Score: 1

      Prison is punishment for misdeeds as well as a place for rehabilitation. The whole point of prison is to make it an undesirable place so people won't want to go there.

      Well, no, that's only part of the point.

      Another part is to make sure that those who commit a crime - say, murder - can't commit it again, by keeping them away from the opportunity to commit it.

      In this case, keeping him locked up would deny him the opportunity to kill anyone but visitors, guards, and other inmates, and it's quite possible that the benefit from letting him hack on Linux might outweigh the potential benefit of making the experience less pleasant for him by not allowing him to hack on Linux.

      --
      -- The Wanderer
  4. What? by svnt · · Score: 5, Interesting

    While OSes may be "sliming down" as the article says, what does the removal of standard db packages from Ubuntu have to do with filesystem-related kernel calls?

    The article doesn't seem to mention the possiblity that more functionality may be pushed into the kernel from userspace, which might make sense in other situations, but I don't think that argument would hold up here.

    I am struggling to make the connection between the summary and the so-called article. The fact that they are not stripping/locking fs functionality means that OSes aren't shrinking? That's the hypothesis?

    1. Re:What? by wgaryhas · · Score: 1

      One article is claiming that the OS is slimming down based on the removal of some previously bundled applications. Another article is claiming that the OS is not slimming down because the kernel is getting more complex. It all boils down to whether you consider bundled applications are considered part of the OS or not.

      --
      "For every complex problem, there is a solution that is simple, neat, and wrong." - H.L. Mencken
    2. Re:What? by jonbryce · · Score: 1

      Yes they do. It is about the only thing RMS and BillG can agree on.

  5. Where's NTFS ? by Anonymous Coward · · Score: 5, Funny

    You are kidding arent you ?

            Are you saying that this linux can run on a computer without windows underneath it, at all ? As in, without a boot disk, without any drivers, and without any services ?

            That sounds preposterous to me.

            If it were true (and I doubt it), then companies would be selling computers without a windows. This clearly is not happening, so there must be some error in your calculations. I hope you realise that windows is more than just Office ? Its a whole system that runs the computer from start to finish, and that is a very difficult thing to acheive. A lot of people dont realise this.

            Microsoft just spent $9 billion and many years to create Vista, so it does not sound reasonable that some new alternative could just snap into existence overnight like that. It would take billions of dollars and a massive effort to achieve. IBM tried, and spent a huge amount of money developing OS/2 but could never keep up with Windows. Apple tried to create their own system for years, but finally gave up recently and moved to Intel and Microsoft.

            Its just not possible that a freeware like the Linux could be extended to the point where it runs the entire computer fron start to finish, without using some of the more critical parts of windows. Not possible.

            I think you need to re-examine your assumptions.

    1. Re:Where's NTFS ? by Orion+Blastar · · Score: 5, Funny

      Dude Microsoft is giving up on NTFS for WinFS with Windows 7.0. Get your facts straight before you start to character assassinate an operating system. WinFS was to be a part of Vista, but Microsoft removed it before the retail version in order to meet deadlines.

      Did you know that Linux has limited NTFS support? I usually have to create a FAT32 partition to copy files between Windows XP and Linux. NTFS is usually read only or not available. Pfffssssttt!

      Just like wine, Microsoft will not release a finished product before its time.

      --
      Remember, Slashdot does not have a -1 disagree moderation, and no, troll, flamebait, and overrated are not substitutes.
    2. Re:Where's NTFS ? by jerep · · Score: 1

      Are you saying that this Windows can run on a computer without linux underneath it, at all ?

      There, fixed that for you, I'll leave the rest up for you to research.

      Too bad I don't have any mod points left, you deserve a +5 funny.

    3. Re:Where's NTFS ? by Anonymous Coward · · Score: 0

      Hey Darl, nice to see you're still around after the collapse of the SCO lawsuit. :)

    4. Re:Where's NTFS ? by 0racle · · Score: 0

      Would you have also modded the other copy and paste jobs funny?

      --
      "I use a Mac because I'm just better than you are."
    5. Re:Where's NTFS ? by Anonymous Coward · · Score: 0

      *whoosh*

    6. Re:Where's NTFS ? by Godji · · Score: 1

      That one's getting old, I've spent too much time on Slashdot, or both.

    7. Re:Where's NTFS ? by jaavaaguru · · Score: 4, Funny

      In Linux, the open office might be the default for editing your wordfiles, and you might prefer ubuntu brown over the grassy knoll of the windows desktop, but mark my words young man - without the windows drivers sitting below the visible surface, allowing the linus to talk to the hardware, it is without worth.

      And so, by choosing your linux as an alternative to windows on the desktop, you still need a windows licence to run this operating system through the windows drivers to talk to the hardware. Linux is only a code, it cannot perform the low level function.

      My point being, young man, that unless you intend to pirate and steal the Windows drivers and services, how is using the linux going to save money ? Well ? It seems that no linux fan can ever provide a straight answer to that question !

      May as well just stay legal, run the Windows drivers, and run Office on the desktop instead of the linus.

    8. Re:Where's NTFS ? by quickOnTheUptake · · Score: 5, Insightful

      Did you know that Linux has limited NTFS support? I usually have to create a FAT32 partition to copy files between Windows XP and Linux. NTFS is usually read only or not available.

      Have you heard of NTFS-3G?

      The NTFS-3G driver is a freely and commercially available and supported read/write NTFS driver for Linux, FreeBSD, Mac OS X, NetBSD, Solaris, Haiku, and other operating systems. It provides safe and fast handling of the Windows XP, Windows Server 2003, Windows 2000, Windows Vista and Windows Server 2008 file systems.

      --
      Mod points: Guaranteed to remove your sense of humor.
      Side effects may include gullibility and temporary retardation
    9. Re:Where's NTFS ? by Kjella · · Score: 4, Interesting

      Sometimes I wish there was a way to make my own meta-mod, like "don't include mods from the people that modded this up ever again". The same copy-paste has been in tons of stories now, and it's not funny anymore because it's the EXACT same thing. I'd even rather hear one more variation on our insensitive clod overlords from Soviet Russia.

      --
      Live today, because you never know what tomorrow brings
    10. Re:Where's NTFS ? by ADRA · · Score: 5, Informative

      1. The AC was a satire. In fact, I remember reading those exact lines at least once before. Its actually quite funny, so props to the original troll for making something really nice to read.

      2. ntfs-3g should be all you need to handle read/writes in Linux these days. I think its nested on top of fuse, so you'll probably need it as well. (Side note, glad Linus finally caved on allowing fuse into his kernel releases)

      3. WinFS is a meta-layer on top of NTFS, so not in itself a disk file-system.

      --
      Bye!
    11. Re:Where's NTFS ? by nschubach · · Score: 1

      If they were funny, I don't see why not. Same for informative, interesting, or other mods. Just because it's a cut/paste doesn't make it any less pertinent.

      --
      Every time I start to have faith in humanity, I ruin it by driving to work between 7 and 8 am.
    12. Re:Where's NTFS ? by Anonymous Coward · · Score: 0

      A happy side effect of the funny mod is that it does not add karma while all the negative mods do reduce karma. If you're tired of the soviet jokes then mod them down -- that'll give the poster a karma hit he probably won't get back. It may take a while but all the soviet pranksters will eventually get the point that posting one will cause a karma hit

    13. Re:Where's NTFS ? by Anonymous Coward · · Score: 0

      if never seen linus run on my computer!
      even though im greatful for linux and stuff i'd still beat the crap out of him for stepping on my computer!

    14. Re:Where's NTFS ? by barncha · · Score: 1

      In Soviet Russia, insensitive clod overlords copy-paste YOU!

    15. Re:Where's NTFS ? by harry666t · · Score: 1

      First, it's an old troll copy&paste shit. Your /. ID is over twice as low as mine and you still haven't ever seen that crap?

      Second,

      > Microsoft is giving up on NTFS for WinFS with Windows 7.0.

      This is simply not true. Not true on multiple levels. Windows 7 is NOT NT 7.0, it's still NT 6.x, the "7" is just marketing. Second, the "FS" in WinFS doesn't stand for "file system" but "future storage" -- think of WinFS as a sort of database where users can store "objects" like videos, songs, documents, and tag them, rate them, quickly search them, etc. NTFS is still there and is doing its job. Uh, and WinFS is vaporware.

      > Get your facts straight

      Irony, isn't it.

    16. Re:Where's NTFS ? by jonbryce · · Score: 1

      WinFS was going to be part of Windows NT 4, back in 1996.

      I'll believe it when I see it.

    17. Re:Where's NTFS ? by Anonymous Coward · · Score: 0

      Wow you sound like every libertarian slashbot ranting about how "the gubbermint" and the federal reserve are conspiring to make freedom illegal and sell our sovereignty to the UN. Well done.

      captcha: defraud

    18. Re:Where's NTFS ? by ckaminski · · Score: 1

      OS/2 lost the war because of the price of memory in 1993-1995 timeframe. It would have replaced Windows entirely if it could have run in 4MB of RAM.

    19. Re:Where's NTFS ? by Seth+Kriticos · · Score: 1

      You've go my vote for this! This stuff starts to really get on my nerves.

    20. Re:Where's NTFS ? by ckaminski · · Score: 1

      Did you know that WinFS was SUPPOSED to be in Windows 2000?

    21. Re:Where's NTFS ? by TheDauthi · · Score: 1

      It's only possible because these "Linux" guys took a lot of the code they're using from an existing company named SCO.

    22. Re:Where's NTFS ? by gparent · · Score: 1

      *whoosh*

    23. Re:Where's NTFS ? by Onymous+Coward · · Score: 1

      Say, is the NTFS-3G support (or is it ntfsprogs?) good enough to create an NTFS partition that can be used to boot Windows?

    24. Re:Where's NTFS ? by darkwhite · · Score: 0

      NTFS-3G sucks really, really hard. I tried to use it to copy a bunch of files between partitions and it left the second partition in an unusable state (basically the files were insanely fragmented and both Linux and Windows would choke just trying to read the filesystem).

      So maybe it's usable for editing small amounts of files, or files that already exist, but it is in no way a replacement for native or networked filesystems.

      --

      [an error occurred while processing this directive]
    25. Re:Where's NTFS ? by Anonymous Coward · · Score: 0

      http://talkback.zdnet.com/5206-12355-0.html?forumID=1&threadID=31199

    26. Re:Where's NTFS ? by Anonymous Coward · · Score: 0

      While I agree with all of your points I would like to point out the factual 1 error you made.

      WinFS isn't built on NTFS, it is built in Jesus him self and will be the savior of our modern times. Everything will be inferior to its might and it will be praised as the most holy of all file systems.

      At least that's how I understand it to be from the press releases. Guess we'll see in 2053 when its finally released.

    27. Re:Where's NTFS ? by Anonymous Coward · · Score: 0

      it's from the story about the kid who got busted giving out linux disks at school. it's a quote from the clueless teacher berating him about it.

    28. Re:Where's NTFS ? by Techman83 · · Score: 2

      I use NTFS-3G constantly for recovering data and also use it for external hard drives to transfer between windows and *nix machines. In it's early iterations, it was slow, but now days you can't even tell the FS isn't native.

      --
      # cat /dev/mem | strings | grep -i cat
      Damn, my RAM is full of cats. MEOW!!
    29. Re:Where's NTFS ? by WuphonsReach · · Score: 1

      OS/2 lost the war because of the price of memory in 1993-1995 timeframe. It would have replaced Windows entirely if it could have run in 4MB of RAM.

      They lost out for a few reasons in addition to that:

      - Microsoft FUD and Win95.

      - The cost of development tools were too high. Hobbyists had no cheap and inexpensive way to get started on writing applications.

      I ran OS/2 for a few years as my primary operating system (skipping directly from DOS 5.0 to OS/2 to NT v4, bypassing Win95/Win98 entirely).

      --
      Wolde you bothe eate your cake, and have your cake?
    30. Re:Where's NTFS ? by gbarules2999 · · Score: 1

      It's JerryLeeCooper, some (probably jokester) troll on ZDNet. (http://rixstep.com/1/1/20070724,00.shtml) I don't know why AC's are posting it's that teacher who took the CD's from the student a few months ago. It's not. Get your trolls straight.

    31. Re:Where's NTFS ? by gbarules2999 · · Score: 1

      I see that the freeware evangelists are running scared now that their days are numbered. In an unbiased comparison, I have independently concluded that a legally licensed Windows machine, with a faster CPU processor and RAM memory, a bigger screen and a bigger Hard Disk memory is cheaper than the ubuntu machine, because of a sound investment strategy based on felicitous risk management and foresight. You said : 'You better go back to school because your math is definitely not sound. You failed to factor in your $299 (your quote) for Vista' Not so - lets add it up again. $299 for the Vista $50 for the case $50 for the genuine Microsoft keyboard and mouse $100 for the motherboard Total = $499 What is there not to understand ? The deductivistic summation of such figures adds up to $499.

    32. Re:Where's NTFS ? by ckaminski · · Score: 1

      As a poor student at the time (well maybe not so poor, I WAS making $10/h as an intern), I purchased the Watcom 10 C/C++ compiler for OS/2, and PM Dos for $199. That's not the same as GCC today, but it's a far cry from Visual Studio Professional. :-)

      FUD + Preload is a big reason, but winos2 was amazing, and could have easily supplanted Windows had memories of the time been more prolific. That and cost... bundling did (and continues) to hide the cost of Windows.

    33. Re:Where's NTFS ? by ion.simon.c · · Score: 1

      I figured out what I was doing wrong! My karma score *really* *is* related to my performance in bed!

    34. Re:Where's NTFS ? by Anonymous Coward · · Score: 0

      Apparently it can do it (as seen on the description for ntfsprogs in ubuntu 8.04), but why does it matter? The installer really likes to format partitions for some reason

    35. Re:Where's NTFS ? by Onymous+Coward · · Score: 1

      I'm trying to clone a Windows installation and keep it up to date with periodic rsyncs, for a backup. And I'd like to do it all with free tools.

    36. Re:Where's NTFS ? by Anonymous Coward · · Score: 0

      In Soviet Russia, karma hits YOU!

    37. Re:Where's NTFS ? by anss123 · · Score: 1

      FUD + Preload is a big reason, but winos2 was amazing, and could have easily supplanted Windows had memories of the time been more prolific. That and cost... bundling did (and continues) to hide the cost of Windows.

      I tried OS/2 for the first time about a month ago. I remember wanting it back in the day when Windows 95 was brand new, so just to see what I missed I spent a couple of hours or so getting Firefox, media players, games and such to work.

      I noticed that the UI freezes when you open applications, I don't think Windows 95 did that. OS/2 also opens all apps that ran before a reboot automatically; even if doing so cause the OS to reboot. Installing software was a headache as almost every installer spat out an error that had to be resolved.

      As far as user friendliness goes I have to rate it bellow both BeOS and Windows 95, but a smidgen above AmigaOS. This makes me wonder if I would have picked OS/2 over Windows 95 given an even playing field. Windows 95 had its faults but OS/2 was not without flaws either.

    38. Re:Where's NTFS ? by Anonymous Coward · · Score: 0

      In Soviet Russia, insensitive clods YOU! ...wait, what?

    39. Re:Where's NTFS ? by Teun · · Score: 1

      Since about two years I use it to copy 250Gb hard disks with mixed content and have not found issues.

      --
      "The likes of Facebook and WhatsApp are free to those whose privacy is of zero value."
    40. Re:Where's NTFS ? by Anonymous Coward · · Score: 0

      WinFS ... IS built on an NTFS base and still uses an underlying NTFS filesystem to store the files ...Or you could use NTFS-3G to access your NTFS filesystem from Haiku and use it's native OpenBFS relational database file system dating from 1996 ....

    41. Re:Where's NTFS ? by Anonymous Coward · · Score: 0

      So, what you're saying is

      OLD?

    42. Re:Where's NTFS ? by Anonymous Coward · · Score: 0

      In Soviet Russia, system files you!

    43. Re:Where's NTFS ? by Fred_A · · Score: 1

      OS/2 lost the war because of the price of memory in 1993-1995 timeframe. It would have replaced Windows entirely if it could have run in 4MB of RAM.

      If it'd had any applications instead of being just a fancy way of running DOS and Windows apps it probably would have helped as well.

      However I remember it ran some fairly demanding games of the time just fine *windowed* (like Wing Commander) which I found to be fairly impressive at the time.

      Still, running OS/2 to run Windows didn't make much sense.

      --

      May contain traces of nut.
      Made from the freshest electrons.
    44. Re:Where's NTFS ? by Anonymous Coward · · Score: 0

      You are kidding arent you ?

      Are you saying that this linux can run on a computer without windows underneath it, at all ? As in, without a boot disk, without any drivers, and without any services ?

      That sounds preposterous to me.

      If it were true (and I doubt it), then companies would be selling computers without a windows. This clearly is not happening, so there must be some error in your calculations. I hope you realise that windows is more than just Office ? Its a whole system that runs the computer from start to finish, and that is a very difficult thing to acheive. A lot of people dont realise this.

      Microsoft just spent $9 billion and many years to create Vista, so it does not sound reasonable that some new alternative could just snap into existence overnight like that. It would take billions of dollars and a massive effort to achieve. IBM tried, and spent a huge amount of money developing OS/2 but could never keep up with Windows. Apple tried to create their own system for years, but finally gave up recently and moved to Intel and Microsoft.

      Its just not possible that a freeware like the Linux could be extended to the point where it runs the entire computer fron start to finish, without using some of the more critical parts of windows. Not possible.

      I think you need to re-examine your assumptions.

      From your statements, it seems that you have no idea of what Linux is.

      First of all Linux is not "freeware" (freeware are programs distributed "free of charge" in binary executable form typically only for non-commercial use).

      Linux is "free software" ("free" as in free speech not free beer) - meaning the source code is available and you are free to modify and / or redistribute for any purpose including business. Check out:

      http://www.gnu.org
      http://www.gnu.org/philosophy/misinterpreting-copyright.html

      Linux runs my computer from start to finish. No windows underneath it. I can check emails, browse the web, create documents, spreadsheets, presentations, play far more formats of audio and video than Microsoft supports. Matter of fact using Xen virtualization software, I can run Windows with Linux underneath!

      I can also do advanced stuff - like run a webserver, or run a database server, do advanced programming in multiple languages, rescue data from crashed disks the list goes on and on. Matter of fact typical Linux installations come with thousands of packages and multitude of features, ALL FOR FREE (free as in free speech AND as in free beer). Most of these features you can only dream of in Vista! (and that's after you've paid through your nose for it).

      Also, Linux supports far more kinds of computers than Microsoft Windows does.

      I've also worked in corporations where all of their servers run on Linux - everything from database servers, web servers, proxy servers, file servers and so on. Matter of fact, servers running linux/unix boxes are still way ahead when it comes to reliability, scalability, security and performance compared to Windows boxes. For example, Google's humongous search engines run on thousands of servers running a modified version of Linux.

      The fact that Microsoft spent billions of dollars on Vista (meaning paying the bonuses of fat cat managers) doesn't make it any better OS. Matter of fact Linux has Unix heritage, and Unix has been the benchmark in high-performance computing - meaning Linux is not "some new alternative just snap into existence". If anything, it is Microsoft, which is an upstart trying to graduate from selling a very low-end operating system for very low-end computers to fairly reliable systems for today's high-powered machines.

      To be fair, in my opinion, the only two products/technologies where Microsoft is better compared to free software are true-type fonts and Microsoft Office suite - bu

    45. Re:Where's NTFS ? by Anonymous Coward · · Score: 0

      ARE YOU SMOKING CRACK?

      LINUX uses it's own drivers for everything.
      Except in cases where there is no a suitable wireless driver available for some cards with closed specs. In that case the kind LINUX folks have provided a LINUX wrapper called NDISWRAPPER for loading those windows drivers into the kernel. But this is only used in extreme circumstances and has nothing to do with the windows services bullshit you just mentioned as LINUX has it's own services.

      Your assumption that no other operating system can exist without the need for windows is flawed and completely preposterous. Quite the contrary it's often M$ that steals services from other operating systems. For example windows would not have even gotten on the internet at all without the network stack and code from UNIX and wouldn't have Active Directory if they didn't get that from Novell. They stole the GUI from the P.A.R.K. project and coned dos off of V.A.C. And the list continues...

      Please think a moment before making ignorant comments.

      Thanks

  6. Thoughts by stevied · · Score: 4, Informative

    Thoughts:

    - This is measuring, I believe, calls to different functions; a call to one function from multiple places is only counted once. So it's really a measure of the diversity of external calls.

    - Size and complexity aren't necessarily the same thing. It's actually possible that as common functionality is abstracted out of filesystems, they get smaller but make more external calls. There was a point a few years ago when this was happening at quite a rapid pace in the fs code, I don't know if it is still true.

    - Journalled filesystems and networked filesystems are pretty complex creatures by their nature, the quoted numbers don't seem unreasonable. NFS in particular implements (IIRC) protocol versions 2, 3 and 4, and 4 had a lot of new stuff.

    1. Re:Thoughts by morgan_greywolf · · Score: 4, Interesting

      In fact, if you think about it, the greater the number of different functions a filesystem driver uses, the less functionality it needs to have within itself. I also don't think the number of external calls is a significant measure of anything related to the size or performance, really. It all depends on what calls are being made and for what purpose.

      If anything, as you imply, it's a measure of complexity. But even that might not really be the case if you stop and think about it. As more stuff is abstracted out, the less code goes into the filesystem code, the simpler, really, not more complex that filesystem driver becomes.

      I think this was a really poor choice of metric and that almost renders this entire article moot.

    2. Re:Thoughts by stevied · · Score: 2, Informative

      Yeah. There was a stage (starting in the 2.3 days, I think) where the kernel gradually grew a very complete "framework" which the filesystems just plugged into, basically filling in the gaps. Straightforward, unixy filesystems became ridiculously simple to implement, and even the more complex ones got a lot of non-essential complexity combed out. Of course, there were a fair few specialized callbacks and utility functions made available to the fs code as part of this, and that may have pushed the unique call count up.

  7. Re:The hairy state of Linux users by Anonymous Coward · · Score: 0

    I've never seen a slim neckbeard

  8. Yes/no by EmbeddedJanitor · · Score: 3, Insightful
    The number of calls in the interface do matter because they increase complexity. This makes fs maintainability and development a bit harder from version to version as it gets less clear what each call should do. Many of the calls are optional, or can be performed by defaults, which does help to simplify things.

    There is little calling overhead from using multiple calls. Of course these interface changes are all done for a good reason: performance, stability, security.

    --
    Engineering is the art of compromise.
    1. Re:Yes/no by shish · · Score: 2, Insightful

      The number of calls in the interface do matter because they increase complexity

      Replacing 100 lines of in-driver code to one function call from a shared library?

      --
      I mod down anyone who says "I will be modded down for this", regardless of the rest of their comment
    2. Re:Yes/no by Yokaze · · Score: 4, Interesting

      > The number of calls in the interface do matter because they increase complexity.

      That is only true, if a similar functionality is provided and the function-calls are of similar complexity (e.g. number of parameters, complexity of arguments.

      To my limited knowledge, over work has been done to extract more common functionality from file-systems. Should that be the the case, it would increase the number of function calls, but reduce the overall complexity.

      --
      "Between strong and weak, between rich and poor [...], it is freedom which oppresses and the law which sets free"
    3. Re:Yes/no by Suzuran · · Score: 4, Insightful

      Function calls are not free. Especially in kernel space. Everything costs time. You need to do the most you can with the least instructions. 100 lines of inline code will probably run faster than a function call.

    4. Re:Yes/no by ckaminski · · Score: 4, Informative

      Okay, you MIGHT, just MIGHT have a point with a microkernel architecture, or if the filesystems are implemented in user space (Fuse), but is irrelevant in kernel modules in Linux - you're not crossing interrupt boundaries, so calling a kernel function is just as cost effective as rolling your own.

    5. Re:Yes/no by CarpetShark · · Score: 1

      To my limited knowledge, over work has been done to extract more common functionality from file-systems. Should that be the the case, it would increase the number of function calls, but reduce the overall complexity.

      Or in other words, it's a bit dumb to take communication between modules as a measure of complexity, when modules are part of good non-monolithic design, which Linux has been deliberately moving towards for years.

    6. Re:Yes/no by 0xygen · · Score: 1

      Have a think about what keeping code very local may do for you, specifically, bear in mind the size of the cache lines and length of the pipeline in today's processors.

    7. Re:Yes/no by Daniel+Phillips · · Score: 4, Informative

      Function calls are not free. Especially in kernel space. Everything costs time. You need to do the most you can with the least instructions. 100 lines of inline code will probably run faster than a function call.

      Never having been one to accept unsupported claims at face value, I just tested that assertion on a Pentim-M here, with a small C program that either calls a function to increment a counter, or directly increments the counter a number of times. I compiled with O0 to be sure gcc does not change around my code at all. Just the instructions, thanks. Funny thing? A hundred increments runs within 1% of the speed of 100 calls to a function to do the increment. And yes I unrolled those calls to isolate the cost of what I was measuring. So... rather surprisingly, the cost of these function calls is as close as doesn't matter, to exactly zero.

      Loops on the other hand... cost a huge amount. I won't get into details. But Intel clearly does something to optimize function calls in microcode, or probably even hardware. Function calls just don't cost what you think they do. In many cases, the function call will cost less by not trashing as much of that incredibly valuable L1 instruction cache.

      --
      Have you got your LWN subscription yet?
    8. Re:Yes/no by thc4k · · Score: 2, Funny

      If only compilers could read wikipedia, then they knew that they could inline function calls.

    9. Re:Yes/no by hackerjoe · · Score: 3, Insightful

      What's your point? Processors can pipeline across branches just fine, and the main effect of cache is to give a performance boost to smaller code -- code that separates and reuses functions rather than inlining them willy-nilly.

      Inlining can still be a win sometimes, but compilers will do that for you automatically anyway...

    10. Re:Yes/no by ckaminski · · Score: 3, Interesting

      Nevermind the fact that modern processors can cache the entirety of the Linux kernel.

      Simplicity of code is nearly always better than premature and not necessarily useful optimizations.

    11. Re:Yes/no by lordSaurontheGreat · · Score: 1

      You would love a Duff loop.

      --
      Consider yourself spoken to.
    12. Re:Yes/no by Zan+Lynx · · Score: 3, Interesting

      I believe I read somewhere or other that branch predictors need a certain number of instructions between the branch instruction and the branch target in order to do a good job. If the only instruction in the loop is a single increment, that might explain the problem. Unrolling the loop so it has more instructions might fix it.

    13. Re:Yes/no by Z34107 · · Score: 3, Interesting

      So... rather surprisingly, the cost of these function calls is as close as doesn't matter, to exactly zero.

      If the compiler knows the relative address of the function ahead of time, they are really fast.

      Try replacing your direct function call with a function pointer instead. Assign the function pointer the address of your function during runtime. It will be many orders of magnitude slower.

      Not sure why this is; just something I discovered the hard way.

      --
      DATABASE WOW WOW
    14. Re:Yes/no by Anonymous Coward · · Score: 0

      This is one of the most ridiculous tests I've seen. Not only is it inaccurate in it's attempt to actually model the problem, it's also giving false statistics to the real problem.

      You have only proven that a simple software program that does not jump out of L1 cache can allow the hardware to utilize it's pipeline.

      Most software cannot be minimized to such a trivial state. Moreover most software is not written to take advantage of the hardware available. It is written to functionally work in spite of the hardware.

      If you really want some good statistics, I would suggest looking up true benchmarking tests and picking up a book on cpu architecture. Then after you've taken the time to learn a few things, you can come back and give a better viewpoint.

    15. Re:Yes/no by Daniel+Phillips · · Score: 2, Interesting

      Try replacing your direct function call with a function pointer instead. Assign the function pointer the address of your function during runtime. It will be many orders of magnitude slower.

      It goes faster as an indirect functional call if anything. Go figure.

      Anyway... orders of magnitude difference? Under some other rules of physics maybe. It would probably be a good idea to compile and time your program, as I did.

      --
      Have you got your LWN subscription yet?
    16. Re:Yes/no by ultranova · · Score: 3, Insightful

      Funny thing? A hundred increments runs within 1% of the speed of 100 calls to a function to do the increment. And yes I unrolled those calls to isolate the cost of what I was measuring. So... rather surprisingly, the cost of these function calls is as close as doesn't matter, to exactly zero.

      Not at all surprisingly, since 100 function calls and 100 integer additions will take so little time on a modern processor - and, I suspect, would even on an 8088 - that they amount to a rounding error. The machine's clock doesn't have sufficient resolution to measure them. You'd need a hundred million for a meaningful comparison.

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    17. Re:Yes/no by pz · · Score: 1

      Never having been one to accept unsupported claims at face value, I just tested that assertion on a Pentim-M here, with a small C program that either calls a function to increment a counter, or directly increments the counter a number of times. I compiled with O0 to be sure gcc does not change around my code at all. Just the instructions, thanks. Funny thing? A hundred increments runs within 1% of the speed of 100 calls to a function to do the increment. And yes I unrolled those calls to isolate the cost of what I was measuring. So... rather surprisingly, the cost of these function calls is as close as doesn't matter, to exactly zero.

      Except that (1) unless you look at the assembly code produced by the compiler, you don't actually know if what was generated matches your model of what was generated, and (2) this isn't a good test, since if you were to actually write code like this and allow a good optimizer to run on it, with a function call, you'd have the overhead of 100 function calls -- no matter how small -- and yet incrementing a variable 100 times in inline code will be optimzied out to a single assembler instruction on an x86 architecture (read value from memory, add constant, write new value back to the same location; that can be done in exactly one instruction). By putting the function call in the way, the compiler isn't going to be able to perform such a winning optimization.

      So function calls, even with an extremely low run-time overhead, have real cost because they tend to be a barrier to optimization.

      My experience is that loops are essentially free of overhead (at least with Microsoft's compiler). I have one beautiful example where the brain dead version of a loop in C code runs faster than my manually unrolled and aggressively optimized version. MS must have put a lot of effort into recognizing those brain-dead C idioms and optimizing the snot out of them. (If anyone reading this hasn't tried the MS C compiler recently, you definitely should; unlike their OS, their C compiler is damned good.)

      --

      Put my fist through my alarm clock with its ding-dong death inside my ear. - The Blackjacks.
    18. Re:Yes/no by Eravnrekaree · · Score: 1

      Often times seperating different parts of the system into subsystems can make things easier to maintain than having a big ball of spaghetti code, and more bug free. For a negligable performance cost this can be a reasonable trade off.

      As far as function calls I imagine it in part has something to do with how the compiler compiles code and the cost of the CPU to perform various operations such as a jump or call instruction. It would be interesting to see comparisons of performance costs for those. A call probably can be emulated with a jump if that turns out to be faster for instance. Optimisation can involve finding what the fastest way to do things on the CPU is.

      As far as the size issue, using size as a major engineering requirement is probably not a good idea. Software should be written to do what the user needs to do and to implement features well and in a useable way, to give the user power and flexibility, and freedom. Features and functionality should not be removed and useability not comprimised for what are usually incosequential savings in size or cycles. Its important that code manages memory well and that free() is used properly, more than making software so stripped down its unuseable crap. Its absurd to remove 1 mb of code for a backwards compatable interface from X, breaking older apps, when at the same time X from startup wastes about 300 MB of space do to memory mismanagement. The way X is being managed is completely wrong, its less backwards compatable than ever and it takes up 20 times more memory than it did when i used Xfree86. X.org is total crap and its developers just dont seem to care. They break older applications by removing backwards compatability instead of fixing the memory leaks. So we end up with junk, incomptable, sloppy, memory hogging crap. We have seen with with KDE and Gnome, and Ubuntu which are mostly unuseable garbage in my opinion. Most of the time its so inflexible i cant make it do what i want and I have better things to do than to spend hours messing around with retarded inflexible GUIs and arcane configuration files.

      A fallacy is that fewer features means easier to use, which is wrong. In fact if you make the user interface so inflexible and uncustomisable it becomes pretty much a pain in the ass to use and try to make work the way you want. Useability is not in small number of features but it is instead in layout, placing more commonly used features up front and others in advanced screens, but allowing everything to be as configurable as possible. really a system needs to be both new user friendl and expert friendly, which means the system should come with reasonable defaults, but the user can configure as little or as much as they want. Everything should be possible in both CLI and GUI, and all user interfaces should have advanced modes for advanced users who need total control.

      This idea of making things so inflexible and having so few capabilities, Thats the big danger i think and could really do a lot of harm to Linuxs functionality. Especally if linux wants to compete it needs to, it must be able to maintain backwards compatability and be able to run older programs and drivers out of box, this is what average users expect to do. Average users do sometimes want to use a hardware device or a software program and sometimes there are not open source alternatives. Backwards compatability in Linux should be a major goal. It is important to keep older FSs and interfaces avialable for old programs anr reading older data.

    19. Re:Yes/no by 0xygen · · Score: 1

      If the branches are local, yes of course they can, that's the whole point of the dedicated branch prediction part of the pipeline.

      The point was that if the area you're branching into is a cache miss, you lose a whole bunch of cycles which cannot easily be caught up.

      If we assume it's a cache hit, due to the size of the pipeline, you gain a significant amount of performance.

      As an aside, compilers do not optimise kernel functions inline into dynamically loadable modules, e.g the filesystem drivers we were discussing a few GPs up. This will online occur if they are explicitly inlined.

    20. Re:Yes/no by 0xygen · · Score: 1

      oops, typo... s/online/only/

    21. Re:Yes/no by Anonymous Coward · · Score: 0

      You probably have a build setup set to produce executable as slow as possible. Any optimizing C++03 compiler should optimize out this function pointer. Also I don't know where you get the idea of the assigning the function pointer "during runtime". It all happens during COMPILE TIME. If you're hinting at some dynamic function indirection using virtual methods then you neglected to mention it. Whats more likely is that it looks like you lack some basic knowledge of compilers.

    22. Re:Yes/no by Z34107 · · Score: 1

      Anyway... orders of magnitude difference? Under some other rules of physics maybe. It would probably be a good idea to compile and time your program, as I did.

      It was for a lab many years ago for Data Structures class. We were supposed to time how long it took to sort a 500,000 record array with different sorting techniques, and there was some stuff about big-O notation thrown in for good measure.

      I figured I could have a function pointer point to a function that implemented each test - that way I could make my timing code more generic; just pass it in the sorting function to time.

      It took upwards of 5 minutes on the n^2 test. That same test took seconds calling it directly. That's a magnitude.

      --
      DATABASE WOW WOW
    23. Re:Yes/no by Anonymous Coward · · Score: 0

      This surprised me enough that I did some testing, and it looks like your theory might be true. Certainly the parent's case is degenerate in some way. Function calls are not free on x86 or any other architecture - they take on the order of dozens of operations, in general.

    24. Re:Yes/no by Azverkan · · Score: 1

      This is wildly dependent on whether your function call needs to store parameters on the stack and how slow a load-hit-store operation takes on the processor in question. Recent x86 processors are heavily optimized for these types of operations, but you cannot assume that the only platform your kernel is going to run on is x86 based.

      You can easily execute 50+ non-dependent math operations in the amount of cycles that a single load-hit-store can take on a processor that isn't as heavily optimized as x86.

      This is also one of the reasons why algorithms in C that do not need to reserve an extra register for the "this" pointer can easily outperform the same code written in C++ that requires the use of "this" pointers. With OOP in C++ you need to write everything as "statics" in order reduce the number of registers needed per function call to match the performance of C (GCC is rapidly improving lately and soon this may no longer be necessary).

      Storing information on the stack from a register and reloading that same information near the top of the callee is very similar to what is described with float to integer conversions in the article below.

      http://assemblyrequired.crashworks.org/tag/lhs/

    25. Re:Yes/no by Anonymous Coward · · Score: 0

      adding more instructions inside the loop won't make the loop run faster. what it will do is replace some of the processors wasted time with (potentially) useful instructions. If there is work to be done in the loop, by all means do it. Don't, however, add instructions to a loop under the notion that it will speed up your application

  9. not following by Eil · · Score: 5, Insightful

    What's your argument here? That filesystem code in the kernel shouldn't be growing more sophisticated over time?

    This rings of the armchair-pundit argument that the kernel is getting more and more "bloated" and a breath later crying out that there still aren't Linux hardware drivers for every computing device ever made.

    1. Re:not following by shentino · · Score: 1

      I have a good idea to get the drivers while still eliminating the bloat.

      Have an option to compile the kernel during installation, based on detected devices.

    2. Re:not following by doshell · · Score: 4, Insightful

      I have a good idea to get the drivers while still eliminating the bloat.

      Have an option to compile the kernel during installation, based on detected devices.

      And then whenever you buy a new webcam, replace your graphics card, or whatever, the kernel must be recompiled. People will love that.

      Also: the Linux kernel is modular. This means you don't actually hold in memory, at every time, the drivers to all the hardware devices known to man. Only those your machine actually needs to run. The remaining are just files sitting on your hard disk, ready to be loaded should the need arise. This is an adequate way to keep down the bloat while not inconveniencing the user every time a new piece of hardware pops up.

      --
      Score: i, Imaginary
    3. Re:not following by BitHive · · Score: 1

      Remember this the next time you see an apoplectic rant against "big government"

    4. Re:not following by againjj · · Score: 1

      I have a good idea to get the drivers while still eliminating the bloat.

      Have an option to compile the kernel during installation, based on detected devices.

      And then whenever you buy a new webcam, replace your graphics card, or whatever, the kernel must be recompiled. People will love that.

      You're right. JITs are horrible.

    5. Re:not following by setagllib · · Score: 1

      Why would you want a JIT to recompile code when you can just plug pre-compiled code in on demand? Modular kernels are the norm and Linux is the most modular of all. The only reason you might want a JIT is to "efficiently" patch code from one hard-coded path to another, and in general, the JIT penalty is likely to outweigh the benefit of the optimisation. The only real-world case I know from recent times is Linux self-patching at runtime to turn off heavyweight SMP locking.

      --
      Sam ty sig.
    6. Re:not following by againjj · · Score: 1

      JITs are nice because you can dynamically remove code that is never going to be used, optimize for the typical path, optimize for hardware even if you don't know the hardware on compilation, produce a binary that runs on multiple platforms, etc. etc. etc. If you do not see how a JIT can be useful, then you probably don't understand why Java and .NET (two name two well know examples) use JITs either. Doing something dynamically is not automatically a stupid thing. I don't compile my kernel when installing, but it would be cool to have an automatic compile when installing or when things change. The latter part is necessary for a proper implementation and addresses doshell's complaint. Oh, and though the kernel is "modular", not everything is in modules, so there is a definite footprint savings, too.

  10. The state by hkb · · Score: 5, Funny

    The state of Linux filesystems may be in disarray, but it's nothing to kill your wife over...

    *rimshot*

    --
    /* Moderating all non-anonymous trolls up since 2004 */
  11. What does this even mean? by Anonymous Coward · · Score: 2, Insightful

    Not being a filesystem/db geek, I honestly can't tell if "speed of growth" refers to "how frequently it's updated" or to "how rapidly it allocates space to store things". And I don't understand what the number of external calls means at ALL. Is that a bad thing? A good thing? Why? Can someone please provide some context? This doesn't have any at all!

    1. Re:What does this even mean? by svnt · · Score: 2, Informative

      Unfortunately all "speed of growth" is referring to is the rate of increase of the number of filesystem kernel calls of a particular filesystem from version 2.6.11 to 2.6.28 of the Linux kernel.

      Nothing to do with any sort of performance metric.

    2. Re:What does this even mean? by setagllib · · Score: 1

      It's all just refactoring and adding new features. These are generally accepted as good things. The article is a troll looking for ad revenue.

      --
      Sam ty sig.
  12. wrong data by Anonymous Coward · · Score: 0

    as so often with linux stuff can be configured, when the kernel is compiled you can disable lots of stuff the filesystems use (acl, security hooks, etc etc). Bet with that stuff disabled the chart looks way better

    1. Re:wrong data by jedidiah · · Score: 2, Interesting

      Nevermind COMPILING stuff. You can just plain choose not to USE stuff.

      Don't want the "bloat" of NFS or ext4, then don't bloody use them.

      Yeah, the spiffy new things or inherently complex things might
      show that complexity in the code. Imagine that. The source for
      Halo looks bigger than the source for Pacman.

      There is no news here.

      As an nvidia user, ATI can make their Linux drivers as bad and
      as bloated as they want. I don't care. It really doesn't effect
      me.

      --
      A Pirate and a Puritan look the same on a balance sheet.
  13. Operating System Bloat by Orion+Blastar · · Score: 1

    Microsoft has been known to use FAT file systems, FAT16, VFAT, FAT32, with NTFS I was able to allow my Windows to go on a diet. :)

    No really we don't need extra features for an operating system, make them optional and don't load them up at default. Maybe make most things a kernel module that only loads when it is used.

    Bloating the Operating System with uneeded features is just plain stupid. Windows 2000/XP is most anyone needs for Windows, everything else is just Fat on the operating system and slows it down with bloated features most people don't need.

    --
    Remember, Slashdot does not have a -1 disagree moderation, and no, troll, flamebait, and overrated are not substitutes.
    1. Re:Operating System Bloat by The+End+Of+Days · · Score: 2

      I'll thank you not to tell me what I need in the future, no matter how amazingly insightful you find your own opinion on the matter.

  14. Check out Tux3 by Daniel+Phillips · · Score: 4, Informative

    While Tux3 is not yet ready to run on your desktop, and won't be for a good many months, it is relatively trim at around 6K lines, and is expected to be somewhere around 10K complete with versioning, recovery and proper code comments. Of course, that will still be significant growth in a few months, and nothing says it won't just keep growing. But Tux3 is starting much smaller than its peers, and already has a pretty good range of "big filesystem" features. One of our guiding principles is to keep it tight, therefore leaving fewer places for bugs to hide.

    --
    Have you got your LWN subscription yet?
    1. Re:Check out Tux3 by The+Master+Control+P · · Score: 3, Funny

      But Tux3 is starting much smaller than its peers, and already has a pretty good range of "big filesystem" features.

      Let us count the number of fast, slim projects have been sucked down this way...

      Programmer: "This shit is bloated. I'm starting a new project that will be slim and fast"
      <type type type>
      <build build make>
      User 1: "This is really nice and fast, but I need feature X"
      <add add add>
      Users 2 & 3: "I'd use it, but I really love $OTHER_PROGRAM's Y"
      Programmer: "Grrr..."
      <add add add>
      User 4: "I've heard that Z is doing $SPIFFY, why doesn't this do that?"
      <type type add add add add build>
      User 5: "This is all big and slow and bloated... I'm going with N instead..."
      Programmer: "Fuck you! Fuck you all motherfuckers!"

      Not to say that Tux3 will go or is going this way. Indeed, as long as people stick around who remember the guiding principle of keeping it small it shouldn't. Best of luck!

      /ext2fs fanatic
      //I can shredses the files... yes I can, and I know it will workses...

    2. Re:Check out Tux3 by Anonymous Coward · · Score: 0

      Wasn't Tux a kernel-based webserver? And now Tux3 is a file system? Who's the fucking brainwave who came up with that name?

    3. Re:Check out Tux3 by Daniel+Phillips · · Score: 1

      Wasn't Tux a kernel-based webserver? And now Tux3 is a file system?

      You may be thinking of TUX, an unrelated project. Tux3 is the successor to Tux2 which I prototyped and announced in 1998, well before there was any TUX kernel web server project. Tux2 was based on Ext2... Ext2 => Tux2. Now, Ext3 is Tux3's closest relative in terms of functionality.

      Incidentally, I think that is where the pattern ends. The successor to Tux3 will be Tux3 version 2, unless we break backward compatibility, which is not in our plans. We probably will change the logging format from time to time, but the base filesystem tree structure is so simple it will be easy to maintain compatibility with it forever.

      --
      Have you got your LWN subscription yet?
    4. Re:Check out Tux3 by RichiH · · Score: 1

      Do what Vim and irssi do. Banish non-core stuff into modules/plugins/whatever. Not quite sure how feasible this is for a FS though Reiser4 had that as one of its design decissions.

  15. Re:File systems? We can have as many as possible.. by AvitarX · · Score: 1

    What you described sounds like upgrading to an alpha version of Ubuntu, with 3rd party packages.

    I have not seen conflicts like that when using official distros (of any type) though.

    --
    Wow, sent an e-mail as suggested when clicking on "use classic" banner, and got a fast response that addressed my msg
  16. Okay... by jonaskoelker · · Score: 1, Redundant

    I'd even rather hear one more variation on our insensitive clod overlords from Soviet Russia.

    In Soviet Russia, insensitive overlords run Linux without windows on YOU!!

  17. "Size" and "simple" is not so easily measured. by Vellmont · · Score: 2, Insightful

    The author of the article takes the position that filesystem external calls == "operating system size", and then proceeds to start measuring his new definition.

    What he never mentioned or even tries to justify was his metric. Why does more external calls (or as someone more accurately pointed out, diversity of external calls) equate to "operating system size"? Why does this equate to an even more abstract concept of "simple"?

    I don't see any reason to equate these measurements to such conclusions. "size" and "simple" are abstract concepts that involve a lot more than a simple count of external references.

    --
    AccountKiller
  18. Aren't 1% of the calls doing 99% of the work? by wsanders · · Score: 1

    Or some such arbitrary statistic?

    --
    Give a man a fish and you have fed him for today. Teach a man to fish, and he'll say "WHERE'S MY FISH, YOU IDIOT?"
    1. Re:Aren't 1% of the calls doing 99% of the work? by Anonymous Coward · · Score: 0

      I really want my filesystem to do 100% of the work...

    2. Re:Aren't 1% of the calls doing 99% of the work? by Daengbo · · Score: 1

      Since this article is somehow supposed to be about "slimming OSes," I'd like to point out that Debian Lenny now has the option to install a full set of drivers or only drivers for your specific hardware. That will cut a few MBs off of your install.

  19. Re:File systems? We can have as many as possible.. by bogaboga · · Score: 1

    The trouble is packages are advertised as Linux packages. Now, Joe Public knows he has Linux in Ubuntu (and he's right), so he goes ahead to install the package. Why? Because Ubuntu does not have the package he's trying to install. He then runs into all sorts of trouble. Right?

  20. Re:File systems? We can have as many as possible.. by godrik · · Score: 1

    never happened to me.

    BTW, what's the point ? and how is it related to the growth of operating systems ?

  21. Bloat? I didn't see anything about that! by morgauo · · Score: 2, Insightful

    I didn't see anything in the article where the author made a value statement, that it is bad (or good) that system calls are increasing. He was just pointing out that the trend is not towards simplicity in this area.

    I would also point out, that ext4 is very new and ntfs may not be new but never has been quite completed so active feature development could explain away the upward curves in their call counts, though not the absolute values.

  22. Remember: filesystems are optionnal by renoX · · Score: 2, Interesting

    I think that you can compile only the filesystem you want in the kernel..
    So the only complexity which matter to an user is the one of the filesystem they select to compile in the kernel!

  23. Original reference for this post ? by DrYak · · Score: 2, Informative

    Sorry to disrupt the trolling copy-pasta, but :
    Is this post on ZDNet's forum the original form of this troll ?
    Or is this troll older, and jerryleecooper was already copying it from somewhere else ?

    I'm just curious to know where this fine piece of humorous trolling was originally born.

    --
    "Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
    1. Re:Original reference for this post ? by Anonymous Coward · · Score: 0

      Yessir, ZDNet is the origin.

      P.S., my captcha is "trolley" :)

    2. Re:Original reference for this post ? by Anonymous Coward · · Score: 0

      If it's getting a bit long in the tooth and needs replacing, I'd suggest something more recent like

      At this point, I am not sure what you are doing is legal. No software is free and spreading that misconception is harmful.

      Children look up to adults for guidance and discipline. I will research this as time allows and I want to assure you, if you are doing anything illegal, I will pursue charges as the law allows. I along with many others tried Linux during college and I assure you, the claims you make are grossly over-stated and hinge on falsehoods. I admire your attempts in getting computers in the hands of disadvantaged people but putting linux on these machines is holding our kids back.

      This is a world where Windows runs on virtually every computer, and putting on a carnival show for an operating system is not helping these children at all.

    3. Re:Original reference for this post ? by ascendant · · Score: 1

      Jerry Lee Cooper is the original source of the text. His website used to be here only weeks ago.
      This seems to be a mirror of some of the content on the original site.
      I was on 4chan the day they found him. It's exploded across the internet since then.

      --
      Do not attribute to malice that which can be easily explained by incompetence.
    4. Re:Original reference for this post ? by gbarules2999 · · Score: 1

      That's the original version.

    5. Re:Original reference for this post ? by Anonymous Coward · · Score: 0

      i think jerryleecooper will be remembered as an internet hero (yea i wish)

  24. Re:File systems? We can have as many as possible.. by jedidiah · · Score: 1

    Perhaps you can provide a real world example of this since the rest of us
    seem to be baffled by the idea, having never actually experienced it ourselves.

    --
    A Pirate and a Puritan look the same on a balance sheet.
  25. Reiserlazer by Teisei · · Score: 2, Funny

    Imma firin' mah Reiser!

  26. Re:Where's NTFS ? I LOL'ed by Anonymous Coward · · Score: 0

    LOLOLOLOL good one, had me going for a minute

  27. Bring back Reiser! by EddyPearson · · Score: 1

    We need that Reiser fella on this pronto.

    So what if he killed his wife, he still makes a damn fine filesystem. Reiserfs 3 was a good bit of kit.

    I'd imagine he has time on his hands at the moment, does anybody know if he's expressed an interest in/allowed to continue development of Reiserfs 4?

    --
    You feel sleepy. Close your eyes. The opinions stated above are yours. You cannot imagine why you ever felt otherwise.
  28. Re:"Size" and "simple" is not so easily measured. by sexconker · · Score: 0, Flamebait

    ""Size" and "simple" is not so easily measured."

    Says the retard with the tiny dick.

  29. Goofy metric, too. by Ungrounded+Lightning · · Score: 4, Insightful

    Unless I've misread it, TFA's definition of "size" for a filesystem is "how many distinct external/kernel subroutines does it call?"

    That seems to be a very strange metric. Seems to me that a well-designed filesystem will have little code and make extensive (re)use of well-defined services elsewhere (rather than reinventing those wheels). This "slims" the filesystem's own unique code down to its own core functionality.

    Now maybe, if the functions are hooks in the OS for the filesystem, a larger number of them implies a poorer abstraction boundary. But it's not clear to me, absent more explanation, that this is what TFA is claiming.

    --
    Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
  30. I have a question by hairyfeet · · Score: 1

    How does the Linux file systems compare to Mac and Windows? I mean it might help get some perspective if we knew what the numbers for the 3 major OSes are. How about Mac and Win server? While these numbers might mean a lot to hardcore Linux gurus to a jack of all trades guy like me it doesn't really tell me a lot without a couple of the competitors to compare it to. But maybe it is just me.

    And it might also be just me but the formatting on the chart made it a little hard for me to read. pretty much all gray except for the three that he wanted to highlight in red. I mean for all i know there could be tests for Mac and Windows in there but his text was so tiny on my 1024x768 laptop screen that I frankly couldn't tell exactly what line was for which.

    --
    ACs don't waste your time replying, your posts are never seen by me.
  31. Re:File systems? We can have as many as possible.. by gbarules2999 · · Score: 1

    Because when all those millions of Joe Public's upgraded from XP to Vista or Win7, everything worked swimmingly out of the box, right?

  32. Re:File systems? We can have as many as possible.. by AvitarX · · Score: 1

    In my life I have installed the following Linux "Packages" that were not part of the distro, but I wanted (the great thing with Linux is that it is rare, and it becomes more-so with time).

    The results were:
    Simcity 2000(3000maybe?) it needed a download from the companies website to install, it was old and my CD was not compatible with new Linux.

    Myth2,same

    Nvidia drivers, no effort at all, just run the installer, this was across many distros.

    Return to Castle Wolfenstein: Enemy Territory, Run the install, no problem. It ran into issues with newer distros and pulseaudio though.

    Enemy Territory: Quake Wars, No trouble that I recall.

    As I said, the only issue I have ever had with circular dependencies is when using a distro in alpha stage, and not in anything official. In those cases I usually only need to wait a couple of days for it to be resolved. Of course I can't imagine I could ever get SimCity to work today.

    --
    Wow, sent an e-mail as suggested when clicking on "use classic" banner, and got a fast response that addressed my msg
  33. As long as the number is not ... by sam0737 · · Score: 1

    climbing higher than the Moore's law, that's fine!

    I don't mean the developer could write ugly code because we have faster CPU. I mean, if implementation of more functionality is necessary, more code and call is needed and that's fine to me.

    I am happy to trade my CPU time for harddrive access, which the access speed didn't follow the Moore's law.

  34. You see, this is "you guys" problem by PaulCarroll · · Score: 0, Flamebait

    This is where you *nix people do yourselves in for winning over the rest of the tech population, one word "homogeneity". As a "Windows Boy" I don't have to worry about bollocks like this. I have enough trouble working with the variances involved with Windows machines (their hardware and software) when I deploy an application... nevermind having to also worry about miriad filesystems and kernels compiled a L33T HAXOR. ** END RANT ** And for anyone about to say Apple/Mac... I'll stop myself right there.

  35. Weird metric by jovetoo · · Score: 1

    I have no idea of the real code behind those file systems but I find "external calls" a bit of an weird metric. The more "common code" used by the file systems, the more "external calls" would be seen, while this would actually be a Good Thing.

  36. what the ??? by cyclomedia · · Score: 1

    24 Filesystems!? I think we've just metricised a clusterfsck

    --
    If you don't risk failure you don't risk success.
  37. why would you expect it to shrink? by jipn4 · · Score: 1

    Why would you expect the kernel to shrink?

    The Linux kernel is a gigantic C program, with lots of coupling, global variables, no module system, and lots of external dependencies. Those kinds of systems are exceedingly hard to shrink. And C encourages people to re-implement data structures and software components multiple times (hash tables, linked lists, etc.) instead of providing mechanisms for generic algorithms and reuse; that contributes further to the bloat.

    In addition, the Linux kernel is adding a lot of functionality and generalizing functionality. For example, instead of simple hard-coded partitions, you now have several layers of abstractions and indirection allowing you to deal with partitions much more flexibly.

    I have my own opinion as to whether the Linux kernel is well-engineered and whether I'd want to hire Linus. But as long as bloat and software engineering in the Linux kernel doesn't get in the way, I don't really care what it's written in or how it's written.

    As long as it gets the job done, popularity and support are more important than elegance and code quality in a kernel.

  38. "sliming" down by bobv-pillars-net · · Score: 1

    Why are fancy charts and graphs needed to prove that the Linux kernel is not "sliming down"?

    sliming being coated with a soft, moist, adhesive mucilaginous substance down in the direction of gravity

    I mean, it's obvious, isn't it? Just look at the thing. No slime at all that I can see.

    --
    The Web is like Usenet, but
    the elephants are untrained.
  39. It deh MS Fult Rieser In Jial!!!11!!11one by Anonymous Coward · · Score: 0

    Not particularly well so far.

    ZOMG... did Teh Steve Bulmeer pay deez guyz off to beat up Teh Rieser?!?!?

    Yoo jes know Teh Bulmeer wuz gunna trow a char at him, but teh prizun gots in teh way. So he hire teh thuggz to beats up Teh Rieser, cuz he herd he was, liek, workin on Teh Lunix an stuff.

    Dunt Wurry Teh Rieser! We FOSSies still luvz yooz, yoouz is sekund unly to Teh Lunis hisself. Weez noes Teh Balmer set yoo up!!

    Free Han Rieser!!!

    Are Han Longs to be Free!!! Free liek in beers!!!!

  40. Oh dear.. The irony. by Anonymous Coward · · Score: 0

    The inline function specifier is a preference for the compiler. There is no guarantee. I'd suggest you read section 7.1.2 of the ISO/IEC 14882-2003 document detailing the C++ standard. kthxbye.

  41. LOL by Anonymous Coward · · Score: 0

    5 minutes vs "seconds" just because of a function pointer? I hope you're kidding.

    Here is what you can do. Take your favorite C++ compiler generate the assembly listing for both versions of the source code. Download the Intel manual for whichever CPU you ran it on "many years" ago. Look up the instruction timings for the opcodes and you'll get a good ballpark estimate. Its easy to prove to your own mind how stupid your claim was.

    But if you were high when you made that statement, My Apologies.  I'd suggest you go to hospital immediately and check yourself in for some drug detoxification sessions.