lkml.org 
[lkml]   [2002]   [Aug]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: manipulating sigmask from filesystems and drivers
On Fri, 2 Aug 2002, Paul Menage wrote:

> In article <0C01A29FBAE24448A792F5C68F5EA47D2D3E2B@nasdaq.ms.ensim.com>,
> you write:
> >
> >With write(), you have to make a judgement call. Unlike read, a truncated
> >write _is_ visible outside the killed process. But exactly like read()
> >there _are_ system management reasons why you may really need to kill
> >writers. So the debatable point comes from whether you want to consider a
> >killing signal to be "exceptional enough" to warrant the partial write.
> >
>
> How about a sysctl that lets the user specify the size threshold at
> which writes use a killable wait state rather than
> TASK_UNINTERRUPTIBLE? (Probably defaulting to never.)

/usr/include/linux/limits.h:#define PIPE_BUF 4096 /* #
bytes in atomic write to a pipe */

According to SUSv3, this is the maximum size that write is guaranteed to
be atomic for.

The minimum size this can be set to is 512. I *think* this applies to
file io - but I'm not up to tracking all the definitions down.

So, you've already got the definitions in place, especially the size
limits. It even reads like changing the behavior for larger writes
would be acceptable.

Just leave the small writes alone and I think you'll avoid causing large
problems for the majority of applications.

--
Ryan Anderson
sometimes Pug Majere

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:27    [W:0.030 / U:2.488 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site