nvec);
Device drivers with more specific requirements (i.e. a number of
MSI-Xs which is a multiple of a certain number within a specified
range) would still need to implement the loop using the two old
functions.
The tree could be found in "pci-next-msi-v4" branch in repo:
https://github.co
Make pci_enable_msi_block(), pci_enable_msi_block_auto() and
pci_enable_msix() consistent with regard to the type of 'nvec'
argument.
Signed-off-by: Alexander Gordeev
Reviewed-by: Tejun Heo
---
Documentation/PCI/MSI-HOWTO.txt |2 +-
drivers/pci/msi.c |4 ++-
If populate_msi_sysfs() function failed msix_capability_init()
must return the error code, but it returns the success instead.
This update fixes the described misbehaviour.
Signed-off-by: Alexander Gordeev
Reviewed-by: Tejun Heo
---
drivers/pci/msi.c | 11 +--
1 files changed, 5
a while reading
only device's properties and gains constant result (well, assuming the device
tree is not updated, but this is a different story). Which makes me confused
about this note from a earlier thread:
[quote]
On Sat, 2013-10-05 at 16:20 +0200, Alexander Gordeev wrote:
> So my point i
tomatically
> deallocated when the driver detaches. But I don't see anything like that
> happening in this patch.
Oh.. right. What about pci_auto_ prefix to indicate automatic fallback
logic? Or may be even pcia_ ?
--
Regards,
Alexander Gordeev
agord...@redhat.com
--
To unsubscribe fro
es are more informative for me, since they
hint where the MSI/MSI-X vector count comes from. Up to you.
--
Regards,
Alexander Gordeev
agord...@redhat.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More m
On Tue, Nov 26, 2013 at 10:09:49AM +0100, Alexander Gordeev wrote:
> Patches 3,4 - fixes for PowerPC pSeries platform
[...]
> PCI/MSI/pSeries: Fix wrong error code reporting
> PCI/MSI/pSeries: Make quota traversing and requesting race-safe
Hi Bjorn,
The two unreviewed PowerPC p
arch_setup_msi_irqs() hook can only be called from the generic
MSI code which ensures correct MSI type parameter.
Signed-off-by: Alexander Gordeev
Acked-by: Martin Schwidefsky
---
arch/s390/pci/pci.c |2 --
1 files changed, 0 insertions(+), 2 deletions(-)
diff --git a/arch/s390/pci/pci.c
Signed-off-by: Alexander Gordeev
---
arch/powerpc/platforms/pseries/msi.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/powerpc/platforms/pseries/msi.c
b/arch/powerpc/platforms/pseries/msi.c
index 6d2f0ab..009ec73 100644
--- a/arch/powerpc/platforms/pseries
) would still need to implement the loop using the two old
functions.
Signed-off-by: Alexander Gordeev
Suggested-by: Ben Hutchings
Reviewed-by: Tejun Heo
---
Documentation/PCI/MSI-HOWTO.txt | 134 +--
drivers/pci/msi.c | 74 ++
pci_enable_msi_block_auto() has been introduced
recently and its only user is AHCI driver, which is also
updated by this change.
Signed-off-by: Alexander Gordeev
Acked-by: Tejun Heo
---
Documentation/PCI/MSI-HOWTO.txt | 39 ---
drivers/ata/ahci.c | 56
Device drivers can use this interface to obtain maximum number
of MSI interrupts the device supports and use that number i.e.
in a following call to pci_enable_msi_block() interface.
Signed-off-by: Alexander Gordeev
Reviewed-by: Tejun Heo
---
Documentation/PCI/MSI-HOWTO.txt | 15
change.
Signed-off-by: Alexander Gordeev
Reviewed-by: Tejun Heo
---
Documentation/PCI/MSI-HOWTO.txt | 13 +
drivers/pci/msi.c | 12 ++--
drivers/pci/pcie/portdrv_core.c |5 +++--
include/linux/pci.h |2 +-
4 files changed, 27 insertions(+), 5
evices() a driver might
get a stalled value of MSI limit for its device or possibly even
crash.
This update introduces "rtas_quota_mutex" and serializes all
accesses to msi_quota_for_device() function. As result, no driver
could eat into other device's MSI limit.
Signed-off-
,2 - ACK'ed tweaks for s390 architecture
Patches 3,4 - fixes for PowerPC pSeries platform
Patches 5-11- fixes, tweaks and changes of the generic MSI code
The tree could be found in "pci-next-msi-v3" branch in repo:
https://github.com/a-gordeev/linux.git
Alexander
Make pci_enable_msi_block(), pci_enable_msi_block_auto() and
pci_enable_msix() consistent with regard to the type of 'nvec'
argument.
Signed-off-by: Alexander Gordeev
---
Documentation/PCI/MSI-HOWTO.txt |2 +-
drivers/pci/msi.c |4 ++--
include/l
If populate_msi_sysfs() function failed msix_capability_init()
must return the error code, but it returns the success instead.
This update fixes the described misbehaviour.
Signed-off-by: Alexander Gordeev
Reviewed-by: Tejun Heo
---
drivers/pci/msi.c | 11 +--
1 files changed, 5
Signed-off-by: Alexander Gordeev
Suggested-by: Ben Hutchings
Reviewed-by: Tejun Heo
---
include/linux/pci.h |6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/include/linux/pci.h b/include/linux/pci.h
index 835ec7b..d5cc0d3 100644
--- a/include/linux/pci.h
+++ b
Multiple MSIs have never been supported on s390 architecture,
but the platform code fails to report single MSI only.
Signed-off-by: Alexander Gordeev
Acked-by: Martin Schwidefsky
---
arch/s390/pci/pci.c |2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/arch/s390/pci
number"?
Term "negative number" is used throughout the whole document.
Could be updated in a separate patch if it worth it.
> tejun
--
Regards,
Alexander Gordeev
agord...@redhat.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body o
ven in different order.
> tejun
--
Regards,
Alexander Gordeev
agord...@redhat.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
.
Perfectly makes sense to me, but this is personal :)
> tejun
--
Regards,
Alexander Gordeev
agord...@redhat.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel
On Wed, Nov 20, 2013 at 11:23:24AM -0500, Tejun Heo wrote:
> On Fri, Oct 18, 2013 at 07:12:11PM +0200, Alexander Gordeev wrote:
> > Make pci_msix_table_size() return error code if the device
> > does not support MSI-X. This update is needed to create a
> > consistent
but I'd vote for converting things to
> int.
I will re-post with int's in next version unless Bjorn (someone) speaks
up against.
> Thanks.
>
> --
> tejun
--
Regards,
Alexander Gordeev
agord...@redhat.com
--
To unsubscribe from this list: send the line "unsubscri
> okay in the description?
Well, this is embarrassing. A quick check into x86 shows the partially
initialized MSI-Xs are possible - something I should have noticed.
Self-Nack.
> tejun
--
Regards,
Alexander Gordeev
agord...@redhat.com
--
To unsubscribe from this list: send the line "unsubsc
On Fri, Oct 18, 2013 at 07:12:00PM +0200, Alexander Gordeev wrote:
> Patches 1,2 - ACK'ed tweaks for s390 architecture
> Patches 3,4 - fixes for PowerPC pSeries platform
> Patches 5-12 - fixes, tweaks and changes of the generic MSI code
> Patches 12-29 - example updates of f
planning to pull Shaohua's percpu_ida conversion?
Thanks!
> --nab
--
Regards,
Alexander Gordeev
agord...@redhat.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://v
On Thu, Oct 24, 2013 at 11:51:58AM +0100, Tejun Heo wrote:
Hi Tejun,
> I haven't looked into any details but, if the above works for most use
> cases, it looks really good to me.
Could you please take a look (at least) at patches 10 and 12?
> tejun
--
Regards,
Alexander
rom Patch #5 for the moment..
Yeah, looking forward to try AHCI with percpu_ida.
> --nab
--
Regards,
Alexander Gordeev
agord...@redhat.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo i
right away.
--
Regards,
Alexander Gordeev
agord...@redhat.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
big this threshold value should be.
Signed-off-by: Alexander Gordeev
---
block/blk-mq-tag.c |9 +
include/linux/percpu_ida.h |5 +++--
lib/percpu_ida.c |7 +--
3 files changed, 13 insertions(+), 8 deletions(-)
diff --git a/block/blk-mq-tag.c b/block/blk-mq
Currently percpu_ida_free() waikes up waiters always with local
interrupts disabled and sometimes with pool->lock held. Yet, it
does not appear there is any reason why it could not be done out
of these atomic contexts.
Signed-off-by: Alexander Gordeev
---
lib/percpu_ida.c | 11 +++
Signed-off-by: Alexander Gordeev
---
lib/percpu_ida.c |5 +
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/lib/percpu_ida.c b/lib/percpu_ida.c
index 4adc3e5..1fc89f9 100644
--- a/lib/percpu_ida.c
+++ b/lib/percpu_ida.c
@@ -298,6 +298,11 @@ int __percpu_ida_init(struct
become largely negated.
This update assumes stealing tags is faster than ping-ponging
between local caches and the pool and prevents returning tags
to the pool in case percpu_max_size is 1.
Signed-off-by: Alexander Gordeev
---
lib/percpu_ida.c |5 ++---
1 files changed, 2 insertions(+), 3
Hi Kent,
Here is an update of few behaviours which caught my eye.
I have not tested any, so it is up to your judgement ;)
Alexander Gordeev (5):
percpu_ida: Fix data race on cpus_have_tags cpumask
percpu_ida: Move waking up waiters out of atomic contexts
percpu_ida: Optimize freeing tags
prepare_to_wait()
and wake_up() calls at the moment and the aforementioned sequence
does not appear could hit. Nevertheless, explicit memory barriers
still seem justifiable.
Signed-off-by: Alexander Gordeev
---
lib/percpu_ida.c | 12 ++--
1 files changed, 10 insertions(+), 2 deletions
ems more reasonable to me.
> David
--
Regards,
Alexander Gordeev
agord...@redhat.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Plea
ble_msix() users.
> tejun
--
Regards,
Alexander Gordeev
agord...@redhat.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
s semantics
to function name rather than to extra parameters, i.e.
pcim_enable_msix_min_max(struct pci_dev *dev, struct msix_entry *entries,
unsigned int minvec, unsigned int maxvec);
> Some static inline functions could be used for the common cases.
>
> David
rmediate number of interrupts - but
> probably
> only uses the minimum number.
Yes, you are right. I missed the vectors = vector_threshold assignment.
This driver is inapplicable as an example.
--
Regards,
Alexander Gordeev
agord...@redhat.com
--
To unsubscribe from this list: send the line "
) would still need to implement the loop using the two old
functions.
Signed-off-by: Alexander Gordeev
Suggested-by: Ben Hutchings
---
Documentation/PCI/MSI-HOWTO.txt | 134 +--
drivers/pci/msi.c | 46 +
include/linux/pci.h
: Alexander Gordeev
---
Documentation/PCI/MSI-HOWTO.txt | 30 +---
drivers/ata/ahci.c | 56 --
drivers/pci/msi.c | 22 ---
include/linux/pci.h |7 -
4 files changed, 37 insertions(+), 78
. use that number
in a following call to pci_enable_msix() interface.
Signed-off-by: Alexander Gordeev
---
Documentation/PCI/MSI-HOWTO.txt | 13 +
drivers/pci/msi.c |5 -
drivers/pci/pcie/portdrv_core.c |5 +++--
include/linux/pci.h |2 +-
4
could be found in "pci-next-msi-v2" branch in repo:
https://github.com/a-gordeev/linux.git
Alexander Gordeev (29):
PCI/MSI/s390: Fix single MSI only check
PCI/MSI/s390: Remove superfluous check of MSI type
PCI/MSI/pSeries: Fix wrong error code reporting
PCI/MSI/pSeries: Make quota
Device drivers can use this interface to obtain maximum number
of MSI interrupts the device supports and use that number i.e.
in a following call to pci_enable_msi_block() interface.
Signed-off-by: Alexander Gordeev
---
Documentation/PCI/MSI-HOWTO.txt | 15 +++
drivers/pci/msi.c
Signed-off-by: Alexander Gordeev
---
arch/powerpc/platforms/pseries/msi.c | 24 ++--
1 files changed, 22 insertions(+), 2 deletions(-)
diff --git a/arch/powerpc/platforms/pseries/msi.c
b/arch/powerpc/platforms/pseries/msi.c
index 009ec73..0e1d288 100644
--- a/arch/powerpc
Make pci_enable_msix() and pci_enable_msi_block() consistent
with regard to the type of 'nvec' argument. Indeed, a number
of vectors to allocate is a natural value, so make it unsigned.
Signed-off-by: Alexander Gordeev
---
Documentation/PCI/MSI-HOWTO.txt |3 ++-
drivers
Signed-off-by: Alexander Gordeev
---
drivers/infiniband/hw/qib/qib_pcie.c | 48 +-
1 files changed, 24 insertions(+), 24 deletions(-)
diff --git a/drivers/infiniband/hw/qib/qib_pcie.c
b/drivers/infiniband/hw/qib/qib_pcie.c
index 3f14009..bad0ca3 100644
--- a
Signed-off-by: Alexander Gordeev
---
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 33 +++-
1 files changed, 12 insertions(+), 21 deletions(-)
diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
index
Signed-off-by: Alexander Gordeev
---
drivers/scsi/ipr.c | 47 ++-
1 files changed, 18 insertions(+), 29 deletions(-)
diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c
index fb57e21..d7c94d5 100644
--- a/drivers/scsi/ipr.c
+++ b/drivers/scsi/ipr.c
Signed-off-by: Alexander Gordeev
---
drivers/ntb/ntb_hw.c | 38 +-
1 files changed, 13 insertions(+), 25 deletions(-)
diff --git a/drivers/ntb/ntb_hw.c b/drivers/ntb/ntb_hw.c
index de2062c..b7d6eed 100644
--- a/drivers/ntb/ntb_hw.c
+++ b/drivers/ntb
Signed-off-by: Alexander Gordeev
---
drivers/net/vmxnet3/vmxnet3_drv.c | 40 +---
1 files changed, 10 insertions(+), 30 deletions(-)
diff --git a/drivers/net/vmxnet3/vmxnet3_drv.c
b/drivers/net/vmxnet3/vmxnet3_drv.c
index d33802c..e552d2b 100644
--- a/drivers
Signed-off-by: Alexander Gordeev
---
drivers/scsi/qla2xxx/qla_isr.c | 28
1 files changed, 12 insertions(+), 16 deletions(-)
diff --git a/drivers/scsi/qla2xxx/qla_isr.c b/drivers/scsi/qla2xxx/qla_isr.c
index df1b30b..3238a0ac 100644
--- a/drivers/scsi/qla2xxx
Signed-off-by: Alexander Gordeev
---
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c | 16
1 files changed, 4 insertions(+), 12 deletions(-)
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
b/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
index 90b4e10..9954b7a 100644
Signed-off-by: Alexander Gordeev
---
drivers/net/vmxnet3/vmxnet3_drv.c | 18 --
1 files changed, 8 insertions(+), 10 deletions(-)
diff --git a/drivers/net/vmxnet3/vmxnet3_drv.c
b/drivers/net/vmxnet3/vmxnet3_drv.c
index 3df7f32..d33802c 100644
--- a/drivers/net/vmxnet3
Signed-off-by: Alexander Gordeev
---
drivers/net/ethernet/qlogic/qlge/qlge_main.c | 15 ---
1 files changed, 4 insertions(+), 11 deletions(-)
diff --git a/drivers/net/ethernet/qlogic/qlge/qlge_main.c
b/drivers/net/ethernet/qlogic/qlge/qlge_main.c
index ac54cb0..b142902 100644
If populate_msi_sysfs() function failed msix_capability_init()
must return the error code, but it returns the success instead.
This update fixes the described misbehaviour.
Signed-off-by: Alexander Gordeev
---
drivers/pci/msi.c | 11 +--
1 files changed, 5 insertions(+), 6 deletions
-off-by: Alexander Gordeev
---
drivers/pci/msi.c | 19 +--
1 files changed, 1 insertions(+), 18 deletions(-)
diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c
index b43f391..bbe3d3d 100644
--- a/drivers/pci/msi.c
+++ b/drivers/pci/msi.c
@@ -719,7 +719,7 @@ static int
Signed-off-by: Alexander Gordeev
---
drivers/scsi/megaraid/megaraid_sas_base.c | 16 +---
1 files changed, 5 insertions(+), 11 deletions(-)
diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c
b/drivers/scsi/megaraid/megaraid_sas_base.c
index 3020921..e54c2e7 100644
--- a
Signed-off-by: Alexander Gordeev
---
drivers/net/vmxnet3/vmxnet3_drv.c |8
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/net/vmxnet3/vmxnet3_drv.c
b/drivers/net/vmxnet3/vmxnet3_drv.c
index 3518173..3df7f32 100644
--- a/drivers/net/vmxnet3/vmxnet3_drv.c
Signed-off-by: Alexander Gordeev
Suggested-by: Ben Hutchings
---
include/linux/pci.h |6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/include/linux/pci.h b/include/linux/pci.h
index d3a888a..5cfe54c 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
Signed-off-by: Alexander Gordeev
---
drivers/scsi/ipr.c |8 ++--
1 files changed, 2 insertions(+), 6 deletions(-)
diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c
index 36ac1c3..fb57e21 100644
--- a/drivers/scsi/ipr.c
+++ b/drivers/scsi/ipr.c
@@ -9255,10 +9255,8 @@ static int
Current MSI-X enablement code assumes MSI-Xs were successfully
allocated in case less than requested vectors were available.
That assumption is wrong, since MSI-Xs should be enabled with
a repeated call to pci_enable_msix(). This update fixes this.
Signed-off-by: Alexander Gordeev
Acked-by: Jon
Signed-off-by: Alexander Gordeev
---
drivers/net/ethernet/broadcom/tg3.c |6 ++
1 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/broadcom/tg3.c
b/drivers/net/ethernet/broadcom/tg3.c
index 12d961c..026c371 100644
--- a/drivers/net/ethernet/broadcom/tg3
Multiple MSIs have never been supported on s390 architecture,
but the platform code fails to report single MSI only.
Signed-off-by: Alexander Gordeev
Acked-by: Martin Schwidefsky
---
arch/s390/pci/pci.c |2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/arch/s390/pci
arch_setup_msi_irqs() hook can only be called from the generic
MSI code which ensures correct MSI type parameter.
Signed-off-by: Alexander Gordeev
Acked-by: Martin Schwidefsky
---
arch/s390/pci/pci.c |2 --
1 files changed, 0 insertions(+), 2 deletions(-)
diff --git a/arch/s390/pci/pci.c
Signed-off-by: Alexander Gordeev
---
drivers/net/ethernet/qlogic/qlge/qlge_main.c |1 -
1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/drivers/net/ethernet/qlogic/qlge/qlge_main.c
b/drivers/net/ethernet/qlogic/qlge/qlge_main.c
index 2553cf4..ac54cb0 100644
--- a/drivers/net
Signed-off-by: Alexander Gordeev
---
drivers/net/vmxnet3/vmxnet3_drv.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/net/vmxnet3/vmxnet3_drv.c
b/drivers/net/vmxnet3/vmxnet3_drv.c
index 7e2788c..5b8ea71 100644
--- a/drivers/net/vmxnet3/vmxnet3_drv.c
+++ b
Signed-off-by: Alexander Gordeev
---
arch/powerpc/platforms/pseries/msi.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/powerpc/platforms/pseries/msi.c
b/arch/powerpc/platforms/pseries/msi.c
index 6d2f0ab..009ec73 100644
--- a/arch/powerpc/platforms/pseries
Signed-off-by: Alexander Gordeev
---
drivers/net/vmxnet3/vmxnet3_drv.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/net/vmxnet3/vmxnet3_drv.c
b/drivers/net/vmxnet3/vmxnet3_drv.c
index 5b8ea71..3518173 100644
--- a/drivers/net/vmxnet3/vmxnet3_drv.c
+++ b
_enable_msix() fails.
Could you please explain why the value returned by pci_get_msix_limit()
might change before pci_enable_msix() returned, while both protected by
pci_lock_msi()?
Anyway, although the loop-free code (IMHO) reads better, pci_lock_msi()
it is not a part of the original pro
ddown_pow_of_two(nvec); /* (a) */
xx_prep_for_msix_vectors(dev, nvec);
rc = pci_enable_msix(dev->pdev, dev->irqs, nvec); /* (b) */
if (rc < 0)
goto err;
pci_unlock_msi(dev->pdev);
dev->num_vectors = nvec; /*
h applied will fail.
Yep, makes sense. Thanks for pointing out.
--
Regards,
Alexander Gordeev
agord...@redhat.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.o
On Thu, Oct 10, 2013 at 09:28:27AM -0700, H. Peter Anvin wrote:
> On 10/10/2013 03:17 AM, Alexander Gordeev wrote:
> > On Wed, Oct 09, 2013 at 03:24:08PM +1100, Benjamin Herrenschmidt wrote:
> >
> > Ok, this suggestion sounded in one or another form by several people.
&
eturn value seems odd, but I can not help to make
it consistent with the first two.
(Sorry if you see this message twice - my MUA seems struggle with one of CC).
> Cheers,
> Ben.
>
>
--
Regards,
Alexander Gordeev
agord...@redhat.com
--
To unsubscribe from this list: send the
ches to include in your tree? I would suggest
to consider this one https://lkml.org/lkml/2013/8/9/90 if it fits.
--
Regards,
Alexander Gordeev
agord...@redhat.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.ke
the quota getting increased inbetween?
That would entail.. kind of pci_get_msi_limit() :), but IMHO it is
not worth it.
> tejun
--
Regards,
Alexander Gordeev
agord...@redhat.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord..
t is available and try to allocate with
than number.
--
Regards,
Alexander Gordeev
agord...@redhat.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
w pci_enable_msix()
then we could first update pci/msi, then drivers (in few stages possibly)
and finally remove the old implementation.
> tejun
--
Regards,
Alexander Gordeev
agord...@redhat.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body
On Mon, Oct 07, 2013 at 02:10:43PM -0400, Tejun Heo wrote:
> On Wed, Oct 02, 2013 at 12:48:21PM +0200, Alexander Gordeev wrote:
> > Make pci_msix_table_size() to return a error code if the device
> > does not support MSI-X. This update is needed to facilitate a
> > forthcomin
On Mon, Oct 07, 2013 at 02:17:49PM -0400, Tejun Heo wrote:
> Hello,
>
> On Wed, Oct 02, 2013 at 12:48:23PM +0200, Alexander Gordeev wrote:
> > +static int foo_driver_enable_msi(struct foo_adapter *adapter, int nvec)
> > +{
> > + rc = pci_get_msi_cap(adapter
On Tue, Oct 08, 2013 at 03:33:30PM +1100, Michael Ellerman wrote:
> On Wed, Oct 02, 2013 at 12:29:04PM +0200, Alexander Gordeev wrote:
> > This technique proved to be confusing and error-prone. Vast share
> > of device drivers simply fail to follow the described guidelines.
>
On Mon, Oct 07, 2013 at 09:50:57AM -0700, Jon Mason wrote:
> On Sat, Oct 05, 2013 at 11:43:04PM +0200, Alexander Gordeev wrote:
> > On Wed, Oct 02, 2013 at 05:48:05PM -0700, Jon Mason wrote:
> > > On Wed, Oct 02, 2013 at 12:49:10PM +0200, Alexander Gordeev wrote:
> > >
in interrupt
[ 181.185483] drm_kms_helper: panic occurred, switching back to text console
--
Regards,
Alexander Gordeev
agord...@redhat.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
On Sun, Oct 06, 2013 at 05:19:46PM +1100, Benjamin Herrenschmidt wrote:
> On Sun, 2013-10-06 at 08:02 +0200, Alexander Gordeev wrote:
> > In fact, in the current design to address the quota race decently the
> > drivers would have to protect the *loop* to prevent the quota chang
On Sun, Oct 06, 2013 at 08:46:26AM +1100, Benjamin Herrenschmidt wrote:
> On Sat, 2013-10-05 at 16:20 +0200, Alexander Gordeev wrote:
> > So my point is - drivers should first obtain a number of MSIs they *can*
> > get, then *derive* a number of MSIs the device is fine wit
On Wed, Oct 02, 2013 at 05:48:05PM -0700, Jon Mason wrote:
> On Wed, Oct 02, 2013 at 12:49:10PM +0200, Alexander Gordeev wrote:
> > Signed-off-by: Alexander Gordeev
> > ---
> > drivers/ntb/ntb_hw.c |2 +-
> > 1 files changed, 1 insertions(+), 1 deletions(-)
> &
On Fri, Oct 04, 2013 at 10:29:16PM +0100, Ben Hutchings wrote:
> On Fri, 2013-10-04 at 10:29 +0200, Alexander Gordeev wrote:
> All I can see there is that Tejun didn't think that the global limits
> and positive return values were implemented by any architecture.
I would say more
pci_enable_msix(nvec2) where nvec1 < nvec2?
> David
--
Regards,
Alexander Gordeev
agord...@redhat.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.o
On Thu, Oct 03, 2013 at 11:49:45PM +0100, Ben Hutchings wrote:
> On Wed, 2013-10-02 at 12:48 +0200, Alexander Gordeev wrote:
> > This update converts pci_enable_msix() and pci_enable_msi_block()
> > interfaces to canonical kernel functions and makes them return a
> > error co
On Thu, Oct 03, 2013 at 10:52:54PM +0100, Ben Hutchings wrote:
> On Wed, 2013-10-02 at 12:48 +0200, Alexander Gordeev wrote:
> > #ifndef CONFIG_PCI_MSI
> > +static inline int pci_get_msi_cap(struct pci_dev *dev)
> > +{
> > + return -1;
> [...]
>
> Shouldn
le_msix() will never return a positive value.
Therefore if the driver is not updated it will fallback to single MSI if
device->common.chancnt MSI-X vectors were not allocated while it used to
fallback to a single MSI-X in the same situation. Not to mention 'if (err > 0)'
dead code.
On Thu, Oct 03, 2013 at 10:14:33AM +0300, Eli Cohen wrote:
> On Wed, Oct 02, 2013 at 12:49:06PM +0200, Alexander Gordeev wrote:
> >
> > + err = pci_msix_table_size(dev->pdev);
> > + if (err < 0)
> > + return err;
> > +
> >
Signed-off-by: Alexander Gordeev
---
drivers/pci/msi.c | 11 +--
1 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c
index d5f90d6..b43f391 100644
--- a/drivers/pci/msi.c
+++ b/drivers/pci/msi.c
@@ -719,7 +719,7 @@ static int
Signed-off-by: Alexander Gordeev
---
drivers/scsi/lpfc/lpfc_init.c | 23 +++
1 files changed, 11 insertions(+), 12 deletions(-)
diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c
index 0ec8008..0cfaf20 100644
--- a/drivers/scsi/lpfc/lpfc_init.c
As result of recent re-design of the MSI/MSI-X interrupts enabling
pattern this driver has to be updated to use the new technique to
obtain a optimal number of MSI/MSI-X interrupts required.
Signed-off-by: Alexander Gordeev
---
drivers/infiniband/hw/qib/qib_pcie.c |4
1 files changed
As result of recent re-design of the MSI/MSI-X interrupts enabling
pattern this driver has to be updated to use the new technique to
obtain a optimal number of MSI/MSI-X interrupts required.
Signed-off-by: Alexander Gordeev
---
drivers/dma/ioat/dma.c | 10 +++---
1 files changed, 7
Signed-off-by: Alexander Gordeev
---
drivers/net/ethernet/emulex/benet/be_main.c |2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/drivers/net/ethernet/emulex/benet/be_main.c
b/drivers/net/ethernet/emulex/benet/be_main.c
index 100b528..3e2c834 100644
--- a/drivers/net
pci_msix_table_size() for MSI-X.
More complex cases would entail matching device capabilities
with the system environment, i.e. limiting number of hardware
queues (and hence associated MSI/MSI-X interrupts) to the number
of online CPUs.
Suggested-by: Tejun Heo
Signed-off-by: Alexander Gordeev
Signed-off-by: Alexander Gordeev
---
drivers/net/vmxnet3/vmxnet3_drv.c | 16
1 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/drivers/net/vmxnet3/vmxnet3_drv.c
b/drivers/net/vmxnet3/vmxnet3_drv.c
index 3df7f32..00dc0d0 100644
--- a/drivers/net/vmxnet3
801 - 900 of 1154 matches
Mail list logo