From: John Garry <john.garry@huawei.com>
To: Arnd Bergmann <arnd@arndb.de>
Cc: kbuild test robot <lkp@intel.com>, <kbuild-all@01.org>,
"Martin K. Petersen" <martin.petersen@oracle.com>,
"James E.J. Bottomley" <jejb@linux.vnet.ibm.com>,
<linuxarm@huawei.com>, <linux-scsi@vger.kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Christoph Hellwig <hch@infradead.org>,
"Xiang Chen" <chenxiang66@hisilicon.com>
Subject: Re: [PATCH v5 03/23] scsi: hisi_sas: optimise the usage of hisi_hba.lock
Date: Mon, 12 Jun 2017 11:24:45 +0100 [thread overview]
Message-ID: <e63cd1aa-297b-0e46-abbc-3fb96614738e@huawei.com> (raw)
In-Reply-To: <CAK8P3a1jpah1ERvg2_ESmHizvJH9veTHTXU1cADt0wyfB80bsw@mail.gmail.com>
On 12/06/2017 10:45, Arnd Bergmann wrote:
> On Mon, Jun 12, 2017 at 10:26 AM, John Garry <john.garry@huawei.com> wrote:
>> On 10/06/2017 21:44, kbuild test robot wrote:
>>
>>
>> I don't think that reusing flags variable is in error, as there would be no
>> nested spinlock at this point within the function.
>>
>> If it is not recommended or not permitted to reuse flags variable for
>> separate spinlocks, then that can be changed - I don't know.
>
> No, look again: coccinelle is right as the locks are nested in
> https://github.com/0day-ci/linux/blob/bf95e9cccde4af4ed2012a6ec44d48b545d5ffed/drivers/scsi/hisi_sas/hisi_sas_main.c#L1208
>
> dq->lock is already held and you acquire task->task_state_lock in
> line 1208, which overwrites the flags.
>
> Arnd
Hi Arnd,
Ah, now I see. The error message mislead me, as I straight away checked
hisi_sas_task_prep() which does the same locking and also reuses flags
for spinlock_irqsave(), but it's safe here.
But, as you pointed out, the problem is in
hisi_sas_internal_abort_task_exec().
A thought: it would be useful if coccinelle printed explicitly the
function name which has the warning/error.
Thanks,
John
>
> .
>
next prev parent reply other threads:[~2017-06-12 10:26 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-09 14:16 [PATCH v5 00/23] hisi_sas: hip08 support John Garry
2017-06-09 14:16 ` [PATCH v5 01/23] scsi: hisi_sas: fix timeout check in hisi_sas_internal_task_abort() John Garry
2017-06-09 14:16 ` [PATCH v5 02/23] scsi: hisi_sas: define hisi_sas_device.device_id as int John Garry
2017-06-09 14:16 ` [PATCH v5 03/23] scsi: hisi_sas: optimise the usage of hisi_hba.lock John Garry
2017-06-10 20:44 ` kbuild test robot
2017-06-12 8:26 ` John Garry
2017-06-12 9:45 ` Arnd Bergmann
2017-06-12 10:24 ` John Garry [this message]
2017-06-09 14:16 ` [PATCH v5 04/23] scsi: hisi_sas: relocate get_ata_protocol() John Garry
2017-06-09 14:16 ` [PATCH v5 05/23] scsi: hisi_sas: relocate sata_done_v2_hw() John Garry
2017-06-09 14:16 ` [PATCH v5 06/23] scsi: hisi_sas: relocate get_ncq_tag_v2_hw() John Garry
2017-06-09 14:16 ` [PATCH v5 07/23] scsi: hisi_sas: add pci_dev in hisi_hba struct John Garry
2017-06-09 14:16 ` [PATCH v5 08/23] scsi: hisi_sas: create hisi_sas_get_fw_info() John Garry
2017-06-09 14:16 ` [PATCH v5 09/23] scsi: hisi_sas: add skeleton v3 hw driver John Garry
2017-06-09 14:16 ` [PATCH v5 10/23] scsi: hisi_sas: add initialisation for v3 pci-based controller John Garry
2017-06-09 14:16 ` [PATCH v5 11/23] scsi: hisi_sas: add v3 hw init John Garry
2017-06-09 14:16 ` [PATCH v5 12/23] scsi: hisi_sas: add v3 hw PHY init John Garry
2017-06-09 14:16 ` [PATCH v5 13/23] scsi: hisi_sas: add phy up/down/bcast and channel ISR John Garry
2017-06-09 14:16 ` [PATCH v5 14/23] scsi: hisi_sas: add v3 cq interrupt handler John Garry
2017-06-09 14:16 ` [PATCH v5 15/23] scsi: hisi_sas: add v3 code to send SSP frame John Garry
2017-06-09 14:16 ` [PATCH v5 16/23] scsi: hisi_sas: add v3 code to send SMP frame John Garry
2017-06-09 14:16 ` [PATCH v5 17/23] scsi: hisi_sas: add v3 code to send ATA frame John Garry
2017-06-09 14:16 ` [PATCH v5 18/23] scsi: hisi_sas: add v3 code for itct setup and free John Garry
2017-06-09 14:16 ` [PATCH v5 19/23] scsi: hisi_sas: add v3 code to send internal abort command John Garry
2017-06-09 14:16 ` [PATCH v5 20/23] scsi: hisi_sas: add get_wideport_bitmap_v3_hw() John Garry
2017-06-09 14:16 ` [PATCH v5 21/23] scsi: hisi_sas: Add v3 code to support ECC and AXI bus fatal error John Garry
2017-06-09 14:16 ` [PATCH v5 22/23] scsi: hisi_sas: add v3 code to fill some more hw function pointers John Garry
2017-06-09 14:16 ` [PATCH v5 23/23] scsi: hisi_sas: modify internal abort dev flow for v3 hw John Garry
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=e63cd1aa-297b-0e46-abbc-3fb96614738e@huawei.com \
--to=john.garry@huawei.com \
--cc=arnd@arndb.de \
--cc=chenxiang66@hisilicon.com \
--cc=hch@infradead.org \
--cc=jejb@linux.vnet.ibm.com \
--cc=kbuild-all@01.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=linuxarm@huawei.com \
--cc=lkp@intel.com \
--cc=martin.petersen@oracle.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 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®