All of lore.kernel.org
 help / color / mirror / Atom feed
From: John Fastabend <john.fastabend@gmail.com>
To: Anish Bhatt <anish@chelsio.com>
Cc: "netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"davem@davemloft.net" <davem@davemloft.net>,
	"john.r.fastabend@intel.com" <john.r.fastabend@intel.com>,
	"ying.xue@windriver.com" <ying.xue@windriver.com>,
	"jeffrey.t.kirsher@intel.com" <jeffrey.t.kirsher@intel.com>,
	"ebiederm@xmission.com" <ebiederm@xmission.com>
Subject: Re: [PATCH net] dcbnl : Fix lock initialization
Date: Thu, 06 Nov 2014 12:16:32 -0800	[thread overview]
Message-ID: <545BD720.6050008@gmail.com> (raw)
In-Reply-To: <525DB349B3FB5444AE057A887CB2A8D8935DCF@nice.asicdesigners.com>

On 11/06/2014 11:12 AM, Anish Bhatt wrote:
> Yes, without this kernel is complaining about inconsitent lock state
> when lock debugging is enabled. Unfortunately I do not have the trace
> lying around right now.
>

If you have the trace that might help. I can't recall seeing any splats
in these code paths. Also as far as I can tell you shouldn't need to do
an init after the define. There are lots of examples in ./net/core where
this is done.

So we need to sort out why the init resolves the issue.

> If you wish, you can reject this patch, I'll resend it when I get the trace again, with trace included.
> -Anish
> ________________________________________
> From: John Fastabend [john.fastabend@gmail.com]
> Sent: Thursday, November 06, 2014 11:03 AM
> To: Anish Bhatt
> Cc: netdev@vger.kernel.org; davem@davemloft.net; john.r.fastabend@intel.com; ying.xue@windriver.com; jeffrey.t.kirsher@intel.com; ebiederm@xmission.com
> Subject: Re: [PATCH net] dcbnl : Fix lock initialization
>
> On 11/06/2014 10:09 AM, Anish Bhatt wrote:
>> dcb_lock was being used uninitialized in dcbnl and is infact missing
>>    initialization code. Fixed
>>
>
> Are you trying to resolve a bug? It is initialized with
>
> static DEFINE_SPINLOCK(dcb_lock);
>
> and if you follow the code far enough you get to this in
> spinlock_types.h:
>
>
>    #ifdef CONFIG_DEBUG_SPINLOCK
>    # define SPIN_DEBUG_INIT(lockname)      \
>        .magic = SPINLOCK_MAGIC,        \
>        .owner_cpu = -1,            \
>        .owner = SPINLOCK_OWNER_INIT,
>    #else
>    # define SPIN_DEBUG_INIT(lockname)
>    #endif
>
>    #define __RAW_SPIN_LOCK_INITIALIZER(lockname)   \
>        {                   \
>        .raw_lock = __ARCH_SPIN_LOCK_UNLOCKED,  \
>        SPIN_DEBUG_INIT(lockname)       \
>        SPIN_DEP_MAP_INIT(lockname) }
>
> [...]
>
>
>
> --
> John Fastabend         Intel Corporation
>


-- 
John Fastabend         Intel Corporation

  reply	other threads:[~2014-11-06 20:16 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-06 18:09 [PATCH net] dcbnl : Fix lock initialization Anish Bhatt
2014-11-06 19:03 ` John Fastabend
2014-11-06 19:12   ` Anish Bhatt
2014-11-06 20:16     ` John Fastabend [this message]
2014-11-06 20:19       ` Anish Bhatt

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=545BD720.6050008@gmail.com \
    --to=john.fastabend@gmail.com \
    --cc=anish@chelsio.com \
    --cc=davem@davemloft.net \
    --cc=ebiederm@xmission.com \
    --cc=jeffrey.t.kirsher@intel.com \
    --cc=john.r.fastabend@intel.com \
    --cc=netdev@vger.kernel.org \
    --cc=ying.xue@windriver.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.