All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gu Zheng <guz.fnst@cn.fujitsu.com>
To: Yinghai Lu <yinghai@kernel.org>
Cc: "linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>,
	Taku Izumi <izumi.taku@jp.fujitsu.com>,
	Jiang Liu <jiang.liu@huawei.com>,
	tangchen <tangchen@cn.fujitsu.com>,
	Lin Feng <linfeng@cn.fujitsu.com>
Subject: Re: [PATCH 0/3] PCI: fix the object lifetime issue of parallel device removal on different pci hierarchy
Date: Thu, 25 Apr 2013 09:10:07 +0800	[thread overview]
Message-ID: <5178826F.3040603@cn.fujitsu.com> (raw)
In-Reply-To: <CAE9FiQWai_7yc9R-=rqUhK7BTaGzMcBX8kHm6NW4ppUETmnzHQ@mail.gmail.com>

On 04/25/2013 07:48 AM, Yinghai Lu wrote:

> On Wed, Apr 24, 2013 at 10:11 AM, Yinghai Lu <yinghai@kernel.org> wrote:
>> On Wed, Apr 24, 2013 at 2:36 AM, Gu Zheng <guz.fnst@cn.fujitsu.com> wrote:
>>> On 04/19/2013 03:43 AM, Yinghai Lu wrote:
>> [...]
>>>> I can not find where that reference count get reduced!
>>>> in the my test patches that I sent, it does have have that in remove path.
>>>>
>>>> What is reason for you to remove that line?
>>>>
>>>> After put the line back, your test still can pass?
>>>
>>> Hi Yinghai,
>>>         The remove test script still can pass if we reduce the reference of pci_bus when destroying
>>> the pci_dev, so does your patch, but a list_del corruption warning occurs in the bottom half routine:
>>
>> That is not clear.
>>
>> your patchset does not have list_del corruption warning?

Hi Yinghai,
	Sorry for my unclear description, my patchset has the same warning.

>>
>>> ------------[ cut here ]------------
>>> WARNING: at lib/list_debug.c:53 __list_del_entry+0x63/0xd0()
>>> Hardware name: PRIMEQUEST 1800E
>>> list_del corruption, ffff8807d1b6c000->next is LIST_POISON1 (dead000000100100)
>>> Modules linked in: shpchp ebtable_nat ebtables xt_CHECKSUM iptable_mangle bridge stp llc autofs4 sunrpc cpufreq_ondemand ipt_REJECT nf_conntrack_ipv4 nf_defrag_ipv4 iptable_filter ip_tables ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 xt_state nf_conntrack ip6table_filter ip6_tables ipv6 vfat fat dm_mirror dm_region_hash dm_log dm_mod vhost_net macvtap macvlan tun uinput iTCO_wdt iTCO_vendor_support acpi_cpufreq freq_table mperf coretemp kvm_intel kvm crc32c_intel microcode pcspkr sg i2c_i801 lpc_ich mfd_core i7core_edac edac_core ioatdma e1000e igb dca i2c_algo_bit i2c_core ptp pps_core ext4(F) mbcache(F) jbd2(F) sd_mod(F) crc_t10dif(F) megaraid_sas(F) mptsas(F) mptscsih(F) mptbase(F) scsi_transport_sas(F)
>>> Pid: 6, comm: kworker/u:0 Tainted: GF       W    3.9.0-rc7-pci-remove-test+ #59
>>> Call Trace:
>>>  [<ffffffff81056d4f>] warn_slowpath_common+0x7f/0xc0
>>>  [<ffffffff81056e46>] warn_slowpath_fmt+0x46/0x50
>>>  [<ffffffff81280b13>] __list_del_entry+0x63/0xd0
>>>  [<ffffffff81280b91>] list_del+0x11/0x40
>>>  [<ffffffff81298331>] pci_destroy_dev+0x31/0xc0
>>>  [<ffffffff812985bb>] pci_remove_bus_device+0x5b/0x70
>>>  [<ffffffff812985ee>] pci_stop_and_remove_bus_device+0x1e/0x30
>>>  [<ffffffff8129fc89>] remove_callback+0x29/0x40
>>>  [<ffffffff811f3b84>] sysfs_schedule_callback_work+0x24/0x70
>>>  [<ffffffff81073d85>] process_one_work+0x185/0x3f0
>>>  [<ffffffff810763e9>] worker_thread+0x119/0x380
>>>  [<ffffffff810762d0>] ? manage_workers+0x180/0x180
>>>  [<ffffffff8107b6ae>] kthread+0xce/0xe0
>>>  [<ffffffff8107b5e0>] ? kthread_freezable_should_stop+0x70/0x70
>>>  [<ffffffff815724ac>] ret_from_fork+0x7c/0xb0
>>>  [<ffffffff8107b5e0>] ? kthread_freezable_should_stop+0x70/0x70
>>> ---[ end trace 9c05e382f933a515 ]---
> 
> Attached patch on top of current linus tree should fix the racing problem.
> 
> We don't need to bother to add get bus ref. etc.
> 
> Let us know your test result.

Thanks, I'll do the test soon, and send out the report later!

Best regards,
Gu

> 
> Yinghai



  reply	other threads:[~2013-04-25  1:12 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-18  8:53 [PATCH 0/3] PCI: fix the object lifetime issue of parallel device removal on different pci hierarchy Gu Zheng
2013-04-18 19:43 ` Yinghai Lu
2013-04-22  3:02   ` Gu Zheng
2013-04-24  9:36   ` Gu Zheng
2013-04-24 17:11     ` Yinghai Lu
2013-04-24 23:48       ` Yinghai Lu
2013-04-25  1:10         ` Gu Zheng [this message]
2013-04-25  8:52         ` Gu Zheng

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=5178826F.3040603@cn.fujitsu.com \
    --to=guz.fnst@cn.fujitsu.com \
    --cc=bhelgaas@google.com \
    --cc=isimatu.yasuaki@jp.fujitsu.com \
    --cc=izumi.taku@jp.fujitsu.com \
    --cc=jiang.liu@huawei.com \
    --cc=linfeng@cn.fujitsu.com \
    --cc=linux-pci@vger.kernel.org \
    --cc=tangchen@cn.fujitsu.com \
    --cc=yinghai@kernel.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 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.