All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Woodhouse <dwmw2@infradead.org>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Benjamin LaHaise <bcrl@redhat.com>, jw schultz <jw@pegasys.ws>,
	linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: wait queue process state
Date: Wed, 29 May 2002 12:56:03 +0100	[thread overview]
Message-ID: <9160.1022673363@redhat.com> (raw)
In-Reply-To: <1022676201.9255.160.camel@irongate.swansea.linux.org.uk>


alan@lxorguk.ukuu.org.uk said:
>  Given an infinite number of monkeys yes. The 'disk I/O is not
> interruptible' assumption is buried in vast amounts of software. This
> isnt a case of sorting out a few misbehaving applications, you can
> start with some of the most basic unix programs like 'ed' and work
> outwards.

Still probably worth doing in the long term. In the short term, we could 
possibly have a sysctl or personality flag to disable it for the benefit of 
broken software. I'm in favour of just letting it break though, to be 
honest - it's _already_ possible to trigger the breakage in some 
circumstances and making it more reproducible is a _good_ thing.

>  If I remember rightly stat() is not interruptible anyway. I don't
> actually argue with the general claim. If I was redesigning unix right
> now I would have no blocking calls, just 'start_xyz' and wait/notify. 

stat() would be restartable. With -ERESTARTNOINTR would prevent us from 
ever actually returning -EINTR if the signal handler exists and returns.

I suspect open() would actually be more of a pain -- but that we could
probably also restart if we get interrupted as early as the read_inode()
stage.

You don't actually have to redesign the API, although I agree it could do 
with it. We could get rid of the bloody silly returning status _and_ length 
in one return code from read()/write() etc. 

--
dwmw2



  parent reply	other threads:[~2002-05-29 11:56 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-05-27 21:11 wait queue process state Joseph Cordina
2002-05-27 15:49 ` William Lee Irwin III
2002-05-28  7:57 ` Terje Eggestad
2002-05-28 23:01   ` jw schultz
2002-05-28 23:05     ` Benjamin LaHaise
2002-05-29  0:21       ` Alan Cox
2002-05-29 10:58         ` David Woodhouse
2002-05-29 12:43           ` Alan Cox
2002-05-29 11:55             ` Roman Zippel
2002-05-29 13:29               ` Alan Cox
2002-05-29 11:56             ` David Woodhouse [this message]
2002-05-31 19:05               ` Theodore Ts'o
2002-05-29 11:25       ` Trond Myklebust

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=9160.1022673363@redhat.com \
    --to=dwmw2@infradead.org \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=bcrl@redhat.com \
    --cc=jw@pegasys.ws \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.