Re: async i/o question



Rainer, before you think to insult anyone, stop for second and read
again. Using read/write you can not have more than 1 buffer between
application and kernel module. You cannot queue several buffers using
read/write. The default read/write copies data from/to user/kernel
buffer which I try to avoid. If you read the thread, guru suggested
using io_xxx routines, which is good, but still uses some copy. What I
need is zero-copy mechanism where application exchange pointers with
kernel module and I found it in v4l framework.

On Nov 4, 3:15 pm, Rainer Weikusat <rweiku...@xxxxxxxxxxx> wrote:
anatolik <anato...@xxxxxxxxx> writes:
Ehh ... assuming you state your requirements correctly (and
completely), this is ordinary 'blocking' synchronous I/O, which
happens to be the default behaviour of the respective primitives
(read/ write/ send/ recv usf).

The requerements are correct, the application should send several
buffers to kernel module. Kernel mode fills the buffers when it has
data, the application processes the buffers when it gets cpu time and
sends buffers back.

THIS IS ORDINARY 'BLOCKING' SYNCHRONOUS I/O.

Hint: You are asking the stupid question, not me.


.



Relevant Pages

  • Re: RAID-1 performance under 2.4 and 2.6
    ... Modern applications which care about streaming I/O performance use large, aligned buffers which allow the kernel to efficiently optimize things, or they use direct I/O to do it themselves, or they make use of system calls like fadvise, madvise, splice, etc. that inform the kernel how they intend to use the data or pass the work off to the kernel completely. ... I'm less sure that large buffers are allocated on the stack, but often the behavior of the application models is the small buffered writes dd would do by default. ... And this is what I was saying earlier, there is a trend to blame the benchmark when in fact the same benchmark runs well on 2.4. ...
    (Linux-Kernel)
  • Re: Virtual alias cache coherency results (was: x86, ARM, PARISC, PPC, MIPS and Sparc folks please r
    ... >> The kernel works around this, but, due to some bugs on StrongARM chips ... You said you have results which report write buffers, ... CPU implementer: 0x41 ... Cache clean: cp15 c7 ops ...
    (Linux-Kernel)
  • Re: Reentrant problem with inet_ntoa in the kernel
    ... I am confused by the use of inet_ntoa function in the kernel. ... What about extending log and printf to ... that stack space is a limited resource in the ... which means adding those buffers can hit quite hard. ...
    (freebsd-net)
  • [RFC] LTTng Userspace Tracing, vDSO
    ... I am poking in the userspace tracing problem again. ... The idea is to fast-path tracing so a system call is not required. ... Per CPU buffers mapped by both userspace and the kernel ... can afford to have smaller buffers than the kernel buffers. ...
    (Linux-Kernel)
  • Re: What happens to stdout/stderr after execvp()?
    ... > Unless you turn off all bufferring on a stream with setvbuf, stdio accumulates ... > output into larger chunks and then gives a glob to the kernel at once: ... The kernel knows nothing about stdio buffers: ... > to flush buffers, and the kernel doesn't know there are buffers needing flushing. ...
    (comp.unix.programmer)