public inbox for linux-arm-kernel@lists.infradead.org 
 help / color / mirror / Atom feed
From: catalin.marinas@arm•com (Catalin Marinas)
To: linux-arm-kernel@lists•infradead.org
Subject: [PATCH v9 1/6] arm64: Add macros to manage processor debug state
Date: Wed, 19 Feb 2014 16:03:59 +0000	[thread overview]
Message-ID: <20140219160359.GB22252@arm.com> (raw)
In-Reply-To: <20140219113157.GG30457@arm.com>

On Wed, Feb 19, 2014 at 11:31:57AM +0000, Catalin Marinas wrote:
> On Wed, Feb 19, 2014 at 04:44:05AM +0000, Vijay Kilari wrote:
> >  Reposted v10 version of patches which is rebased on 3.14-rc3 kernel.
> > Test results are as follows on v8 foundation model.
> > 
> >  vda: vda1 vda2
> > kgdb: Registered I/O driver kgdbts.
> > kgdbts:RUN plant and detach test
> > kgdbts:RUN sw breakpoint test
> > kgdbts:RUN bad memory access test
> > kgdbts:RUN singlestep test 1000 iterations
> > kgdbts:RUN singlestep [0/1000]
> > kgdbts:RUN singlestep [100/1000]
> > kgdbts:RUN singlestep [200/1000]
> > kgdbts:RUN singlestep [300/1000]
> > kgdbts:RUN singlestep [400/1000]
> > kgdbts:RUN singlestep [500/1000]
> > kgdbts:RUN singlestep [600/1000]
> > kgdbts:RUN singlestep [700/1000]
> > kgdbts:RUN singlestep [800/1000]
> > kgdbts:RUN singlestep [900/1000]
> > kgdbts:RUN do_fork for 100 breakpoints
> 
> OK, I eventually managed to reproduce this. But by running with two
> CPUs, I get (during the do_fork() tests):
> 
> BUG: scheduling while atomic: kworker/u8:0/6/0x00000002
> Modules linked in:
> CPU: 1 PID: 6 Comm: kworker/u8:0 Not tainted 3.14.0-rc3+ #306
> Workqueue: khelper __call_usermodehelper
> Call trace:
> [<ffffffc000087dbc>] dump_backtrace+0x0/0x12c
> [<ffffffc000087efc>] show_stack+0x14/0x1c
> [<ffffffc00043c224>] dump_stack+0x78/0xc4
> [<ffffffc000439b48>] __schedule_bug+0x40/0x54
> [<ffffffc00043d67c>] __schedule+0x514/0x604
> [<ffffffc00043d794>] schedule+0x28/0x78
> [<ffffffc00043cc90>] schedule_timeout+0x170/0x1bc
> [<ffffffc00043e16c>] wait_for_common+0xc0/0x14c
> [<ffffffc00043e280>] wait_for_completion_killable+0x14/0x28
> [<ffffffc0000942f8>] do_fork+0x158/0x2a8
> [<ffffffc000094478>] kernel_thread+0x30/0x38
> [<ffffffc0000a842c>] __call_usermodehelper+0x34/0xa8
> [<ffffffc0000ab300>] process_one_work+0x118/0x354
> [<ffffffc0000abfcc>] worker_thread+0x13c/0x3c0
> [<ffffffc0000b1e84>] kthread+0xd4/0xe8
> 
> 
> It gets much worse if I run with two CPUs and CONFIG_KGDB_KDB enabled
> (but fine with a single CPU).
> 
> So no need to post another series for now but please check the multi-CPU
> case as well and send a separate fix. I'll dig a bit on my side as well.

So far I'm done with the investigation. It looks to me like one of the
kgdb tests, kgdb core or the arm64 back-end (or maybe more than one) is
not SMP safe. The errors either appear or disappear based on the printks
I put through the kgdb test or other config options which I enable.

Could you please look into making the kgdb back-end SMP-safe?

Thanks.

-- 
Catalin

  reply	other threads:[~2014-02-19 16:03 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-28 11:20 [PATCH v9 0/6] arm64: KGDB Support vijay.kilari at gmail.com
2014-01-28 11:20 ` [PATCH v9 1/6] arm64: Add macros to manage processor debug state vijay.kilari at gmail.com
2014-01-29 10:55   ` Will Deacon
2014-02-17 12:21     ` Vijay Kilari
2014-02-17 13:01       ` Catalin Marinas
2014-02-18 11:29         ` Vijay Kilari
2014-02-18 12:02           ` Catalin Marinas
2014-02-19  4:44             ` Vijay Kilari
2014-02-19 11:31               ` Catalin Marinas
2014-02-19 16:03                 ` Catalin Marinas [this message]
2014-02-19 16:12                   ` Will Deacon
2014-02-20  6:58                     ` Vijay Kilari
2014-02-20 11:42                       ` Will Deacon
2014-02-20 12:22                         ` Vijay Kilari
2014-02-20 15:56                           ` Will Deacon
2014-02-20 16:27                             ` Catalin Marinas
2014-02-21  5:19                               ` Vijay Kilari
2014-02-20 11:52                       ` Catalin Marinas
2014-01-28 11:20 ` [PATCH v9 2/6] arm64: KGDB: Add Basic KGDB support vijay.kilari at gmail.com
2014-01-28 11:20 ` [PATCH v9 3/6] arm64: KGDB: Add step debugging support vijay.kilari at gmail.com
2014-01-28 11:20 ` [PATCH v9 4/6] KGDB: make kgdb_breakpoint() as noinline vijay.kilari at gmail.com
2014-01-28 11:20 ` [PATCH v9 5/6] misc: debug: remove compilation warnings vijay.kilari at gmail.com
2014-01-28 11:20 ` [PATCH v9 6/6] arm64: KGDB: Add KGDB config vijay.kilari at gmail.com

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=20140219160359.GB22252@arm.com \
    --to=catalin.marinas@arm$(echo .)com \
    --cc=linux-arm-kernel@lists$(echo .)infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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