mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Alexey Budankov <alexey.budankov@linux.intel.com>
To: Jiri Olsa <jolsa@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@kernel.org>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Namhyung Kim <namhyung@kernel.org>,
	Andi Kleen <ak@linux.intel.com>,
	linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v11 2/3]: perf record: enable asynchronous trace writing
Date: Mon, 8 Oct 2018 18:39:21 +0300	[thread overview]
Message-ID: <1548bd97-4d8f-f0b6-3a37-b3f2e464ff7d@linux.intel.com> (raw)
In-Reply-To: <20181008151108.GH18757@krava>

Hi,
On 08.10.2018 18:11, Jiri Olsa wrote:
> On Mon, Oct 08, 2018 at 05:42:18PM +0300, Alexey Budankov wrote:
>> 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.
> 
> yes, it's an 'arg' to aio_write syscall
> 
>> 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.
> 
> but does the aio_write need the lseek 'set' call? if not, we could

Yes, lseek(,, SEEK_SET) is still required after the loop, so the next 
synchronous records would go after AIO written parts that might be
still *in-flight* by that time.

Thanks,
Alexey

> keep the 'offset' value within perf (like in the struct perf_data_file
> or struct record) without any need to call lseek
> 
> jirka
> 

  reply	other threads:[~2018-10-08 15:39 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-08  5:55 [PATCH v11 0/3]: perf: reduce data loss when profiling highly parallel CPU bound workloads Alexey Budankov
2018-10-08  6:14 ` [PATCH v11 1/3]: perf util: map data buffer for preserving collected data Alexey Budankov
2018-10-08 10:50   ` Jiri Olsa
2018-10-08 11:55     ` Alexey Budankov
2018-10-08 12:37       ` Jiri Olsa
2018-10-08 10:50   ` Jiri Olsa
2018-10-08 12:03     ` Alexey Budankov
2018-10-08 12:38       ` Jiri Olsa
2018-10-08 14:43         ` Alexey Budankov
2018-10-08 15:12           ` Jiri Olsa
2018-10-08 15:38             ` Alexey Budankov
2018-10-08 10:51   ` Jiri Olsa
2018-10-08 12:05     ` Alexey Budankov
2018-10-08  6:17 ` [PATCH v11 2/3]: perf record: enable asynchronous trace writing Alexey Budankov
2018-10-08 10:50   ` Jiri Olsa
2018-10-08 12:17     ` Alexey Budankov
2018-10-08 10:51   ` Jiri Olsa
2018-10-08 12:19     ` Alexey Budankov
2018-10-08 10:52   ` Jiri Olsa
2018-10-08 12:24     ` Alexey Budankov
2018-10-08 12:53       ` Jiri Olsa
2018-10-08 14:42         ` Alexey Budankov
2018-10-08 15:11           ` Jiri Olsa
2018-10-08 15:39             ` Alexey Budankov [this message]
2018-10-08 10:57   ` Jiri Olsa
2018-10-08 12:15     ` Alexey Budankov
2018-10-08 10:58   ` Jiri Olsa
2018-10-08 12:26     ` Alexey Budankov
2018-10-08  6:19 ` [PATCH v11 3/3]: perf record: extend trace writing to multi AIO Alexey Budankov
2018-10-08 10:55   ` Jiri Olsa
2018-10-08 11:47     ` Alexey Budankov
2018-10-08 12:45       ` Jiri Olsa
2018-10-08 15:21         ` Alexey Budankov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1548bd97-4d8f-f0b6-3a37-b3f2e464ff7d@linux.intel.com \
    --to=alexey.budankov@linux.intel.com \
    --cc=acme@kernel.org \
    --cc=ak@linux.intel.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=namhyung@kernel.org \
    --cc=peterz@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®