Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1220483 > unrolled thread

Re: eata fails to load on post 4.2 kernels

Started byJiang Liu <jiang.liu@linux.intel.com>
First post2015-09-08 07:20 +0200
Last post2015-09-10 11:10 +0200
Articles 5 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: eata fails to load on post 4.2 kernels Jiang Liu <jiang.liu@linux.intel.com> - 2015-09-08 07:20 +0200
    Re: eata fails to load on post 4.2 kernels Jiang Liu <jiang.liu@linux.intel.com> - 2015-09-08 08:40 +0200
    Re: eata fails to load on post 4.2 kernels Arthur Marsh <arthur.marsh@internode.on.net> - 2015-09-10 10:00 +0200
      Re: eata fails to load on post 4.2 kernels Jiang Liu <jiang.liu@linux.intel.com> - 2015-09-10 10:20 +0200
        Re: eata fails to load on post 4.2 kernels Arthur Marsh <arthur.marsh@internode.on.net> - 2015-09-10 11:10 +0200

#1220483 — Re: eata fails to load on post 4.2 kernels

FromJiang Liu <jiang.liu@linux.intel.com>
Date2015-09-08 07:20 +0200
SubjectRe: eata fails to load on post 4.2 kernels
Message-ID<q6ju1-31O-7@gated-at.bofh.it>

[Multipart message — attachments visible in raw view] — view raw

Hi Auhur,
	Could you please help to apply the test patch
against the latest mainstream linux kernel?
Thanks!
Gerry

On 2015/9/7 14:26, Arthur Marsh wrote:
> 
> 
> Jiang Liu wrote on 07/09/15 12:36:
>> On 2015/9/7 4:31, Arthur Marsh wrote:
>>> Arthur Marsh wrote on 06/09/15 21:07:
>>>> Arthur Marsh wrote on 06/09/15 18:34:
>>>>> Arthur Marsh wrote on 06/09/15 15:58:
>>>>>> Hi, I'm seeing the following on post 4.2 kernels, am currently
>>>>>> bisecting
>>>>>> to find where it started:
>>>>
>>>> First kernel in the bisection that worked without needing irqpoll:
>>>>
>>>> [   73.751482] EATA0: IRQ 10 mapped to IO-APIC IRQ 17.
>>>> [   73.776711] EATA/DMA 2.0x: Copyright (C) 1994-2003 Dario Ballabio.
>>>> [   73.802005] EATA config options -> tm:1, lc:y, mq:16, rs:y, et:n,
>>>> ip:n, ep:n, pp:y.
>>>> [   73.829175] EATA0: 2.0C, PCI 0xd890, IRQ 17, BMST, SG 122, MB 64.
>>>> [   73.855552] EATA0: wide SCSI support enabled, max_id 16, max_lun 8.
>>>> [   73.881125] EATA0: SCSI channel 0 enabled, host target ID 7.
>>>
>>> After a git bisect, I get:
>>>
>>> git bisect good
>>> 991de2e59090e55c65a7f59a049142e3c480f7bd is the first bad commit
>>> commit 991de2e59090e55c65a7f59a049142e3c480f7bd
>>> Author: Jiang Liu <jiang.liu@linux.intel.com>
>>> Date:   Wed Jun 10 16:54:59 2015 +0800
>>>
>>>      PCI, x86: Implement pcibios_alloc_irq() and pcibios_free_irq()
>>>
>>>      To support IOAPIC hotplug, we need to allocate PCI IRQ resources on
>>> demand
>>>      and free them when not used anymore.
>>>
>>>      Implement pcibios_alloc_irq() and pcibios_free_irq() to dynamically
>>>      allocate and free PCI IRQs.
>>>
>>>      Remove mp_should_keep_irq(), which is no longer used.
>>>
>>>      [bhelgaas: changelog]
>>>      Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
>>>      Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
>>>      Acked-by: Thomas Gleixner <tglx@linutronix.de>
>>>
>>> :040000 040000 765e2d5232d53247ec260b34b51589c3bccb36ae
>>> f680234a27685e94b1a35ae2a7218f8eafa9071a M      arch
>>> :040000 040000 d55a682bcde72682e883365e88ad1df6186fd54d
>>> f82c470a04a6845fcf5e0aa934512c75628f798d M      drivers
>>>
>>> I'm happy to supply more details if needed.
>> Hi Arthur,
>>     Thanks for reporting this. It seems to be an irq misrouting
>> issue. Could you please help to provide:
>> 1) full dmesg with the latest code
>> 2) full dmesg and /proc/interrupts with the latest code and
>>     kernel parameter "irqpoll" specified
>> Thanks!
>> Gerry
> 
> The pc locks up when loading the eata module so I've attached a photo of
> the monitor screen.
> 
> Arthur.
> 
> 

[toc] | [next] | [standalone]


#1220517

