lkml.org 
[lkml]   [2015]   [Jan]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subjectpread2/ pwrite2
On Tue, Jan 06, 2015 at 12:47:14AM -0800, Andrew Morton wrote:
> > progress, which is a bit frustrating.
>
> I took a look at pread2() as well and I have two main issues:
>
> - The patchset includes a pwrite2() syscall which has nothing to do
> with nonblocking reads and which was poorly described and had little
> justification for inclusion.

It allows to do O_SYNC writes on a per-I/O basis. This is very useful
for file servers (smb, cifs) as well as storage target devices.

Note: that part was my addition, and the complaint about lacking
description ever made it to me. Can you point to the relevant
questions?

> - We've talked for years about implementing this via fincore+pread
> and at least two fincore implementations are floating about. Now
> along comes pread2() which does it all in one hit.
>
> Which approach is best? I expect fincore+pread is simpler, more
> flexible and more maintainable. But pread2() will have lower CPU
> consumption and lower average-case latency.

fincore+pread is inherently racy and thus entirely unsuitable for the
use case of a non-blockign main thread.

Nevermind that the pread2 path is way simpler than any of the proposed
fincore patches.


\
 
 \ /
  Last update: 2015-01-08 13:01    [W:0.467 / U:0.292 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site