All of lore.kernel.org
 help / color / mirror / Atom feed
From: Philippe Gerum <rpm@xenomai.org>
To: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>,
	Kurijn Buys <Kurijn.Buys@open.ac.uk>
Cc: Xenomai@xenomai.org
Subject: Re: [Xenomai] latency spikes under load
Date: Wed, 04 Dec 2013 09:44:44 +0100	[thread overview]
Message-ID: <529EEB7C.4090308@xenomai.org> (raw)
In-Reply-To: <529E2801.5060505@xenomai.org>

On 12/03/2013 07:50 PM, Gilles Chanteperdrix wrote:
> On 12/03/2013 05:49 PM, Kurijn Buys wrote:
>> Op 3-dec.-2013, om 15:54 heeft Gilles Chanteperdrix het volgende geschreven:
>>
>>> On 12/03/2013 04:31 PM, Kurijn Buys wrote:
>>>> Op 3-dec.-2013, om 13:23 heeft Gilles Chanteperdrix het volgende
>>>> geschreven:
>>>>
>>>>> On 12/03/2013 02:07 PM, Kurijn Buys wrote:
>>>>>> Thanks for the quick response, ACPI is enabled, I only disabled
>>>>>> "Processor" in there... -1 was a typo indeed, it is at 1... I
>>>>>> see SCHED_SMT [=y] in my kernel config... shall I recompile the
>>>>>> kernel with this disabled then... no other things to try first/at
>>>>>> the same time?
>>>>>
>>>>> To remove hyperthreading, either: - disable it in the BIOS
>>>>> configuration; - or disable CONFIG_SMP (not SCHED_SMPT) in the
>>>>> kernel configuration.
>>>>>
>>>> Ah I see, CONFIG_SMP is also enabled... I've disabled it in BIOS, but
>>>> no success (tell me if it is worth trying to disable it in the kernel
>>>> config in stead).
>>>
>>> When you say "no success", you mean you still have 2 cpus ? Or you still
>>> have latency pikes? If the former, then yes, try without CONFIG_SMP, or
>>> pass nr_cpus=1 on the command line. If the latter, then no, testing
>>> without CONFIG_SMP is useless.
>>
>> the second: still latency...
>> (lscpu says there is only 1 cpu now)
>>
>>>
>>>>
>>>>>>
>>>>>> I realized that the test with sched_rt_runtime_us on -1 I
>>>>>> performed was with an earlier set-up. When I set it now to -1, I
>>>>>> have better performance, but: 1) still spikes of up to 87us under
>>>>>> load with ./latency 2) still some completely shifted occurrences
>>>>>> with the other latency test, with a 1000µs period (but now only 2
>>>>>> out of 890814), and the rest of the distribution lies in
>>>>>> [861-1139]µs, which is also rather large I suppose.
>>>>>
>>>>> sched_rt_runtime_us should not make any difference.
>>>>>
>>>>> Something else you should try is to disable root thread priority
>>>>> coupling.
>>>>>
>>>> I have tried a config with priority coupling support disabled before,
>>>> but then the system was even more vulnerable for such latency peaks
>>>> (however the mean latency was a little lower!) (I still have the
>>>> kernel, but unfortunately the I-pipe tracer isn't installed there)
>>>
>>> Please keep priority coupling disabled in further tests.
>>>
>>>>
>>>>>>
>>>>>> The ipipe trace after test (1) was similar to the one I posted,
>>>>>> where this line seems to be the problem I suppose: :|   #end
>>>>>> 0x80000001 -179! 149.235  ipipe_check_context+0x87
>>>>>> (add_preempt_count+0x15)
>>>>>>
>>>> ...I hoped the I-pipe trace would help..?
>>>
>>> Unfortunately the trace is not helping much.
>>
>> If it would help, I've another trace (joint as txt) where the following line seems to indicate a problem:
>> :    +func                -141! 117.825  i915_gem_flush_ring+0x9 [i915] (i915_gem_do_execbuffer+0xb46 [i915])
>> -- The Open University is incorporated by Royal Charter (RC 000391), an exempt charity in England & Wales and a charity registered in Scotland (SC 038302).
>
> Ah this is a known issue then. I traced back this issue some time ago,
> and from what I understood on the rt-users mailing list it is fixed on
> more recent kernels. So, I would advise to update to 3.10.18 branch,
> available here by git:

Incidentally, I've been chasing a latency issue on x86 involving the 
i915 chipset recently on 3.10, and it turned out that we were still 
badly hit by wbinvd instructions, emitted on _all_ cores via an IPI in 
the GEM control code, when the LLC cache is present.

The jitter incurred by invalidating all internal caches exceeds 300 us 
in my test case, so it seems that we are not there yet.

>
> git://git.xenomai.org/ipipe.git branch ipipe-3.10.18
>
> Alternatively, you can disable graphic acceleration by using XFree/Xorg
> fbdev driver instead of i915.
>

Yes, this is still the safest option with some chipsets unfortunately.

> Regards.
>


-- 
Philippe.


  reply	other threads:[~2013-12-04  8:44 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-03 11:38 [Xenomai] latency spikes under load Kurijn Buys
2013-12-03 11:54 ` Gilles Chanteperdrix
2013-12-03 12:31 ` Gilles Chanteperdrix
2013-12-03 13:07   ` Kurijn Buys
2013-12-03 13:23     ` Gilles Chanteperdrix
2013-12-03 15:31       ` Kurijn Buys
2013-12-03 15:54         ` Gilles Chanteperdrix
2013-12-03 16:49           ` Kurijn Buys
2013-12-03 18:50             ` Gilles Chanteperdrix
2013-12-04  8:44               ` Philippe Gerum [this message]
2013-12-04  8:51                 ` Gilles Chanteperdrix
2013-12-04  9:27                   ` Philippe Gerum
2013-12-04  9:31                     ` Gilles Chanteperdrix
2013-12-04  9:40                       ` Philippe Gerum
2013-12-04  9:51                         ` Gilles Chanteperdrix
2013-12-04 10:29                           ` Philippe Gerum
2013-12-04 10:33                             ` Philippe Gerum
2013-12-04 11:04                               ` Philippe Gerum
2013-12-04 11:10                                 ` Gilles Chanteperdrix
2013-12-04 11:36                                   ` Philippe Gerum
2013-12-04 11:59                                     ` Philippe Gerum
2013-12-04 12:00                                       ` Gilles Chanteperdrix
2013-12-04 13:19                                         ` Philippe Gerum
2013-12-04 16:03                                           ` Gilles Chanteperdrix
2013-12-04 17:43                                             ` Philippe Gerum
2013-12-05  0:44                                               ` Kurijn Buys
2013-12-05 10:28                                                 ` Kurijn Buys
2013-12-05 11:05                                                   ` Philippe Gerum
2013-12-05 11:09                                                 ` Gilles Chanteperdrix
2013-12-09 15:19                                                   ` Kurijn Buys
2013-12-09 15:27                                                     ` Gilles Chanteperdrix
2013-12-11 14:23                                                       ` Kurijn Buys
2013-12-11 14:51                                                         ` Lennart Sorensen
2013-12-11 16:04                                                           ` Tobias Luksch
2013-12-11 17:21                                                             ` Gilles Chanteperdrix
2013-12-11 16:44                                                       ` [Xenomai] Analogy NI 6052E Kurijn Buys
2014-03-21 14:33                                                         ` Erhart Robert (CC-DA/ESR3)
2014-03-22 16:58                                                           ` Gilles Chanteperdrix

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=529EEB7C.4090308@xenomai.org \
    --to=rpm@xenomai.org \
    --cc=Kurijn.Buys@open.ac.uk \
    --cc=Xenomai@xenomai.org \
    --cc=gilles.chanteperdrix@xenomai.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 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.