Hi, yodaiken _at_ fsmlabs.com wrote: > No. The point of using semaphores is that one can sleep while > _waiting_ for the resource. > [...] > In a preemptive kernel this can cause a deadlock. In a non > preemptive it cannot. You are correct in that > B: > get sem on memory pool > do potentially blocking operations > release sem > is also dangerous - but I don't think that helps your case. > To fix B, we can enforce a coding rule - one of the reasons why > we have all those atomic ops in the kernel is to be able to > avoid this problem. Sorry I can't follow you. First, one can sleep while waiting for the semaphore _and_ while holding it. Second we use atomic ops (e.g. for resource management) exactly because there are not protected by any semaphore/spinlock. > Let's suppose the Gnome desktop constantly creates and > destroys new fresh i/o bound tasks to do something. So with the old fashioned non > preempt (ignoring Andrew) we get > [...] There is no priority problem! If there is a more important task to run, the less important one simply has to wait, but it will still get its time. Your deadlock situation does not exists. The average time a process has to wait for a lower priority process might be increased, but the worst case behaviour is still the same. The problem that does exist is the coarse time slice accounting, which is easier to exploit with the preempt kernel, but it's not a new problem. On the other hand it's a solvable problem, which requires no priority inversion. > > Andrew's patch requires constant audition and Andrew can't audit all > > drivers for possible problems. That doesn't mean Andrew's work is > > wasted, since it identifies problems, which preempting can't solve, but > > it will always be a hunt for the worst cases, where preempting goes for > > the general case. > > the preempt requires constant auditing too - and more complex auditing. > After all, a missed audit in Andrew will simply increase worst case timing. > A missed audit in preempt will hang the system. As long as the scheduler isn't changed, this isn't true and as I said there are latency problems which preempting can't solve, but it will automatically take care of the rest. > Come on! First of all, you are causing me a great deal of pain by making > me struggle not to make some bad joke about the economics of Linux companies. Feel free, I'm not a big believer in the economics of software companies in general, anyway. > More important, not making money has nothing to do with purity of motivation - > don't you read this list? Everyone has its motivation and I do respect that, but I'm getting suspicious as soon as money is involved. If people disagree, they can still get along nicely and do their thing independently. But if they have to make a living by getting a share of a cake, it usually only works as long as there is enough cake, otherwise it can get nasty very quickly (and usually there is never enough cake). bye, Roman - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo _at_ vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Follow-Ups:
- Re: [2.4.17/18pre] VM and swap - it's really unusableyodaiken _at_ fsmlabs.com
- Re: [2.4.17/18pre] VM and swap - it's really unusableAlan Cox <alan _at_ lxorguk.ukuu.org.uk>
- Re: [2.4.17/18pre] VM and swap - it's really unusableRobert Love <rml _at_ tech9.net>
- Re: [2.4.17/18pre] VM and swap - it's really unusableyodaiken _at_ fsmlabs.com
- Re: [2.4.17/18pre] VM and swap - it's really unusableRob Landley <landley _at_ trommello.org>
- Re: [2.4.17/18pre] VM and swap - it's really unusableyodaiken _at_ fsmlabs.com
- Re: [2.4.17/18pre] VM and swap - it's really unusableRoman Zippel <zippel _at_ linux-m68k.org>
- Re: [2.4.17/18pre] VM and swap - it's really unusableyodaiken _at_ fsmlabs.com
- Re: [2.4.17/18pre] VM and swap - it's really unusableRoman Zippel <zippel _at_ linux-m68k.org>
- Re: [2.4.17/18pre] VM and swap - it's really unusableyodaiken _at_ fsmlabs.com
- Prev by Date: Re: [PATCH] 1-2-3 GB
- Next by Date: Re: initramfs programs (was [RFC] klibc requirements)
- Previous by thread: Re: [2.4.17/18pre] VM and swap - it's really unusable
- Next by thread: Re: [2.4.17/18pre] VM and swap - it's really unusable
- Indexes:[Main][Thread]