FromJiang Liu <jiang.liu@linux.intel.com>
Date2015-09-08 08:40 +0200
Message-ID<q6kJs-4IZ-7@gated-at.bofh.it>
In reply to#1220483
On 2015/9/8 14:32, Arthur Marsh wrote:
> 
> 
> Jiang Liu wrote on 08/09/15 14:49:
>> Hi Auhur,
>>     Could you please help to apply the test patch
>> against the latest mainstream linux kernel?
>> Thanks!
>> Gerry
> 
> Done, and it appears to work properly thanks!
Hi Authur,
We just got the root cause, and still need to work
out a formal patch to fix it. So will send new formal
patch to you for testing:)
Thanks!
Gerry
> 
> Arthur.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1221984

FromArthur Marsh <arthur.marsh@internode.on.net>
Date2015-09-10 10:00 +0200
Message-ID<q74VY-3B9-7@gated-at.bofh.it>
In reply to#1220483

Jiang Liu wrote on 08/09/15 14:49:
> Hi Auhur,
> 	Could you please help to apply the test patch
> against the latest mainstream linux kernel?
> Thanks!
> Gerry
...

>>>> git bisect good
>>>> 991de2e59090e55c65a7f59a049142e3c480f7bd is the first bad commit
>>>> commit 991de2e59090e55c65a7f59a049142e3c480f7bd
>>>> Author: Jiang Liu <jiang.liu@linux.intel.com>
>>>> Date:   Wed Jun 10 16:54:59 2015 +0800
>>>>
>>>>       PCI, x86: Implement pcibios_alloc_irq() and pcibios_free_irq()
>>>>
>>>>       To support IOAPIC hotplug, we need to allocate PCI IRQ resources on
>>>> demand
>>>>       and free them when not used anymore.
>>>>
>>>>       Implement pcibios_alloc_irq() and pcibios_free_irq() to dynamically
>>>>       allocate and free PCI IRQs.
>>>>
>>>>       Remove mp_should_keep_irq(), which is no longer used.
>>>>
>>>>       [bhelgaas: changelog]
>>>>       Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
>>>>       Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
>>>>       Acked-by: Thomas Gleixner <tglx@linutronix.de>
>>>>
>>>> :040000 040000 765e2d5232d53247ec260b34b51589c3bccb36ae
>>>> f680234a27685e94b1a35ae2a7218f8eafa9071a M      arch
>>>> :040000 040000 d55a682bcde72682e883365e88ad1df6186fd54d
>>>> f82c470a04a6845fcf5e0aa934512c75628f798d M      drivers

I tried to do a kexec shut-down with the first version of your patch:

 >From 3085626fb2e677c1d88f158397948935b73f5239 Mon Sep 17 00:00:00 2001
From: Jiang Liu <jiang.liu@linux.intel.com>
Date: Tue, 8 Sep 2015 10:41:19 +0800
Subject: [PATCH]


Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
---
  drivers/pci/pci-driver.c |    1 +
  drivers/scsi/eata.c      |    2 ++
  2 files changed, 3 insertions(+)

diff --git a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c
index 52a880ca1768..17d2a0b1de18 100644
--- a/drivers/pci/pci-driver.c
+++ b/drivers/pci/pci-driver.c
@@ -392,6 +392,7 @@ int __weak pcibios_alloc_irq(struct pci_dev *dev)
  {
  	return 0;
  }
+EXPORT_SYMBOL_GPL(pcibios_alloc_irq);

  void __weak pcibios_free_irq(struct pci_dev *dev)
  {
diff --git a/drivers/scsi/eata.c b/drivers/scsi/eata.c
index 227dd2c2ec2f..7e6eaf867987 100644
--- a/drivers/scsi/eata.c
+++ b/drivers/scsi/eata.c
@@ -1061,6 +1061,7 @@ static void enable_pci_ports(void)
  		       driver_name, dev->bus->number, dev->devfn);
  #endif

