Are segments so bad?

By: Brendan (btrotter.delete@this.gmail.com), January 14, 2020 7:48 am
Room: Moderated Discussions
Hi,

Jukka Larja (roskakori2006.delete@this.gmail.com) on January 14, 2020 6:37 am wrote:
> Brendan (btrotter.delete@this.gmail.com) on January 13, 2020 12:02 pm wrote:
> > Jukka Larja (roskakori2006.delete@this.gmail.com) on January 13, 2020 8:43 am wrote:
> > > Brendan (btrotter.delete@this.gmail.com) on January 13, 2020 7:21 am wrote:
> > > > Jukka Larja (roskakori2006.delete@this.gmail.com) on January 13, 2020 6:41 am wrote:
> > > > > Brendan (btrotter.delete@this.gmail.com) on January 12, 2020 9:19 pm wrote:
> > > > > > anon (anon.delete@this.b.c) on January 12, 2020 11:30 am wrote:
> > > > > > >
> > > > > > > Even if you write your own code extremely carefully, unless you a programming in an embedded context
> > > > > > > where you wrote all the code running on the platform, you can be pretty damn certain there is a
> > > > > > > lot of other parts in your system that are not able to gracefully handle OOM. There are just no
> > > > > > > server or desktop platforms in widespread use that can deal with OOM. It's entirely possible that
> > > > > > > your program sucks up all the memory, and then OOM is triggered by some crucial background service
> > > > > > > that nothing can live without, and which does not have viable alternatives to allocating.
> > > > > > >
> > > > > > > It's because of this that the sane option for desktop or server is to just ignore OOM and
> > > > > > > pretend it doesn't exist. Just hardening your own software is the worst kind of idiocy
> > > > > > > -- it's a massive waste of time, and it doesn't actually protect you from anything.
> > > > > >
> > > > > > This kind of thinking is the reason why the world sucks ("Some software is shit, therefore all software
> > > > > > should be forced to be shit forever and nobody should ever try to make software better").
> > > > >
> > > > > This assumes there's an easy way to "make software better". Sure, if during large parallel
> > > > > compile system runs out of memory, the compile can be restarted with less parallelism. And
> > > > > when our custom game asset builder runs out of memory, just restart from some previous known
> > > > > good state. Oh wait, that already happens when we just hit "Build" button again (or someone
> > > > > makes an SVN commit and build system automatically start making a new build).
> > > > >
> > > > > OOMs are practically never a problem for us. Running with not-quite-enough-physical-memory is sometimes
> > > > > a problem, but gets handled nicely by virtual memory. On average, we have plenty of RAM. Sometimes
> > > > > various independent processes with large memory footprint just happen to run at the same time.
> > > > >
> > > > > If I had to come up with some manual system to handle the problem, I don't really see what I could
> > > > > do to improve it. There could be some heuristics about available memory that would affect how much
> > > > > parallel processes are launched. The problem is coming up with good heuristics. I have no idea how
> > > > > much the shader compiler will need this time, or if it needs to run at all. There's hundreds of variables
> > > > > to consider, each only making sense to couple of programmers in our thirty-ish member team.
> > > > >
> > > > > Virtual memory is by no means necessary to solve this problem easily. We have build
> > > > > servers mostly configured with static page files, so as long as it is possible to
> > > > > just add equivalent amount of RAM, the OOM problem will be solved just as well.
> > > >
> > > > Maybe the only thing you're thinking about is your build system,
> > > > and the only people that care about your build system is you?
> > > >
> > > > Consider a HTTP server - do you want to (e.g.) drop one connection or abort
> > > > one request, or do you want to get killed and drop all current connections?
> > > >
> > > > Consider a word processor - do you want to (e.g.) free memory from the "undo buffer" and retry
> > > > (and if that doesn't work display a dialog box informing the user and save the current document
> > > > and shut down gracefully); or do you want to get killed and lose all the user's unsaved work;
> > > > or do you want kill X11 and screw up every single app that's currently running?
> > > >
> > > > How about a database management engine with 8 GiB of cached data it can easily discard - would you
> > > > want everything that depends on it to suffer "sudden database un-availability" for no reason?
> > >
> > > In my mind, it is "do I want those developers to fix some other bugs or spent
> > > their time on already well handled OOM problem?"
> >
> > My perspective is more like; do I trust software written
> > by people that are so incompetent they don't care if
> > it randomly "crashes" (due to OOM) without warning and without
> > any safeguards (and possibly for no sane reason
> > at all)? If the developers are this stupid, how many other things have they completely screwed up/ignored?
>
> There's always compromizes to make. Since OOM practically never happens during normal running (and would
> equally seldom be avoidable with any sensible tricks), My view of preparing for it is the same as with any
> (premature) micro-optimization. It doesn't hurt, but I wouldn't want to pay people much for doing it.

