mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Peter Teoh" <htmldeveloper@gmail.com>
To: "Peter Zijlstra" <peterz@infradead.org>
Cc: LKML <linux-kernel@vger.kernel.org>, "Ingo Molnar" <mingo@elte.hu>
Subject: Re: Locking API testsuite: Failures
Date: Wed, 27 Aug 2008 14:32:11 +0800	[thread overview]
Message-ID: <804dabb00808262332l4fb0a4d6i8adee9c809c65901@mail.gmail.com> (raw)
In-Reply-To: <1219802311.6462.26.camel@twins>

Thanks for the reply.

On Wed, Aug 27, 2008 at 9:58 AM, Peter Zijlstra <peterz@infradead.org> wrote:
> On Wed, 2008-08-27 at 08:27 +0800, Peter Teoh wrote:
>> [    0.000999] | Locking API testsuite:
>> [    0.000999] ----------------------------------------------------------------------------
>> [    0.000999]                                  | spin |wlock |rlock
>> |mutex | wsem | rsem |
>> [    0.000999]
>> --------------------------------------------------------------------------
>> [    0.000999]                      A-A deadlock:failed|failed|  ok
>> |failed|failed|failed|
>> [    0.000999]                  A-B-B-A deadlock:failed|failed|  ok
>> |failed|failed|failed|
>> [    0.000999]              A-B-B-C-C-A deadlock:failed|failed|  ok
>> |failed|failed|failed|
>> [    0.000999]              A-B-C-A-B-C deadlock:failed|failed|  ok
>> |failed|failed|failed|
>> [    0.000999]          A-B-B-C-C-D-D-A deadlock:failed|failed|  ok
>> |failed|failed|failed|
>> [    0.000999]          A-B-C-D-B-D-D-A deadlock:failed|failed|  ok
>> |failed|failed|failed|
>> [    0.000999]          A-B-C-D-B-C-D-A deadlock:failed|failed|  ok
>> |failed|failed|failed|
>> [    0.000999]                     double
>> unlock:failed|failed|failed|failed|failed|failed|
>> [    0.000999]                   initialize
>> held:failed|failed|failed|failed|failed|failed|
>> [    0.000999]                  bad unlock order:  ok  |  ok  |  ok  |
>>  ok  |  ok  |  ok  |
>> [    0.000999]
>> --------------------------------------------------------------------------
>> [    0.000999]               recursive read-lock:             |  ok  |
>>             |failed|
>> [    0.000999]            recursive read-lock #2:             |  ok  |
>>             |failed|
>> [    0.000999]             mixed read-write-lock:             |failed|
>>             |failed|
>> [    0.000999]             mixed write-read-lock:             |failed|
>>             |failed|
>> [    0.000999]
>> --------------------------------------------------------------------------
>> [    0.000999]      hard-irqs-on + irq-safe-A/12:failed|failed|  ok  |
>> [    0.000999]      soft-irqs-on + irq-safe-A/12:failed|failed|  ok  |
>> [    0.000999]      hard-irqs-on + irq-safe-A/21:failed|failed|  ok  |
>> [    0.000999]      soft-irqs-on + irq-safe-A/21:failed|failed|  ok  |
>> [    0.000999]        sirq-safe-A => hirqs-on/12:failed|failed|  ok  |
>> [    0.000999]        sirq-safe-A => hirqs-on/21:failed|failed|  ok  |
>> [    0.000999]          hard-safe-A + irqs-on/12:failed|failed|  ok  |
>> [    0.000999]          soft-safe-A + irqs-on/12:failed|failed|  ok  |
>> [    0.000999]          hard-safe-A + irqs-on/21:failed|failed|  ok  |
>> [    0.000999]          soft-safe-A + irqs-on/21:failed|failed|  ok  |
>> [    0.000999]     hard-safe-A + unsafe-B #1/123:failed|failed|  ok  |
>> [    0.000999]     soft-safe-A + unsafe-B #1/123:failed|failed|  ok  |
>>
>> truncated....
>>
>> I am just curious what does all these failures imply?
>
> Probably that you forgot to enable lockdep ;-)
>

Several questions:

1.   I noticed there is a Kconfig.debug with this entry:

config DEBUG_LOCKING_API_SELFTESTS
        bool "Locking API boot-time self-tests"
        depends on DEBUG_KERNEL
        help
          Say Y here if you want the kernel to run a short self-test during
          bootup. The self-test checks whether common types of locking bugs
          are detected by debugging mechanisms or not. (if you disable
          lock debugging then those bugs wont be detected of course.)
          The following locking APIs are covered: spinlocks, rwlocks,
          mutexes and rwsems.

How do I use this Kconfig.debug, just overwriting the standard
lib/Kconfig?   I overwrote it and got the following errors:

scripts/kconfig/conf -o arch/x86/Kconfig
file kernel/trace/Kconfig already scanned?
make[1]: *** [oldconfig] Error 1
make: *** [oldconfig] Error 2

2.   So does it make sense to  compile with
CONFIG_DEBUG_LOCKING_API_SELFTESTS without CONFIG_LOCKDEP?
Should the lib/Kconfig indicate such a dependency?

3.   My current .config (which gave rise to the failure errors) has
CONFIG_LOCKDEP_SUPPORT=y, and CONFIG_DEBUG_LOCKING_API_SELFTESTS=y.
Question is what is the different between LOCKDEP_SUPPORT and LOCKDEP
alone?

Thanks.

> In which case the error cases fail to produce an error, and the test
> fails, but its an expected error, otherwise it would have shouted much
> more verbose.
>
>
>
>



-- 
Regards,
Peter Teoh

  reply	other threads:[~2008-08-27  6:32 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-27  0:27 Peter Teoh
2008-08-27  1:58 ` Peter Zijlstra
2008-08-27  6:32   ` Peter Teoh [this message]
2008-08-27  6:45     ` Ingo Molnar

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=804dabb00808262332l4fb0a4d6i8adee9c809c65901@mail.gmail.com \
    --to=htmldeveloper@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --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®