Messages in this thread | | | Subject | Re: [LTP] [PATCH v4 3/3] syscalls/pipe2_03: Add new test for pipe2 O_DIRECT flag | From | Yang Xu <> | Date | Thu, 30 Apr 2020 11:23:34 +0800 |
| |
Hi Linus
> On Sun, Apr 26, 2020 at 4:59 AM Li Wang <liwang@redhat.com> wrote: >> >> From kernel code seems you are right. The pipe indeed takes use of PAGE_SIZE(ppc64le: 64kB) to split the writes data in the packetized mode (marked by O_DIRECT). But in the manual page, O_DIRECT indicates us the PIPE_BUF is the correct atomic unit. > > The manual is correct. > > PIPE_BUF is the size we _guarantee_ can be used atomically. > > The fact that in practice we do have bigger buffers on some platforms > is an implementation detail. > > Yes, that implementation detail can be visible, but basically any test > code that tries to test for "what if we use a bigger bug that > PIPE_BUF" is buggy. It's simply not guaranteed to work any more. > > O_DIRECT is kind of immaterial, except it's just one of those things > where the atomic size is slightly more visible. But basically, > packetized pipes with bigger packets than PIPE_BUF is random behavior. > It may work. It may not. Thanks for your explanation. I am more curious about the user scene of this flag.
@Li, so how to design this test? In this test, we don't have complex scene to test this automic unit.
Best Regards Yang Xu > > Linus > >
| |