Some things I'm just unwilling to accept. For example, I can accept software failing due to OOM, but I can't accept software not failing gracefully (losing data, not informing user of the problem in the same way it provides feedback of other error conditions, etc).

> I'm very familiar with OOM on consoles (where there is no virtual memory), and we have thought
> about possibly doing some last-resortish in that case (Unreal Engine, for example, has by default
> 32 MB extra OOM buffer for tight spots). That, however, is on a platform where one has a promise
> of certain amount of memory. We haven't actually done anything, because doing it right is hard
> (consider that memory manager may run out of memory while several threads are requesting more.
> Freeing some cache or other unimportant data in such environment is asking for deadlocks and random
> crashes) and benefits compared to just reducing overall memory usage would be too small.
>
> > > Personally, I can't see what
> > > benefits of not having virtual memory could offset the benefits of having it.
> >
> > I'm not sure if there's some kind of misunderstanding here,
> > or where your "not having virtual memory" came from.
>
> Sorry, I must have mixed up your argument with someone else's at some point.
>
> > I'm mostly advocating "virtual memory, without overcommit (and with swap)" and thought you are
> > advocating "virtual memory, with overcommit (and therefore with OOM killer preventing any software
> > from doing anything correctly even when it's entirely possible and very beneficial)".
>
> I mostly don't care, since I just increase page file size until OOMs don't happen anymore. I think
> Windows doesn't overcommit and that's the only platform I'm really familiar with (from those platforms
> that have virtual memory). OOM induced crash on our build servers basically means we should reboot
> anyway, because it's too much trouble to check if something important has crashed.

Yeah, Windows does a lot of things right, and I suspect that at least part of the problem on *nix operating systems is "fork()". Specifically; if you have a large process with many GiB of data, "fork()" means the OS would have to commit to being able to provide copies of most of that data (anything writable becomes "potentially copy on writable"), even though it's very unlikely to be needed (it's likely the child won't modify much before it does "exec()" anyway), and this makes overcommit a lot more attractive.

> > > If we have page file backed virtual memory, the examples you cite above won't happen that way. Instead
> > > you'll see gradual decrease in performance, which may get really bad before total failure (whether that's
> > > OOM or slowdown so bad that it disrupts the service, depends on virtual memory configuration).
> >
> > No (or not necessarily). For example, if there's 2 GiB of
> > RAM and 20 GiB of swap space; and software frequently
> > uses 1 GiB of data and rarely uses 21 GiB of data; then it will not be slow at all. Note that this is very
> > common for desktop users - e.g. multiple applications and/or multiple browser tabs, with large amounts of
> > data, that are left "running" (sometimes for days) where all the data isn't actually accessed.
>
> I have hard time seeing that as anything else but memory leak. In case of memory leak it doesn't
> matter what you do. You'll run out of any amount of physical and virtual memory, with or without
> overcommit (except that with overcommit one can leak huge amounts of untouched memory).

