Re: Please stop apps going into state D uninterrupted sleep !!

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2012-05-08 at 19:42 +0100, Andrew Gray wrote:
> Hi 
> 
> Either give use a way to kill a hung cp or rsync  when the VPN goes down
> and they end up is state D uninterrupted sleep or stop apps being able
> to go into uninterrupted sleep !!

It is *not possible* to kill a process in D state. D state can be
defined as "the state which cannot be interrupted". It originally
applied to fast operations which were guaranteed to succeed, e.g. a DMA
transfer. If the DMA interrupt didn't happen, you had problems much more
serious than a hanging app, and there was no reasonable way for the
system to recover automatically without user intervention.

With the introduction of networked filesystems, the desire for
transparency at the app level disguised the fact that networks actually
do fail from time to time, and not in nice ways. I think it was Lamport
who said that you can't tell 'down' from 'disconnected' (did the remote
server crash, or is there a network disconnection? maybe the network is
just congested, there's no way to tell).

Apps which access resources in the real world, including networked
devices, can be written to allow for these suddenly disappearing, or
just not bother. In the former case, the app becomes very much more
complex without ever completely solving the problem, just reducing the
probability of it happening. Note that "the app" doesn't just mean cp or
rsync, it means anything which accesses the filesystem, which can mean
virtually any program under Linux or similar systems. Making resource
failures completely transparent is a seriously hard problem, and doing
it in such a way that the applications programmer never needs to worry
about is probably unsolvable, given that the right thing to do in each
circumstance depends on the semantics that the app is trying to
preserve.

Take a look at the literature on fault-tolerant computing to see how
complex and expensive it is to even approximate this level of
reliability. General purpose systems such as Linux take the view that
transparency and a clean file access model are easier for programmers to
deal with, and in any case many such problems are better resolved by
direct user intervention. If that means a reboot, then so be it. I don't
like it either, but there it is.

> It is unacceptable for a Linux system to have to be CRASH  reboot as the
> mounted CIF mount can't be umounted as it is in use by cp or rsync in
> stated D uninterrupted sleep !!
> 
> This there should be NO uninterrupted sleep !!

I agree. Also, it shouldn't rain on public holidays.

poc

-- 
users mailing list
users@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe or change subscription options:
https://admin.fedoraproject.org/mailman/listinfo/users
Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines
Have a question? Ask away: http://ask.fedoraproject.org


[Index of Archives]     [Older Fedora Users]     [Fedora Announce]     [Fedora Package Announce]     [EPEL Announce]     [EPEL Devel]     [Fedora Magazine]     [Fedora Summer Coding]     [Fedora Laptop]     [Fedora Cloud]     [Fedora Advisory Board]     [Fedora Education]     [Fedora Security]     [Fedora Scitech]     [Fedora Robotics]     [Fedora Infrastructure]     [Fedora Websites]     [Anaconda Devel]     [Fedora Devel Java]     [Fedora Desktop]     [Fedora Fonts]     [Fedora Marketing]     [Fedora Management Tools]     [Fedora Mentors]     [Fedora Package Review]     [Fedora R Devel]     [Fedora PHP Devel]     [Kickstart]     [Fedora Music]     [Fedora Packaging]     [Fedora SELinux]     [Fedora Legal]     [Fedora Kernel]     [Fedora OCaml]     [Coolkey]     [Virtualization Tools]     [ET Management Tools]     [Yum Users]     [Yosemite News]     [Gnome Users]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [Fedora Sparc]     [Libvirt Users]     [Fedora ARM]

  Powered by Linux