From: Hao Xu <haoxu@linux.alibaba.com>
To: Pavel Begunkov <asml.silence@gmail.com>, Jens Axboe <axboe@kernel.dk>
Cc: io-uring@vger.kernel.org, Joseph Qi <joseph.qi@linux.alibaba.com>
Subject: Re: [PATCH RFC 5.13 1/2] io_uring: add support for ns granularity of io_sq_thread_idle
Date: Tue, 5 Oct 2021 23:00:15 +0800 [thread overview]
Message-ID: <db441630-c181-e3d3-8cbe-39e1c489f274@linux.alibaba.com> (raw)
In-Reply-To: <6f688741-2ffe-060e-485f-6c22d171a09c@gmail.com>
在 2021/9/30 下午8:04, Pavel Begunkov 写道:
> On 9/30/21 9:51 AM, Pavel Begunkov wrote:
>> On 9/29/21 1:13 PM, Hao Xu wrote:
>>> 在 2021/9/29 下午7:37, Pavel Begunkov 写道:
>>>> On 9/29/21 10:24 AM, Hao Xu wrote:
>>>>> 在 2021/9/28 下午6:51, Pavel Begunkov 写道:
>>>>>> On 9/26/21 11:00 AM, Hao Xu wrote:
>>>> [...]
>>>>>>> I'm gonna pick this one up again, currently this patch
>>>>>>> with ktime_get_ns() works good on our productions. This
>>>>>>> patch makes the latency a bit higher than before, but
>>>>>>> still lower than aio.
>>>>>>> I haven't gotten a faster alternate for ktime_get_ns(),
>>>>>>> any hints?
>>>>>>
>>>>>> Good, I'd suggest to look through Documentation/core-api/timekeeping.rst
>>>>>> In particular coarse variants may be of interest.
>>>>>> https://www.kernel.org/doc/html/latest/core-api/timekeeping.html#coarse-and-fast-ns-access
>>>>>>
>>>>> The coarse functions seems to be like jiffies, because they use the last
>>>>> timer tick(from the explanation in that doc, it seems the timer tick is
>>>>> in the same frequency as jiffies update). So I believe it is just
>>>>> another format of jiffies which is low accurate.
>>>>
>>>> I haven't looked into the details, but it seems that unlike jiffies for
>>>> the coarse mode 10ms (or whatever) is the worst case, but it _may_ be
>>> Maybe I'm wrong, but for jiffies, 10ms uis also the worst case, no?
>>> (say HZ = 100, then jiffies updated by 1 every 10ms)
>>
>> I'm speculating, but it sounds it's updated on every call to ktime_ns()
>> in the system, so if someone else calls ktime_ns() every 1us, than the
>> resolution will be 1us, where with jiffies the update interval is strictly
>> 10ms when HZ=100. May be not true, need to see the code.
>
> Taking a second quick look, doesn't seem to be the case indeed. And it's
> limited to your feature anyway, so the overhead of ktime_get() shouldn't
> matter much.
Thanks, I'll continue on this when return from the holiday.
>
>>>> much better on average and feasible for your case, but can't predict
>>>> if that's really the case in a real system and what will be the
>>>> relative error comparing to normal ktime_ns().
>
next prev parent reply other threads:[~2021-10-05 15:00 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-28 13:32 [PATCH RFC 5.13 0/2] adaptive sqpoll and its wakeup optimization Hao Xu
2021-04-28 13:32 ` [PATCH RFC 5.13 1/2] io_uring: add support for ns granularity of io_sq_thread_idle Hao Xu
2021-04-28 14:07 ` Pavel Begunkov
2021-04-28 14:16 ` Jens Axboe
2021-04-28 14:53 ` Pavel Begunkov
2021-04-28 14:54 ` Jens Axboe
2021-04-29 3:41 ` Hao Xu
2021-04-29 9:11 ` Pavel Begunkov
2021-05-05 14:07 ` Hao Xu
2021-05-05 17:40 ` Pavel Begunkov
2021-04-29 3:28 ` Hao Xu
2021-04-29 22:15 ` Pavel Begunkov
2021-09-26 10:00 ` Hao Xu
2021-09-28 10:51 ` Pavel Begunkov
2021-09-29 7:52 ` Hao Xu
2021-09-29 9:24 ` Hao Xu
2021-09-29 11:37 ` Pavel Begunkov
2021-09-29 12:13 ` Hao Xu
2021-09-30 8:51 ` Pavel Begunkov
2021-09-30 12:04 ` Pavel Begunkov
2021-10-05 15:00 ` Hao Xu [this message]
2021-04-28 13:32 ` [PATCH RFC 5.13 2/2] io_uring: submit sqes in the original context when waking up sqthread Hao Xu
2021-04-28 14:12 ` Jens Axboe
2021-04-29 4:12 ` Hao Xu
2021-04-28 14:34 ` Pavel Begunkov
2021-04-28 14:37 ` Pavel Begunkov
2021-04-29 4:37 ` Hao Xu
2021-04-29 9:28 ` Pavel Begunkov
2021-05-05 11:20 ` Hao Xu
2021-04-28 14:39 ` Jens Axboe
2021-04-28 14:50 ` Pavel Begunkov
2021-04-28 14:53 ` Jens Axboe
2021-04-28 14:56 ` Pavel Begunkov
2021-04-28 15:09 ` Jens Axboe
2021-04-29 4:43 ` Hao Xu
2021-04-29 8:44 ` Hao Xu
2021-04-29 22:10 ` Pavel Begunkov
2021-05-05 13:10 ` Hao Xu
2021-05-05 17:44 ` Pavel Begunkov
2021-04-29 22:02 ` Pavel Begunkov
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=db441630-c181-e3d3-8cbe-39e1c489f274@linux.alibaba.com \
--to=haoxu@linux.alibaba.com \
--cc=asml.silence@gmail.com \
--cc=axboe@kernel.dk \
--cc=io-uring@vger.kernel.org \
--cc=joseph.qi@linux.alibaba.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.