linux-mips
[Top] [All Lists]

Re: [target:for-next 51/51] ERROR: "__cmpxchg_called_with_bad_pointer" u

To: "Nicholas A. Bellinger" <nab@linux-iscsi.org>
Subject: Re: [target:for-next 51/51] ERROR: "__cmpxchg_called_with_bad_pointer" undefined!
From: Ralf Baechle <ralf@linux-mips.org>
Date: Tue, 4 Feb 2014 19:27:25 +0100
Cc: kbuild test robot <fengguang.wu@intel.com>, kbuild-all@01.org, target-devel <target-devel@vger.kernel.org>, linux-mips@linux-mips.org
In-reply-to: <1390989698.17325.73.camel@haakon3.risingtidesystems.com>
List-archive: <http://www.linux-mips.org/archives/linux-mips/>
List-help: <mailto:ecartis@linux-mips.org?Subject=help>
List-id: linux-mips <linux-mips.eddie.linux-mips.org>
List-owner: <mailto:ralf@linux-mips.org>
List-post: <mailto:linux-mips@linux-mips.org>
List-software: Ecartis version 1.0.0
List-subscribe: <mailto:ecartis@linux-mips.org?subject=subscribe%20linux-mips>
List-unsubscribe: <mailto:ecartis@linux-mips.org?subject=unsubscribe%20linux-mips>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <52e8a4ef.ROAJSlpOaZtBxfoG%fengguang.wu@intel.com> <1390989698.17325.73.camel@haakon3.risingtidesystems.com>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.5.21 (2010-09-15)
On Wed, Jan 29, 2014 at 02:01:38AM -0800, Nicholas A. Bellinger wrote:

> On Wed, 2014-01-29 at 14:51 +0800, kbuild test robot wrote:
> > tree:   
> > git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending.git 
> > for-next
> > head:   7769401d351d54d5cbcb6400ec60c0b916e87a7e
> > commit: 7769401d351d54d5cbcb6400ec60c0b916e87a7e [51/51] target: Fix 
> > percpu_ref_put race in transport_lun_remove_cmd
> > config: make ARCH=mips allmodconfig
> > 
> > All error/warnings:
> > 
> > >> ERROR: "__cmpxchg_called_with_bad_pointer" undefined!
> > 
> 
> So MIPS doesn't like typedef bool as 1-byte char being used for cmpxchg
> -> ll/sc instructions..
> 
> Fixing this up now by making se_cmd->lun_ref_active use a single word
> instead.

Thanks, looking good.

Note that this is a hardware restriction on LL/SC rsp. LLD/SCD which only
operate on natually aligned four rsp. eight byte operands.  Could fixed
but would slow down and inflate every invocation of cmpxchg() which is
currently an inline function and I feel a bit uneasy about hardware
behaviour when mixing LL/SC rsp. LLD/SCD with conventional loads and
stores.

  Ralf

<Prev in Thread] Current Thread [Next in Thread>
  • Re: [target:for-next 51/51] ERROR: "__cmpxchg_called_with_bad_pointer" undefined!, Ralf Baechle <=