I have a hard time seeing how anyone can consider it a memory leak. If the user opens 10 applications and leaves 9 of them "running/idle" while they use one of them, then none of them are leaking any memory (but 9 applications that are "running/idle" aren't actually using any of the memory).

You said you work on game consoles. If I'm playing a game that consumes 6 GiB of memory, but pause the game for a few hours while I go shopping, has that 6 GiB of memory been leaked? Does the memory become "unleaked" again when I unpause and continue playing the game later?

> > > It's a nice idea that some process which holds large amounts
> > > of memory for caching purposes could release it
> > > when server starts to run out. But that doesn't really work
> > > on general purpose server. What if there are several
> > > independent processes, but they have different idea of what's
> > > the limit of "server starting to run out of memory"?
> > > The one with more relaxed limit won't free any of its cache before the other one has freed its.
> >
> > A process releasing its own memory when (e.g.) it tries to allocate more and "mmap()" returns ENOMEM and
> > retrying (and succeeding); or cancelling whatever it wanted the extra memory for (and not anything else);
> > or providing feadback directly to user/s (e.g. a dialog box so the user immediately knows what happened
> > and doesn't have to go hunting for obscure logs); or giving the process a chance to save important data
> > to disk so that it's not lost; are all important "first steps" to making software suck less.
>
> You can't presume any of those actions will succeed, if the original memory allocation failed,
> unless you somehow know that the OS can do everything you ask without using any extra memory itself.
> Even if you free significant amount yourself, another process may be hogging it immediately. Actually,
> unless you are very careful, another thread in your own process may be hogging it.
>
> So basically you are doing complicated things (that will hardly ever get tested
> and will most likely be buggy anyway) and still can't guarantee a good outcome.

You've implied that you're a software developer, and yet you think this is "complicated" and "untestable"?

> > They are not the last steps by any means. For example; the system can be augmented by
> > per process quotas, or cgroups, and/or by some kind of "low memory notifications" sent
> > out by OS (to ask process/es to release some amount of memory if they're able).
>
> I'm pretty sure all OSes offer APIs to ask for amount of available memory. I don't believe
> it matters that it's "pull" instead of "push".

Having to constantly monitor the OS (rather than the OS notifying you) would increase the hassle; especially for "otherwise idle" processes.

> Most projects have better things to do.

If most people were incompetent, would you make incompetence mandatory?

- Brendan
< Previous Post in ThreadNext Post in Thread >
TopicPosted ByDate
Nuances related to Spinlock implementation and the Linux SchedulerBeastian2020/01/03 11:46 AM
  Nuances related to Spinlock implementation and the Linux SchedulerMontaray Jack2020/01/03 12:14 PM
    Nuances related to Spinlock implementation and the Linux SchedulerMontaray Jack2020/01/03 12:49 PM
  No nuances, just buggy code (was: related to Spinlock implementation and the Linux Scheduler)Linus Torvalds2020/01/03 06:05 PM
    No nuances, just buggy code (was: related to Spinlock implementation and the Linux Scheduler)Beastian2020/01/04 11:03 AM
    No nuances, just buggy code (was: related to Spinlock implementation and the Linux Scheduler)Malte Skarupke2020/01/04 11:22 AM
      No nuances, just buggy code (was: related to Spinlock implementation and the Linux Scheduler)Linus Torvalds2020/01/04 12:31 PM
        No nuances, just buggy code (was: related to Spinlock implementation and the Linux Scheduler)dmcq2020/01/05 06:33 AM
        No nuances, just buggy code (was: related to Spinlock implementation and the Linux Scheduler)smeuletz2020/01/06 01:05 AM
          Do not blame others for your unfinished jobsmeuletz2020/01/06 01:08 AM
            Where did all the experts come from? Did Linus get linked? (NT)anon2020/01/06 03:27 AM
              PhoronixGabriele Svelto2020/01/06 04:04 AM
                PhoronixSalvatore De Dominicis2020/01/06 06:59 AM
            Do not blame anyone. Please give polite, constructive criticismChester2020/01/06 08:17 AM
              Do not blame anyone. Please give polite, constructive criticismsmeuletz2020/01/06 09:11 AM
                Do not blame anyone. Please give polite, constructive criticismChester2020/01/06 09:54 AM
                  Do not blame anyone. Please give polite, constructive criticismsmeuletz2020/01/06 10:33 AM
                    Do not blame anyone. Please give polite, constructive criticismLinus Torvalds2020/01/06 11:58 AM
                      Do not blame anyone. Please give polite, constructive criticismGionatan Danti2020/01/06 12:13 PM
                        Do not blame anyone. Please give polite, constructive criticismLinus Torvalds2020/01/06 12:28 PM
                          Do not blame anyone. Please give polite, constructive criticismGionatan Danti2020/01/06 12:52 PM
                          Do not blame anyone. Please give polite, constructive criticismJohn Scott2020/01/10 07:48 AM
                          Do not blame anyone. Please give polite, constructive criticismsupernovas2020/01/10 09:01 AM
                            Do not blame anyone. Please give polite, constructive criticismLinus Torvalds2020/01/10 11:45 AM
                      Do not blame anyone. Please give polite, constructive criticismsmeuletz2020/01/07 03:07 AM
                        Do not blame anyone. Please give polite, constructive criticismSimon Farnsworth2020/01/07 12:40 PM
                        Do not blame anyone. Please give polite, constructive criticismEtienne2020/01/08 01:08 AM
                          Do not blame anyone. Please give polite, constructive criticismsmeuletz2020/01/08 01:18 AM
                            Do not blame anyone. Please give polite, constructive criticismMichael S2020/01/08 01:56 AM
                      Not deprecating irrelevant API: sched_yield() on quantum computers?smeuletz2020/01/07 03:34 AM
                      Do not blame anyone. Please give polite, constructive criticismmagicalgoat2020/01/09 04:58 PM
                        Do not blame anyone. Please give polite, constructive criticismLinus Torvalds2020/01/09 09:37 PM
                          Do not blame anyone. Please give polite, constructive criticismAnon32020/01/10 03:40 PM
                  Do not blame anyone. Please give polite, constructive criticismrwessel2020/01/06 09:04 PM
                Do not blame anyone. Please give polite, constructive criticismLinus Torvalds2020/01/06 11:11 AM
                  Do not blame anyone. Please give polite, constructive criticismGabriele Svelto2020/01/06 01:36 PM
        No nuances, just buggy code (was: related to Spinlock implementation and the Linux Scheduler)Howard Chu2020/01/09 10:39 PM
          No nuances, just buggy code (was: related to Spinlock implementation and the Linux Scheduler)Linus Torvalds2020/01/10 11:30 AM
      No nuances, just buggy code (was: related to Spinlock implementation and the Linux Scheduler)president ltd2020/01/04 01:44 PM
    No nuances, just buggy code (was: related to Spinlock implementation and the Linux Scheduler)Jörn Engel2020/01/04 11:34 AM
      No nuances, just buggy code (was: related to Spinlock implementation and the Linux Scheduler)Emil Briggs2020/01/04 12:13 PM
        No nuances, just buggy code (was: related to Spinlock implementation and the Linux Scheduler)Jörn Engel2020/01/04 12:46 PM
      No nuances, just buggy code (was: related to Spinlock implementation and the Linux Scheduler)Linus Torvalds2020/01/04 01:24 PM
        No nuances, just buggy code (was: related to Spinlock implementation and the Linux Scheduler)Linus Torvalds2020/01/04 02:54 PM
          No nuances, just buggy code (was: related to Spinlock implementation and the Linux Scheduler)Jörn Engel2020/01/05 09:21 AM
            No nuances, just buggy code (was: related to Spinlock implementation and the Linux Scheduler)Linus Torvalds2020/01/05 11:42 AM
              FUTEX_LOCK_PI performanceJörn Engel2020/01/05 01:45 PM
                FUTEX_LOCK_PI performanceLinus Torvalds2020/01/05 03:30 PM
                  FUTEX_LOCK_PI performanceJörn Engel2020/01/05 06:03 PM
                    FUTEX_LOCK_PI performanceRichardC2020/01/06 06:11 AM
                      FUTEX_LOCK_PI performanceLinus Torvalds2020/01/06 12:11 PM
                  FUTEX_LOCK_PI performanceGabriele Svelto2020/01/06 02:20 AM
                    FUTEX_LOCK_PI performancexilun2020/01/06 04:19 PM
                    FUTEX_LOCK_PI performanceKonrad Schwarz2020/01/13 03:36 AM
                      FUTEX_LOCK_PI performanceGabriele Svelto2020/01/13 03:53 AM
                      FUTEX_LOCK_PI performanceSimon Farnsworth2020/01/13 04:36 AM
                      FUTEX_LOCK_PI performancerwessel2020/01/13 05:22 AM
    No nuances, just buggy code (was: related to Spinlock implementation and the Linux Scheduler)rainstar2020/01/04 09:58 PM
      No nuances, just buggy code (was: related to Spinlock implementation and the Linux Scheduler)Charles Ellis2020/01/05 03:00 AM
        No nuances, just buggy code (was: related to Spinlock implementation and the Linux Scheduler)Richard2020/01/05 08:58 AM
          It's hard to separateMichael S2020/01/05 10:17 AM
            It's hard to separaterainstared2020/01/06 12:52 AM
              It's hard to separateDavid Kanter2020/01/08 08:27 AM
                It's hard to separateAnon2020/01/08 08:37 PM
                  It's hard to separatenone2020/01/08 10:50 PM
                    It's hard to separateAnon2020/01/09 12:41 AM
                      It's hard to separatenone2020/01/09 02:54 AM
                        It's hard to separategallier22020/01/09 03:19 AM
                          It's hard to separateAnon2020/01/09 04:12 AM
                            It's hard to separateAdrian2020/01/09 04:24 AM
                              It's hard to separategallier22020/01/09 04:58 AM
                                It's hard to separateAdrian2020/01/09 06:09 AM
                            It's hard to separategallier22020/01/09 04:42 AM
                        It's hard to separateAdrian2020/01/09 03:41 AM
                        It's hard to separateAnon2020/01/09 04:24 AM
                          It's hard to separategallier22020/01/09 05:07 AM
                          It's hard to separateDavid Hess2020/01/09 08:27 AM
                            It's hard to separateAdrian2020/01/09 09:15 AM
                              It's hard to separateDavid Hess2020/01/09 09:45 AM
                                It's hard to separateAnon2020/01/09 10:15 AM
                                  It's hard to separateAdrian2020/01/09 10:51 AM
                                    It's hard to separateBrett2020/01/09 12:49 PM
                                      Zilog Z8000Brett2020/01/10 09:53 PM
                                        Zilog Z8000David Hess2020/01/11 06:06 AM
                                          Zilog Z8000Adrian2020/01/11 06:29 AM
                                            Zilog Z8000David Hess2020/01/11 07:45 AM
                                              Zilog Z8000Ricardo B2020/01/11 07:04 PM
                                                Zilog Z8000Ronald Maas2020/01/12 09:47 AM
                                                  Zilog Z8000Ricardo B2020/01/12 11:15 AM
                                                    Zilog Z8000Anon2020/01/12 10:34 PM
                                                      Zilog Z8000Jose2020/01/13 12:23 AM
                                                        Zilog Z8000gallier22020/01/13 12:42 AM
                                                          Zilog Z8000Jose2020/01/13 09:04 PM
                                                            Zilog Z8000rwessel2020/01/13 09:40 PM
                                                              Zilog Z8000David Hess2020/01/13 10:35 PM
                                                                Zilog Z8000Simon Farnsworth2020/01/14 02:56 AM
                                                                  Zilog Z8000Michael S2020/01/14 03:09 AM
                                                                    Zilog Z8000Simon Farnsworth2020/01/14 04:06 AM
                                                                      Zilog Z8000David Hess2020/01/14 09:22 AM
                                                                  Zilog Z8000David Hess2020/01/14 09:15 AM
                                                                Zilog Z8000rwessel2020/01/14 03:12 PM
                                                                  286 16 bit I/OTim McCaffrey2020/01/15 10:25 AM
                                                                    286 16 bit I/ODavid Hess2020/01/15 08:17 PM
                                                      Zilog Z8000Ricardo B2020/01/13 10:52 AM
                                                        Zilog Z8000Anon2020/01/13 11:25 AM
                                                          Zilog Z8000David Hess2020/01/13 05:38 PM
                                                            Zilog Z8000rwessel2020/01/13 06:16 PM
                                                              Zilog Z8000David Hess2020/01/13 06:47 PM
                                                          Zilog Z8000someone2020/01/14 06:54 AM
                                                            Zilog Z8000Anon2020/01/14 07:31 AM
                                                          Zilog Z8000Ricardo B2020/01/14 05:29 PM
                                                  Zilog Z8000Simon Farnsworth2020/01/15 02:26 AM
                                                    Zilog Z8000Tim McCaffrey2020/01/15 10:27 AM
                                                      Zilog Z8000Simon Farnsworth2020/01/15 01:32 PM
                                                    Zilog Z8000Ricardo B2020/01/15 02:47 PM
                                                      Zilog Z8000Anon2020/01/15 03:08 PM
                                                        Zilog Z8000Ricardo B2020/01/15 04:16 PM
                                                          Zilog Z8000Anon2020/01/15 04:31 PM
                                                            Zilog Z8000Ricardo B2020/01/15 05:46 PM
                                                              Zilog Z8000Anon2020/01/15 06:04 PM
                                                                Zilog Z8000David Hess2020/01/15 08:53 PM
                                                                Zilog Z8000Ricardo B2020/01/16 06:27 PM
                                                                  Zilog Z8000Anon2020/01/16 07:33 PM
                                                                    Zilog Z8000Ronald Maas2020/01/16 11:05 PM
                                                                      Zilog Z8000Anon2020/01/17 07:15 AM
                                                                    Zilog Z8000Ricardo B2020/01/17 01:59 PM
                                                                      Zilog Z8000Anon2020/01/17 06:40 PM
                                                                        Zilog Z8000Ricardo B2020/01/18 07:42 AM
                                                                    Zilog Z8000David Hess2020/01/18 06:12 AM
                                                            Zilog Z8000David Hess2020/01/15 08:49 PM
                                                          Zilog Z8000gallier22020/01/15 11:57 PM
                                                      Zilog Z8000Simon Farnsworth2020/01/16 01:30 AM
                                                        IBM PC successEtienne2020/01/16 05:42 AM
                                                        Zilog Z8000Ricardo B2020/01/16 06:32 PM
                                                          Zilog Z8000Brett2020/01/17 12:38 AM
                                                            Zilog Z8000David Hess2020/01/18 06:28 AM
                                                          Zilog Z8000David Hess2020/01/18 06:22 AM
                                                    Zilog Z8000David Hess2020/01/15 08:30 PM
                                            Zilog Z8000Maxwell2020/01/11 08:07 AM
                                              Zilog Z8000David Hess2020/01/11 08:40 AM
                                                Zilog Z8000Maxwell2020/01/11 09:08 AM
                                                  Zilog Z8000Ricardo B2020/01/11 07:42 PM
                                                    8086 does NOT have those addressing modesDevin2020/01/12 01:13 PM
                                                      8086 does NOT have those addressing modesRicardo B2020/01/12 05:46 PM
                                                        8086 does NOT have those addressing modesAnon2020/01/13 04:10 AM
                                                          8086 does NOT have those addressing modesgallier22020/01/13 05:07 AM
                                                            8086 does NOT have those addressing modesAnon2020/01/13 06:09 AM
                                                              8086 does NOT have those addressing modesRicardo B2020/01/13 10:48 AM
                                                          8086 does NOT have those addressing modesMichael S2020/01/13 06:40 AM
                                                            Zilog Z8000Ronald Maas2020/01/13 08:44 AM
                                                              Zilog Z8000Anon2020/01/13 03:32 PM
                                                          8086 does NOT have those addressing modesRicardo B2020/01/13 10:24 AM
                                                            8086 does NOT have those addressing modesrwessel2020/01/13 02:59 PM
                                                              8086 does NOT have those addressing modesDavid Hess2020/01/13 06:12 PM
                                                                8086 does NOT have those addressing modesrwessel2020/01/13 06:28 PM
                                                                  8086 does NOT have those addressing modesDavid Hess2020/01/13 06:51 PM
                                                          8086 does NOT have those addressing modesDavid Hess2020/01/13 05:55 PM
                                            Zilog Z8000rwessel2020/01/11 12:26 PM
                                              Zilog Z8000Brett2020/01/11 02:16 PM
                                                Zilog Z8000rwessel2020/01/11 07:20 PM
                                                  Zilog Z8000Brett2020/01/12 12:02 PM
                                                    Zilog Z8000rwessel2020/01/12 09:06 PM
                                                      Zilog Z8000Brett2020/01/12 10:02 PM
                                                    Zilog Z8000James2020/01/13 05:12 AM
                                              Zilog Z8000Adrian2020/01/11 11:38 PM
                                                PDP-11Michael S2020/01/12 01:33 AM
                                                Zilog Z8000rwessel2020/01/12 06:01 AM
                                              Zilog Z8000Ronald Maas2020/01/12 10:03 AM
                                            Zilog Z8000Konrad Schwarz2020/01/13 03:49 AM
                                              Zilog Z8000Adrian2020/01/13 11:38 PM
                                                Zilog Z8000konrad.schwarz2020/01/15 04:50 AM
                                                  Zilog Z8000Adrian2020/01/15 10:24 PM
                                    It's hard to separateDavid Hess2020/01/11 06:08 AM
                                  It's hard to separateDavid Hess2020/01/11 06:11 AM
                                It's hard to separateAdrian2020/01/09 11:16 AM
                                  It's hard to separateDavid Hess2020/01/11 06:17 AM
                                It's hard to separategallier22020/01/10 12:11 AM
                                  It's hard to separatenone2020/01/10 01:58 AM
                        It's hard to separaterwessel2020/01/09 07:00 AM
                        It's hard to separateDavid Hess2020/01/09 08:10 AM
                          It's hard to separaterwessel2020/01/09 08:51 AM
                  It's hard to separateAdrian2020/01/08 10:58 PM
                    It's hard to separaterwessel2020/01/09 06:31 AM
                      It's hard to separateAdrian2020/01/09 06:44 AM
                    It's hard to separateDavid Hess2020/01/09 08:37 AM
                      It's hard to separatenone2020/01/09 09:34 AM
                  Are segments so bad?Paul A. Clayton2020/01/09 02:15 PM
                    Yes, they are terrible (NT)Anon2020/01/09 02:20 PM
                    Are segments so bad?Adrian2020/01/09 11:49 PM
                      Are segments so bad?Etienne2020/01/10 01:28 AM
                        Are segments so bad?gallier22020/01/10 01:37 AM
                          Are segments so bad?Adrian2020/01/10 02:19 AM
                            Are segments so bad?Adrian2020/01/10 03:27 AM
                              Are segments so bad?Etienne2020/01/10 03:41 AM
                        Are segments so bad?Adrian2020/01/10 02:05 AM
                          Are segments so bad?gallier22020/01/10 02:13 AM
                      Are segments so bad?Anon32020/01/10 10:37 AM
                        Are segments so bad?Adrian2020/01/10 10:47 AM
                          Are segments so bad?Brendan2020/01/11 12:43 AM
                      Are segments so bad?Anon2020/01/10 05:51 PM
                        Are segments so bad?Adrian2020/01/11 12:05 AM
                          Are segments so bad?Jukka Larja2020/01/11 07:20 AM
                            Are segments so bad?Brendan2020/01/11 09:14 AM
                              Are segments so bad?Jukka Larja2020/01/11 08:15 PM
                                Are segments so bad?Brendan2020/01/11 10:15 PM
                                  Are segments so bad?Jukka Larja2020/01/12 03:18 AM
                                  Are segments so bad?anon2020/01/12 11:30 AM
                                    Are segments so bad?Brendan2020/01/12 09:19 PM
                                      the world sucks worse than you're aware ofMichael S2020/01/13 12:50 AM
                                        the world sucks worse than you're aware ofBrendan2020/01/13 02:56 AM
                                        the world sucks worse than you're aware ofGabriele Svelto2020/01/13 03:46 AM
                                      Are segments so bad?Jukka Larja2020/01/13 06:41 AM
                                        Are segments so bad?Brendan2020/01/13 07:21 AM
                                          Are segments so bad?Jukka Larja2020/01/13 08:43 AM
                                            Are segments so bad?Brendan2020/01/13 12:02 PM
                                              Are segments so bad?Anne O. Nymous2020/01/13 12:22 PM
                                                Are segments so bad?Brendan2020/01/13 01:50 PM
                                                  actor of around 200?Michael S2020/01/14 02:58 AM
                                                  Not overcomitting leads to more OOMs, not lessGabriele Svelto2020/01/14 11:50 AM
                                                    Not overcomitting leads to more OOMs, not lessBrendan2020/01/14 12:40 PM
                                                      Not overcomitting leads to more OOMs, not lessGabriele Svelto2020/01/15 02:17 AM
                                                        Not overcomitting leads to more OOMs, not lessAnon2020/01/15 03:43 AM
                                                          Not overcomitting leads to more OOMs, not lessGabriele Svelto2020/01/15 04:09 AM
                                                            Not overcomitting leads to more OOMs, not lessAnon2020/01/15 04:16 AM
                                                              Not overcomitting leads to more OOMs, not lessGabriele Svelto2020/01/15 05:58 AM
                                                                Not overcomitting leads to more OOMs, not lessAnon2020/01/15 08:08 AM
                                                                  Not overcomitting leads to more OOMs, not lessGabriele Svelto2020/01/16 03:05 AM
                                                        Not overcomitting leads to more OOMs, not lessMichael S2020/01/15 03:48 AM
                                                          Not overcomitting leads to more OOMs, not lessGabriele Svelto2020/01/15 04:10 AM
                                                            Not overcomitting leads to more OOMs, not lessMichael S2020/01/15 07:13 AM
                                                              Not overcomitting leads to more OOMs, not lessJukka Larja2020/01/15 07:46 AM
                                                        Not overcomitting leads to more OOMs, not lessJukka Larja2020/01/15 05:08 AM
                                                          Thanks for the info (NT)Gabriele Svelto2020/01/15 06:00 AM
                                                      Not overcomitting leads to more OOMs, not lessLinus Torvalds2020/01/15 11:30 AM
                                                        OOM killer complainsAnon2020/01/15 11:44 AM
                                                          OOM killer complainsanon2020/01/15 03:26 PM
                                                        Not overcomitting leads to more OOMs, not lessBrendan2020/01/16 06:26 AM
                                                          Not overcomitting leads to more OOMs, not lessLinus Torvalds2020/01/16 09:17 AM
                                                            Not overcomitting leads to more OOMs, not lessLinus Torvalds2020/01/16 09:48 AM
                                                              Not overcomitting leads to more OOMs, not lessDoug S2020/01/16 02:41 PM
                                                                Not overcomitting leads to more OOMs, not lessDoug S2020/01/16 02:44 PM
                                                Are segments so bad?rwessel2020/01/13 03:11 PM
                                              Are segments so bad?Jukka Larja2020/01/14 06:37 AM
                                                Are segments so bad?Brendan2020/01/14 07:48 AM
                                                  Are segments so bad?Jukka Larja2020/01/14 10:13 AM
                                                    Are segments so bad?Brendan2020/01/14 01:30 PM
                                                      Are segments so bad?Brett2020/01/14 09:13 PM
                                                      Are segments so bad?Jukka Larja2020/01/15 06:04 AM
                                                  Are segments so bad?Gabriele Svelto2020/01/15 02:35 AM
                                            Specifying cost of dropping pagesPaul A. Clayton2020/01/13 02:00 PM
                                              Specifying cost of dropping pagesrwessel2020/01/13 03:19 PM
                                                Specifying cost of dropping pagesGabriele Svelto2020/01/15 02:23 AM
                                          Are segments so bad?anon2020/01/14 01:15 AM
                                            Are segments so bad?Brendan2020/01/14 05:13 AM
                                          Are segments so bad?Gabriele Svelto2020/01/14 11:57 AM
                                            Are segments so bad?Brendan2020/01/14 01:58 PM
                                              Are segments so bad?Gabriele Svelto2020/01/15 02:33 AM
                                                Are segments so bad?Anon2020/01/15 04:24 AM
                                                  Are segments so bad?Jukka Larja2020/01/15 05:20 AM
                                                Are segments so bad?Etienne2020/01/15 04:56 AM
                                                  Are segments so bad?Jukka Larja2020/01/15 07:53 AM
                                                    Are segments so bad?Gabriele Svelto2020/01/16 05:12 AM
                                                      Are segments so bad?Jukka Larja2020/01/16 09:56 AM
                                                Are segments so bad?Brendan2020/01/15 05:20 AM
                                                  Are segments so bad?Gabriele Svelto2020/01/15 05:56 AM
                                                    Are segments so bad?Brendan2020/01/16 06:16 AM
                                                      Are segments so bad?Jukka Larja2020/01/16 10:08 AM
                                                        Are segments so bad?Brendan2020/01/17 12:52 PM
                                                          Are segments so bad?Jukka Larja2020/01/17 09:08 PM
                                                            Are segments so bad?Brendan2020/01/18 11:40 AM
                                                      Are segments so bad?rwessel2020/01/16 02:06 PM
                                                      Are segments so bad?Gabriele Svelto2020/01/16 02:13 PM
                                                        Are segments so bad?Brendan2020/01/17 12:51 PM
                                                          Are segments so bad?Gabriele Svelto2020/01/17 02:18 PM
                                                            Are segments so bad?Anon2020/01/17 07:01 PM
                                                            Are segments so bad?Brendan2020/01/18 02:15 PM
                                                          Are segments so bad?Jukka Larja2020/01/17 09:26 PM
                                Are segments so bad?Anne O. Nymous2020/01/12 03:18 AM
                                  Are segments so bad?Jukka Larja2020/01/12 07:41 AM
                            Are segments so bad?rwessel2020/01/11 12:31 PM
                          Are segments so bad?Anne O. Nymous2020/01/11 07:22 AM
                      Are segments so bad?Ricardo B2020/01/11 07:01 PM
                        Are segments so bad?Adrian2020/01/11 11:18 PM
                          Are segments so bad?Michael S2020/01/12 01:43 AM
                            Are segments so bad?Adrian2020/01/12 03:35 AM
                          Are segments so bad?Ricardo B2020/01/12 11:04 AM
                            Are segments so bad?Anon32020/01/12 04:52 PM
                            Are segments so bad?Brendan2020/01/12 08:58 PM
                      Are segments so bad?Paul A. Clayton2020/01/13 08:11 AM
        No nuances, just buggy code (was: related to Spinlock implementation and the Linux Scheduler)rainstared2020/01/06 12:43 AM
          No nuances, just buggy code (was: related to Spinlock implementation and the Linux Scheduler)Foo_2020/01/06 04:33 AM
            No nuances, just buggy code (was: related to Spinlock implementation and the Linux Scheduler)dmcq2020/01/06 05:03 AM
            changes in contextCarlie Coats2020/01/09 08:06 AM
      No nuances, just buggy code (was: related to Spinlock implementation and the Linux Scheduler)rainstar2020/01/09 09:16 PM
        No nuances, just buggy code (was: related to Spinlock implementation and the Linux Scheduler)Montaray Jack2020/01/09 10:11 PM
    Suggested reading for the authoranon2020/01/04 10:16 PM
      Suggested reading for the authorab2020/01/05 04:15 AM
        Looking at the other side (frequency scaling)Chester2020/01/06 09:19 AM
          Looking at the other side (frequency scaling)Foo_2020/01/06 10:00 AM
          Why spinlocks were usedFoo_2020/01/06 10:06 AM
            Why spinlocks were usedJukka Larja2020/01/06 11:59 AM
            Why spinlocks were usedSimon Cooke2020/01/06 02:16 PM
            Why spinlocks were usedRizzo2020/01/07 12:18 AM
          Looking at the other side (frequency scaling)ab2020/01/07 12:14 AM
    Cross-platform codeGian-Carlo Pascutto2020/01/06 07:00 AM
      Cross-platform codeMichael S2020/01/06 08:11 AM
        Cross-platform codeGian-Carlo Pascutto2020/01/06 11:33 AM
          Cross-platform codeMichael S2020/01/06 12:59 PM
            Cross-platform codeNksingh2020/01/06 11:09 PM
              Cross-platform codeMichael S2020/01/07 01:00 AM
              SRW lock implementationMichael S2020/01/07 01:35 AM
                SRW lock implementationNksingh2020/01/09 01:17 PM
                  broken URL in Linux source codeMichael S2020/01/14 12:56 AM
                    broken URL in Linux source codeTravis Downs2020/01/14 09:14 AM
                      broken URL in Linux source codeMichael S2020/01/14 09:48 AM
                        broken URL in Linux source codeTravis Downs2020/01/14 03:43 PM
                  SRW lock implementation - url brokenMichael S2020/01/14 02:07 AM
                    SRW lock implementation - url brokenTravis Downs2020/01/14 10:06 AM
                      SRW lock implementation - url brokengpderetta2020/01/15 03:28 AM
                        SRW lock implementation - url brokenTravis Downs2020/01/15 10:16 AM
                      SRW lock implementation - url brokenLinus Torvalds2020/01/15 10:20 AM
                        SRW lock implementation - url brokenTravis Downs2020/01/15 10:35 AM
                          SRW lock implementation - url brokenLinus Torvalds2020/01/16 10:24 AM
      Cross-platform codeLinus Torvalds2020/01/06 12:57 PM
Reply to this Topic
Name:
Email:
Topic:
Body: No Text
How do you spell purple?