From: tglx@linutronix.de (Thomas Gleixner)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] arch/arm64 :Cyclic Test fix in ARM64 fpsimd
Date: Tue, 19 May 2015 02:07:52 +0200 (CEST) [thread overview]
Message-ID: <alpine.DEB.2.11.1505190207070.4225@nanos> (raw)
In-Reply-To: <20150518213835.GD4275@linutronix.de>
On Mon, 18 May 2015, Sebastian Andrzej Siewior wrote:
> * Gary Robertson | 2015-05-18 08:23:16 [-0500]:
>
> >I have been following this thread and was able to obtain a copy of the full
> >log from Anders.
> >My initial impression based upon the log entries is that the excessive
> >latencies did not occur during the fpsimd calls -
> >but the actual progress of an individual task is a bit difficult to follow
> >through the logs, so in my spare time
> >I started writing a parser to sort it into a format easier to follow. I
> >hope to have it completed shortly.
> >This parser will sort the log first by CPU and then by thread so the cause
> >of the delay will be easier to see.
>
> There is a smaller version of it at
> https://breakpoint.cc/arm64_simd_trace_cpu.txt
>
> which contains only CPU0 around that "event. Here are a few pieces:
> |cyclicte-964 0....1.. 511965877us : __schedule <-schedule
> cyclictest goes away
>
> |kworker/-353 0....111 511965906us : rt_spin_unlock <-process_one_work
> kworker is now active
>
> |kworker/-353 0....112 511965954us : kernel_neon_begin_partial <-virt_efi_set_time
> |kworker/-353 0....112 511965955us : preempt_count_add <-kernel_neon_begin_partial
> and kworker invokes virt_efi_set_time which does the neon save thingy.
>
> |kworker/-353 0d...212 511966764us : __handle_domain_irq <-gic_handle_irq
> now we have an interrupt comming.
>
> |kworker/-353 0dn.h412 511966793us : task_woken_rt <-ttwu_do_wakeup
> it might be the timer for cyclictest wakeup it might not, however we
> have the N flag set and kworker has to go.
>
> |kworker/-353 0dn..212 511966806us : rcu_sysidle_enter <-rcu_irq_exit
> |kworker/-353 0dn..212 511967108us : __handle_domain_irq <-gic_handle_irq
> |kworker/-353 0dn..212 511967109us : irq_enter <-__handle_domain_irq
> so we finished handling one irq and we contiunue with the next one? This
> goes on and on and on until finally after a while we have this:
>
> |kworker/-353 0dn..212 512064373us : rcu_irq_exit <-irq_exit
> |kworker/-353 0dn..212 512064374us : rcu_sysidle_enter <-rcu_irq_exit
> |kworker/-353 0.n..212 512065116us : kernel_neon_end <-virt_efi_set_time
> |kworker/-353 0.n..212 512065116us : preempt_count_sub <-kernel_neon_end
> |kworker/-353 0.n..112 512065117us : __schedule <-preempt_schedule
>
> and this time we were able to return from rcu_irq_exit and continue with
> virt_efi_set_time and finally switch the task. So yes, preemption was
> disabled during kernel_neon_{being|end} but we also received 81
> interrupt ("gic_handle_irq invocation") during that time. Why is that?
> |kworker/-353 0dn..212 512064373us : rcu_irq_exit <-irq_exit
> |kworker/-353 0dn..212 512064374us : rcu_sysidle_enter <-rcu_irq_exit
That's called from RCU_NONIDLE(). Go figure ...
Thanks,
tglx
next prev parent reply other threads:[~2015-05-19 0:07 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CAPyr0yJSGqvxkUWLtNKe0q5mNanBczAfAVx0tPKuzYeDG+eJ=Q@mail.gmail.com>
2015-05-06 19:38 ` [PATCH] arch/arm64 :Cyclic Test fix in ARM64 fpsimd Anders Roxell
2015-05-07 11:09 ` Ayyappa Ch
2015-05-08 0:09 ` Anders Roxell
2015-05-11 5:32 ` Ayyappa Ch
2015-05-14 16:07 ` Sebastian Andrzej Siewior
2015-05-16 6:38 ` Ayyappa Ch
[not found] ` <CAF7YWnw08YK7ogAoLTYXusOvtGCxfDPJW0H+8LyWDzNi_CbR=w@mail.gmail.com>
2015-05-18 21:38 ` Sebastian Andrzej Siewior
2015-05-19 0:07 ` Thomas Gleixner [this message]
2015-05-21 13:50 ` Anders Roxell
2015-05-21 15:23 ` Ard Biesheuvel
2015-05-21 15:35 ` Arnd Bergmann
2015-05-21 16:01 ` Ard Biesheuvel
2015-05-22 9:46 ` Arnd Bergmann
2015-05-22 10:04 ` Ard Biesheuvel
2015-05-22 10:31 ` Arnd Bergmann
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=alpine.DEB.2.11.1505190207070.4225@nanos \
--to=tglx@linutronix.de \
--cc=linux-arm-kernel@lists.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