+		pcibios_alloc_irq(dev);
  		if (pci_enable_device(dev))
  			printk
  			    ("%s: warning, pci_enable_device failed, bus %d devfn 0x%x.\n",
@@ -1520,6 +1521,7 @@ static void add_pci_ports(void)
  		if (!(dev = pci_get_class(PCI_CLASS_STORAGE_SCSI << 8, dev)))
  			break;

+		pcibios_alloc_irq(dev);
  		if (pci_enable_device(dev)) {
  #if defined(DEBUG_PCI_DETECT)
  			printk
-- 
1.7.10.4

but I experience identical kexec shutdown and restart problems as with 
the second version of your patch, as seen here:

http://www.users.on.net/~arthur.marsh/20150910541.jpg

the original commit 991de2e59090e55c65a7f59a049142e3c480f7bd quoted 
above seems to have not only lead to start-up problems unless irqpoll 
was enabled but also lead to kexec shutdown/restart problems.

I'm not sure what the solution is but it is good to continue to allow 
kexec reboots to work.

Arthur.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1221997

FromJiang Liu <jiang.liu@linux.intel.com>
Date2015-09-10 10:20 +0200
Message-ID<q75fl-4cM-17@gated-at.bofh.it>
In reply to#1221984
Hi Authur,
	Thanks for the updating. Seem Bjorn doesn't like
neither of my two patches. So I'm trying to convert eata
to formal PCI driver, but the change will be much more
bigger and still not sure whether we could achieve that.
Will keep you updated.
Thanks!
Gerry

On 2015/9/10 15:50, Arthur Marsh wrote:
> 
> 
> Jiang Liu wrote on 08/09/15 14:49:
>> Hi Auhur,
>>     Could you please help to apply the test patch
>> against the latest mainstream linux kernel?
>> Thanks!
>> Gerry
> ...
> 
>>>>> git bisect good
>>>>> 991de2e59090e55c65a7f59a049142e3c480f7bd is the first bad commit
>>>>> commit 991de2e59090e55c65a7f59a049142e3c480f7bd
>>>>> Author: Jiang Liu <jiang.liu@linux.intel.com>
>>>>> Date:   Wed Jun 10 16:54:59 2015 +0800
>>>>>
>>>>>       PCI, x86: Implement pcibios_alloc_irq() and pcibios_free_irq()
>>>>>
>>>>>       To support IOAPIC hotplug, we need to allocate PCI IRQ
>>>>> resources on
>>>>> demand
>>>>>       and free them when not used anymore.
>>>>>
>>>>>       Implement pcibios_alloc_irq() and pcibios_free_irq() to
>>>>> dynamically
>>>>>       allocate and free PCI IRQs.
>>>>>
>>>>>       Remove mp_should_keep_irq(), which is no longer used.
>>>>>
>>>>>       [bhelgaas: changelog]
>>>>>       Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
>>>>>       Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
>>>>>       Acked-by: Thomas Gleixner <tglx@linutronix.de>
>>>>>
>>>>> :040000 040000 765e2d5232d53247ec260b34b51589c3bccb36ae
>>>>> f680234a27685e94b1a35ae2a7218f8eafa9071a M      arch
>>>>> :040000 040000 d55a682bcde72682e883365e88ad1df6186fd54d
>>>>> f82c470a04a6845fcf5e0aa934512c75628f798d M      drivers
> 
> I tried to do a kexec shut-down with the first version of your patch:
> 
>>From 3085626fb2e677c1d88f158397948935b73f5239 Mon Sep 17 00:00:00 2001
> From: Jiang Liu <jiang.liu@linux.intel.com>
> Date: Tue, 8 Sep 2015 10:41:19 +0800
> Subject: [PATCH]
> 
> 
> Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
> ---
>  drivers/pci/pci-driver.c |    1 +
>  drivers/scsi/eata.c      |    2 ++
>  2 files changed, 3 insertions(+)
> 
> diff --git a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c
> index 52a880ca1768..17d2a0b1de18 100644
> --- a/drivers/pci/pci-driver.c
> +++ b/drivers/pci/pci-driver.c
> @@ -392,6 +392,7 @@ int __weak pcibios_alloc_irq(struct pci_dev *dev)
>  {
>      return 0;
>  }
> +EXPORT_SYMBOL_GPL(pcibios_alloc_irq);
> 
>  void __weak pcibios_free_irq(struct pci_dev *dev)
>  {
> diff --git a/drivers/scsi/eata.c b/drivers/scsi/eata.c
> index 227dd2c2ec2f..7e6eaf867987 100644
> --- a/drivers/scsi/eata.c
> +++ b/drivers/scsi/eata.c
> @@ -1061,6 +1061,7 @@ static void enable_pci_ports(void)
>                 driver_name, dev->bus->number, dev->devfn);
>  #endif
> 
> +        pcibios_alloc_irq(dev);
>          if (pci_enable_device(dev))
>              printk
>                  ("%s: warning, pci_enable_device failed, bus %d devfn
> 0x%x.\n",
> @@ -1520,6 +1521,7 @@ static void add_pci_ports(void)
>          if (!(dev = pci_get_class(PCI_CLASS_STORAGE_SCSI << 8, dev)))
>              break;
> 
> +        pcibios_alloc_irq(dev);
>          if (pci_enable_device(dev)) {
>  #if defined(DEBUG_PCI_DETECT)
>              printk
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1222049

FromArthur Marsh <arthur.marsh@internode.on.net>
Date2015-09-10 11:10 +0200
Message-ID<q761J-5mS-9@gated-at.bofh.it>
In reply to#1221997

Jiang Liu wrote on 10/09/15 17:43:
> Hi Authur,
> 	Thanks for the updating. Seem Bjorn doesn't like
> neither of my two patches. So I'm trying to convert eata
> to formal PCI driver, but the change will be much more
> bigger and still not sure whether we could achieve that.
> Will keep you updated.
> Thanks!
> Gerry

Thanks, I'm a bit concerned since the original

commit 991de2e59090e55c65a7f59a049142e3c480f7bd

broke things badly for me (requiring irqpoll to avoid a kernel hang) and 
neither of the patches enabled kexec reboots to work like before the 
original commit.

I just tested a kexec reboot with irqpoll enabled and that continues to 
fail, so I'm back to running 4.2 kernel until there is a patch that 
works with kexec reboots.

Arthur.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web