From: Bjorn Helgaas <helgaas@kernel.org>
To: Sinan Kaya <okaya@codeaurora.org>
Cc: linux-acpi@vger.kernel.org, rjw@rjwysocki.net,
bhelgaas@google.com, ravikanth.nalla@hpe.com,
linux@rainbow-software.org, timur@codeaurora.org,
cov@codeaurora.org, jcm@redhat.com, alex.williamson@redhat.com,
linux-pci@vger.kernel.org, agross@codeaurora.org,
linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org,
wim@djo.tudelft.nl, linux-arm-kernel@lists.infradead.org,
Len Brown <lenb@kernel.org>
Subject: Re: [PATCH V3 1/3] ACPI, PCI IRQ: add PCI_USING penalty for ISA interrupts
Date: Tue, 18 Oct 2016 08:59:12 -0500 [thread overview]
Message-ID: <20161018135912.GD18903@localhost> (raw)
In-Reply-To: <1476505867-24599-2-git-send-email-okaya@codeaurora.org>
On Sat, Oct 15, 2016 at 12:31:05AM -0400, Sinan Kaya wrote:
> The change introduced in commit 103544d86976 ("ACPI,PCI,IRQ: reduce
> resource requirements") removed PCI_USING penalty from
> acpi_pci_link_allocate function as there is no longer a fixed size penalty
> array for both PCI interrupts greater than 16.
>
> The array size has been reduced to 16 and array name got prefixed as ISA
> since it only is accountable for the ISA interrupts.
>
> The original change in commit 103544d86976 ("ACPI,PCI,IRQ: reduce
> resource requirements") removed penalty assignment in the code for PCI
> thinking that we will add the penalty later in acpi_irq_pci_sharing_penalty
> function.
>
> However, this function only gets called if the IRQ number is greater than
> 16 and acpi_irq_get_penalty function gets called before ACPI start in
> acpi_isa_irq_available and acpi_penalize_isa_irq functions. We can't rely
> on iterating the link list.
It seems wrong to me that we call acpi_irq_get_penalty() from
acpi_irq_penalty_update() and acpi_penalize_isa_irq(). It seems like they
should just manipulate acpi_isa_irq_penalty[irq] directly.
acpi_irq_penalty_update() is for command-line parameters, so it certainly
doesn't need the acpi_irq_pci_sharing_penalty() information (the
acpi_link_list should be empty at the time we process the command-line
parameters).
acpi_penalize_isa_irq() is telling us that a PNP or ACPI device is using
the IRQ -- this should modify the IRQ's penalty, but it shouldn't depend on
the acpi_irq_pci_sharing_penalty() value at all.
> We need to add the PCI_USING penalty for ISA interrupts too if the link is
> in use and matches our ISA IRQ number.
>
> Signed-off-by: Sinan Kaya <okaya@codeaurora.org>
> ---
> drivers/acpi/pci_link.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/acpi/pci_link.c b/drivers/acpi/pci_link.c
> index c983bf7..a212709 100644
> --- a/drivers/acpi/pci_link.c
> +++ b/drivers/acpi/pci_link.c
> @@ -619,6 +619,10 @@ static int acpi_pci_link_allocate(struct acpi_pci_link *link)
> acpi_device_bid(link->device));
> return -ENODEV;
> } else {
> + if (link->irq.active < ACPI_MAX_ISA_IRQS)
> + acpi_isa_irq_penalty[link->irq.active] +=
> + PIRQ_PENALTY_PCI_USING;
> +
> printk(KERN_WARNING PREFIX "%s [%s] enabled at IRQ %d\n",
> acpi_device_name(link->device),
> acpi_device_bid(link->device), link->irq.active);
> --
> 1.9.1
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID (diff)
From: Bjorn Helgaas <helgaas@kernel.org>
To: Sinan Kaya <okaya@codeaurora.org>
Cc: linux-arm-kernel@lists.infradead.org, linux@rainbow-software.org,
ravikanth.nalla@hpe.com, jcm@redhat.com, timur@codeaurora.org,
agross@codeaurora.org, rjw@rjwysocki.net,
linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org,
alex.williamson@redhat.com, cov@codeaurora.org,
linux-pci@vger.kernel.org, bhelgaas@google.com,
wim@djo.tudelft.nl, linux-arm-msm@vger.kernel.org,
Len Brown <lenb@kernel.org>
Subject: Re: [PATCH V3 1/3] ACPI, PCI IRQ: add PCI_USING penalty for ISA interrupts
Date: Tue, 18 Oct 2016 08:59:12 -0500 [thread overview]
Message-ID: <20161018135912.GD18903@localhost> (raw)
In-Reply-To: <1476505867-24599-2-git-send-email-okaya@codeaurora.org>
On Sat, Oct 15, 2016 at 12:31:05AM -0400, Sinan Kaya wrote:
> The change introduced in commit 103544d86976 ("ACPI,PCI,IRQ: reduce
> resource requirements") removed PCI_USING penalty from
> acpi_pci_link_allocate function as there is no longer a fixed size penalty
> array for both PCI interrupts greater than 16.
>
> The array size has been reduced to 16 and array name got prefixed as ISA
> since it only is accountable for the ISA interrupts.
>
> The original change in commit 103544d86976 ("ACPI,PCI,IRQ: reduce
> resource requirements") removed penalty assignment in the code for PCI
> thinking that we will add the penalty later in acpi_irq_pci_sharing_penalty
> function.
>
> However, this function only gets called if the IRQ number is greater than
> 16 and acpi_irq_get_penalty function gets called before ACPI start in
> acpi_isa_irq_available and acpi_penalize_isa_irq functions. We can't rely
> on iterating the link list.
It seems wrong to me that we call acpi_irq_get_penalty() from
acpi_irq_penalty_update() and acpi_penalize_isa_irq(). It seems like they
should just manipulate acpi_isa_irq_penalty[irq] directly.
acpi_irq_penalty_update() is for command-line parameters, so it certainly
doesn't need the acpi_irq_pci_sharing_penalty() information (the
acpi_link_list should be empty at the time we process the command-line
parameters).
acpi_penalize_isa_irq() is telling us that a PNP or ACPI device is using
the IRQ -- this should modify the IRQ's penalty, but it shouldn't depend on
the acpi_irq_pci_sharing_penalty() value at all.
> We need to add the PCI_USING penalty for ISA interrupts too if the link is
> in use and matches our ISA IRQ number.
>
> Signed-off-by: Sinan Kaya <okaya@codeaurora.org>
> ---
> drivers/acpi/pci_link.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/acpi/pci_link.c b/drivers/acpi/pci_link.c
> index c983bf7..a212709 100644
> --- a/drivers/acpi/pci_link.c
> +++ b/drivers/acpi/pci_link.c
> @@ -619,6 +619,10 @@ static int acpi_pci_link_allocate(struct acpi_pci_link *link)
> acpi_device_bid(link->device));
> return -ENODEV;
> } else {
> + if (link->irq.active < ACPI_MAX_ISA_IRQS)
> + acpi_isa_irq_penalty[link->irq.active] +=
> + PIRQ_PENALTY_PCI_USING;
> +
> printk(KERN_WARNING PREFIX "%s [%s] enabled at IRQ %d\n",
> acpi_device_name(link->device),
> acpi_device_bid(link->device), link->irq.active);
> --
> 1.9.1
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID (diff)
From: helgaas@kernel.org (Bjorn Helgaas)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH V3 1/3] ACPI, PCI IRQ: add PCI_USING penalty for ISA interrupts
Date: Tue, 18 Oct 2016 08:59:12 -0500 [thread overview]
Message-ID: <20161018135912.GD18903@localhost> (raw)
In-Reply-To: <1476505867-24599-2-git-send-email-okaya@codeaurora.org>
On Sat, Oct 15, 2016 at 12:31:05AM -0400, Sinan Kaya wrote:
> The change introduced in commit 103544d86976 ("ACPI,PCI,IRQ: reduce
> resource requirements") removed PCI_USING penalty from
> acpi_pci_link_allocate function as there is no longer a fixed size penalty
> array for both PCI interrupts greater than 16.
>
> The array size has been reduced to 16 and array name got prefixed as ISA
> since it only is accountable for the ISA interrupts.
>
> The original change in commit 103544d86976 ("ACPI,PCI,IRQ: reduce
> resource requirements") removed penalty assignment in the code for PCI
> thinking that we will add the penalty later in acpi_irq_pci_sharing_penalty
> function.
>
> However, this function only gets called if the IRQ number is greater than
> 16 and acpi_irq_get_penalty function gets called before ACPI start in
> acpi_isa_irq_available and acpi_penalize_isa_irq functions. We can't rely
> on iterating the link list.
It seems wrong to me that we call acpi_irq_get_penalty() from
acpi_irq_penalty_update() and acpi_penalize_isa_irq(). It seems like they
should just manipulate acpi_isa_irq_penalty[irq] directly.
acpi_irq_penalty_update() is for command-line parameters, so it certainly
doesn't need the acpi_irq_pci_sharing_penalty() information (the
acpi_link_list should be empty at the time we process the command-line
parameters).
acpi_penalize_isa_irq() is telling us that a PNP or ACPI device is using
the IRQ -- this should modify the IRQ's penalty, but it shouldn't depend on
the acpi_irq_pci_sharing_penalty() value at all.
> We need to add the PCI_USING penalty for ISA interrupts too if the link is
> in use and matches our ISA IRQ number.
>
> Signed-off-by: Sinan Kaya <okaya@codeaurora.org>
> ---
> drivers/acpi/pci_link.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/acpi/pci_link.c b/drivers/acpi/pci_link.c
> index c983bf7..a212709 100644
> --- a/drivers/acpi/pci_link.c
> +++ b/drivers/acpi/pci_link.c
> @@ -619,6 +619,10 @@ static int acpi_pci_link_allocate(struct acpi_pci_link *link)
> acpi_device_bid(link->device));
> return -ENODEV;
> } else {
> + if (link->irq.active < ACPI_MAX_ISA_IRQS)
> + acpi_isa_irq_penalty[link->irq.active] +=
> + PIRQ_PENALTY_PCI_USING;
> +
> printk(KERN_WARNING PREFIX "%s [%s] enabled at IRQ %d\n",
> acpi_device_name(link->device),
> acpi_device_bid(link->device), link->irq.active);
> --
> 1.9.1
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2016-10-18 13:59 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-15 4:31 [PATCH V3 0/3] ACPI, PCI, IRQ: revert penalty calculation for ISA and SCI interrupts Sinan Kaya
2016-10-15 4:31 ` Sinan Kaya
2016-10-15 4:31 ` Sinan Kaya
2016-10-15 4:31 ` [PATCH V3 1/3] ACPI, PCI IRQ: add PCI_USING penalty for ISA interrupts Sinan Kaya
2016-10-15 4:31 ` Sinan Kaya
2016-10-15 4:31 ` Sinan Kaya
2016-10-15 4:31 ` Sinan Kaya
2016-10-15 12:39 ` Rafael J. Wysocki
2016-10-15 12:39 ` Rafael J. Wysocki
2016-10-15 16:58 ` Sinan Kaya
2016-10-15 16:58 ` Sinan Kaya
2016-10-18 13:59 ` Bjorn Helgaas [this message]
2016-10-18 13:59 ` Bjorn Helgaas
2016-10-18 13:59 ` Bjorn Helgaas
2016-10-18 15:20 ` Sinan Kaya
2016-10-18 15:20 ` Sinan Kaya
2016-10-18 15:32 ` Sinan Kaya
2016-10-18 15:32 ` Sinan Kaya
2016-10-19 22:44 ` Bjorn Helgaas
2016-10-19 22:44 ` Bjorn Helgaas
2016-10-19 22:44 ` Bjorn Helgaas
2016-10-19 23:17 ` Rafael J. Wysocki
2016-10-19 23:17 ` Rafael J. Wysocki
2016-10-21 0:59 ` Bjorn Helgaas
2016-10-21 0:59 ` Bjorn Helgaas
2016-10-21 0:59 ` Bjorn Helgaas
2016-10-20 20:01 ` Sinan Kaya
2016-10-20 20:01 ` Sinan Kaya
2016-10-20 21:08 ` Rafael J. Wysocki
2016-10-20 21:08 ` Rafael J. Wysocki
2016-10-20 21:25 ` Sinan Kaya
2016-10-20 21:25 ` Sinan Kaya
2016-10-21 2:41 ` Bjorn Helgaas
2016-10-21 2:41 ` Bjorn Helgaas
2016-10-21 3:01 ` Sinan Kaya
2016-10-21 3:01 ` Sinan Kaya
2016-10-19 22:24 ` Sinan Kaya
2016-10-19 22:24 ` Sinan Kaya
2016-10-22 23:58 ` Bjorn Helgaas
2016-10-22 23:58 ` Bjorn Helgaas
2016-10-24 4:16 ` Sinan Kaya
2016-10-24 4:16 ` Sinan Kaya
2016-10-15 4:31 ` [PATCH V3 2/3] Revert "ACPI,PCI,IRQ: remove SCI penalize function" Sinan Kaya
2016-10-15 4:31 ` Sinan Kaya
2016-10-15 4:31 ` Sinan Kaya
2016-10-15 4:31 ` Sinan Kaya
2016-10-15 13:06 ` Rafael J. Wysocki
2016-10-15 13:06 ` [PATCH V3 2/3] Revert "ACPI, PCI, IRQ: " Rafael J. Wysocki
2016-10-15 13:06 ` [PATCH V3 2/3] Revert "ACPI,PCI,IRQ: " Rafael J. Wysocki
2016-10-18 14:05 ` Bjorn Helgaas
2016-10-18 14:05 ` Bjorn Helgaas
2016-10-18 15:05 ` Sinan Kaya
2016-10-18 15:05 ` Sinan Kaya
2016-10-15 4:31 ` [PATCH V3 3/3] ACPI,PCI,IRQ: correct SCI penalty calculation Sinan Kaya
2016-10-15 4:31 ` Sinan Kaya
2016-10-15 4:31 ` Sinan Kaya
2016-10-15 4:31 ` Sinan Kaya
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=20161018135912.GD18903@localhost \
--to=helgaas@kernel.org \
--cc=agross@codeaurora.org \
--cc=alex.williamson@redhat.com \
--cc=bhelgaas@google.com \
--cc=cov@codeaurora.org \
--cc=jcm@redhat.com \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux@rainbow-software.org \
--cc=okaya@codeaurora.org \
--cc=ravikanth.nalla@hpe.com \
--cc=rjw@rjwysocki.net \
--cc=timur@codeaurora.org \
--cc=wim@djo.tudelft.nl \
/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.