Messages in this thread | | | Subject | Re: [PATCH v11 2/3]: perf record: enable asynchronous trace writing | From | Alexey Budankov <> | Date | Mon, 8 Oct 2018 17:42:18 +0300 |
| |
Hi, On 08.10.2018 15:53, Jiri Olsa wrote: > On Mon, Oct 08, 2018 at 03:24:31PM +0300, Alexey Budankov wrote: >> Hi, >> >> On 08.10.2018 13:52, Jiri Olsa wrote: >>> On Mon, Oct 08, 2018 at 09:17:11AM +0300, Alexey Budankov wrote: >> <SNIP> >>>> +#ifdef HAVE_AIO_SUPPORT >>>> + off = lseek(trace_fd, 0, SEEK_CUR); >>>> +#endif >>> >>> I'm still little puzzled why we need to do this, >>> when the aio write takes the offset value, but >> >> pwrite() syscall [1] which is the base for aio_write() doesn't >> advance file pos value so it requires to be calculated and >> updated by callers of aio_write() API. > > ok, so aio_write does not need the offset to be updated, > who needs it then?
aio_write() needs this offset as an input parameter. aio_write() gets offset as a part of cblock object. Adjacent aio_write() records should not overlap in the trace file so off value is incremented by size in every loop iteration after successful aio_write() call.
Thanks, Alexey
> > jirka >
| |