[PATCH v3 7/8] blk-mq: Pair blk_mq_hctx_kobj_init() with blk_mq_hctx_kobj_put()

2016-10-09 Thread Alexander Gordeev
CC: linux-bl...@vger.kernel.org Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- block/blk-mq-sysfs.c | 5 + block/blk-mq.c | 2 +- block/blk-mq.h | 1 + 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/block/blk-mq-sysfs.c b/block/blk-mq-sysfs.c

[PATCH v3 6/8] blk-mq: Rework blk_mq_realloc_hw_ctxs()

2016-10-09 Thread Alexander Gordeev
Rework blk_mq_realloc_hw_ctxs() so deallocation is done in order reverse to allocation and indentation is bit more easy to read. CC: linux-bl...@vger.kernel.org Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- block/blk-mq.c | 40 ++-- 1 file c

Re: [PATCH v2 6/8] blk-mq: Rework blk_mq_realloc_hw_ctxs()

2016-10-06 Thread Alexander Gordeev
On Thu, Oct 06, 2016 at 12:47:26AM +0300, Sagi Grimberg wrote: > > >@@ -1908,33 +1909,36 @@ static void blk_mq_realloc_hw_ctxs(struct > >blk_mq_tag_set *set, > > if (node == NUMA_NO_NODE) > > node = set->numa_node; > > > >-hctxs[i] =

[PATCH v2 1/8] block: Get rid of unused request_queue::nr_queues member

2016-09-30 Thread Alexander Gordeev
CC: linux-bl...@vger.kernel.org Reviewed-by: Omar Sandoval <osan...@fb.com> Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- block/blk-mq.c | 2 -- include/linux/blkdev.h | 1 - 2 files changed, 3 deletions(-) diff --git a/block/blk-mq.c b/block/blk-mq.c index 0be5

[PATCH v2 2/8] blk-mq: Remove a redundant assignment

2016-09-30 Thread Alexander Gordeev
blk_mq_hw_ctx::queue_num is initialized in blk_mq_init_hctx() function. CC: linux-bl...@vger.kernel.org Reviewed-by: Omar Sandoval <osan...@fb.com> Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- block/blk-mq.c | 1 - 1 file changed, 1 deletion(-) diff --git a/block/blk-

[PATCH v2 4/8] blk-mq: Cleanup a loop exit condition

2016-09-30 Thread Alexander Gordeev
CC: linux-bl...@vger.kernel.org Reviewed-by: Omar Sandoval <osan...@fb.com> Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- block/blk-mq.c | 9 +++-- 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/block/blk-mq.c b/block/blk-mq.c index e3e9b23..eed

[PATCH v2 7/8] blk-mq: Pair blk_mq_hctx_kobj_init() with blk_mq_hctx_kobj_put()

2016-09-30 Thread Alexander Gordeev
CC: linux-bl...@vger.kernel.org Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- block/blk-mq-sysfs.c | 5 + block/blk-mq.c | 2 +- block/blk-mq.h | 1 + 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/block/blk-mq-sysfs.c b/block/blk-mq-sysfs.c

[PATCH v2 8/8] blk-mq: Cleanup (de-)allocation of blk_mq_hw_ctx::ctxs

2016-09-30 Thread Alexander Gordeev
n. CC: linux-bl...@vger.kernel.org Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- block/blk-mq.c | 51 --- 1 file changed, 32 insertions(+), 19 deletions(-) diff --git a/block/blk-mq.c b/block/blk-mq.c index 78ee5af..03654af 100644 --- a/block/bl

[PATCH v2 5/8] blk-mq: Cleanup blk_mq_hw_ctx::cpumask (de-)allocation

2016-09-30 Thread Alexander Gordeev
CC: linux-bl...@vger.kernel.org Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- block/blk-mq.c | 37 +++-- 1 file changed, 11 insertions(+), 26 deletions(-) diff --git a/block/blk-mq.c b/block/blk-mq.c index eed6e348..15c03c2 100644 --- a/block/bl

[PATCH v2 6/8] blk-mq: Rework blk_mq_realloc_hw_ctxs()

2016-09-30 Thread Alexander Gordeev
Rework blk_mq_realloc_hw_ctxs() so deallocation is done in order reverse to allocation and indentation is bit more easy to read. CC: linux-bl...@vger.kernel.org Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- block/blk-mq.c | 40 ++-- 1 file c

[PATCH v2 3/8] blk-mq: Fix hardware context data node selection

2016-09-30 Thread Alexander Gordeev
CC: linux-bl...@vger.kernel.org Reviewed-by: Omar Sandoval <osan...@fb.com> Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- block/blk-mq.c | 9 - 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/block/blk-mq.c b/block/blk-mq.c index 92c2519..e3

[PATCH v2 0/8] blk-mq: Minor cleanups

2016-09-30 Thread Alexander Gordeev
Hello, The series is against: git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next Thanks! CC: linux-bl...@vger.kernel.org Alexander Gordeev (8): block: Get rid of unused request_queue::nr_queues member blk-mq: Remove a redundant assignment blk-mq: Fix hardware

Re: [PATCH 03/13] genirq/msi: Switch to new irq spreading infrastructure

2016-09-22 Thread Alexander Gordeev
On Wed, Sep 14, 2016 at 04:18:49PM +0200, Christoph Hellwig wrote: > static int msix_setup_entries(struct pci_dev *dev, void __iomem *base, > - struct msix_entry *entries, int nvec) > + struct msix_entry *entries, int nvec, > +

Re: [PATCH 02/13] genirq/affinity: Provide smarter irq spreading infrastructure

2016-09-21 Thread Alexander Gordeev
On Wed, Sep 14, 2016 at 04:18:48PM +0200, Christoph Hellwig wrote: > +/** > + * irq_calc_affinity_vectors - Calculate to optimal number of vectors for a > given affinity mask > + * @affinity:The affinity mask to spread. If NULL > cpu_online_mask > + * is used >

Re: [PATCH 03/13] genirq/msi: Switch to new irq spreading infrastructure

2016-09-21 Thread Alexander Gordeev
On Wed, Sep 14, 2016 at 04:18:49PM +0200, Christoph Hellwig wrote: > @@ -1039,6 +1058,7 @@ EXPORT_SYMBOL(pci_msi_enabled); > static int __pci_enable_msi_range(struct pci_dev *dev, int minvec, int > maxvec, > unsigned int flags) > { > + bool affinity = flags & PCI_IRQ_AFFINITY;

Re: [PATCH 04/14] blk-mq: Do not limit number of queues to 'nr_cpu_ids' in allocations

2016-09-20 Thread Alexander Gordeev
On Mon, Sep 19, 2016 at 10:48:49AM -0700, Omar Sandoval wrote: > On Sun, Sep 18, 2016 at 09:37:14AM +0200, Alexander Gordeev wrote: > > Currently maximum number of used hardware queues is limited to > > number of CPUs in the system. However, using 'nr_cpu_ids' as > > the limit

Re: [PATCH 07/14] blk-mq: Cleanup a loop exit condition

2016-09-20 Thread Alexander Gordeev
On Mon, Sep 19, 2016 at 12:00:28PM -0700, Omar Sandoval wrote: > On Sun, Sep 18, 2016 at 09:37:17AM +0200, Alexander Gordeev wrote: > > CC: linux-bl...@vger.kernel.org > > Signed-off-by: Alexander Gordeev <agord...@redhat.com> > > So set->nr_hw_queues is al

Re: [PATCH 01/13] genirq/msi: Add cpumask allocation to alloc_msi_entry

2016-09-20 Thread Alexander Gordeev
On Mon, Sep 19, 2016 at 03:50:07PM +0200, Christoph Hellwig wrote: > On Mon, Sep 19, 2016 at 09:30:58AM +0200, Alexander Gordeev wrote: > > > INIT_LIST_HEAD(>list); > > > desc->dev = dev; > > > + desc->nvec_used = nvec; (*) > > > + if (affi

Re: [PATCH RFC 00/21] blk-mq: Introduce combined hardware queues

2016-09-19 Thread Alexander Gordeev
On Fri, Sep 16, 2016 at 05:04:48PM -0400, Keith Busch wrote: CC-ing linux-bl...@vger.kernel.org > I'm not sure I see how this helps. That probably means I'm not considering > the right scenario. Could you elaborate on when having multiple hardware > queues to choose from a given CPU will provide

Re: [PATCH 10/13] blk-mq: provide a default queue mapping for PCI device

2016-09-19 Thread Alexander Gordeev
On Wed, Sep 14, 2016 at 04:18:56PM +0200, Christoph Hellwig wrote: > Signed-off-by: Christoph Hellwig > --- > block/Makefile | 2 +- > block/blk-mq-pci.c | 45 + > include/linux/blk-mq-pci.h | 9 + > 3 files

Re: [PATCH 01/13] genirq/msi: Add cpumask allocation to alloc_msi_entry

2016-09-19 Thread Alexander Gordeev
On Wed, Sep 14, 2016 at 04:18:47PM +0200, Christoph Hellwig wrote: > diff --git a/kernel/irq/msi.c b/kernel/irq/msi.c > index 19e9dfb..8a3e8727 100644 > --- a/kernel/irq/msi.c > +++ b/kernel/irq/msi.c > @@ -18,20 +18,42 @@ > /* Temparory solution for building, will be removed later */ > #include

[PATCH 14/14] blk-mq: Set flush_start_tag to BLK_MQ_MAX_DEPTH

2016-09-18 Thread Alexander Gordeev
We need flush tags unique across hardware contexts and do not overlap with normal tags. BLK_MQ_MAX_DEPTH as a base number seems better choice than a queue's depth. CC: linux-bl...@vger.kernel.org Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- block/blk-mq.c | 7 ++-

[PATCH 13/14] blk-mq: Pair blk_mq_hctx_kobj_init() with blk_mq_hctx_kobj_put()

2016-09-18 Thread Alexander Gordeev
CC: linux-bl...@vger.kernel.org Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- block/blk-mq-sysfs.c | 5 + block/blk-mq.c | 2 +- block/blk-mq.h | 1 + 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/block/blk-mq-sysfs.c b/block/blk-mq-sysfs.c

[PATCH 11/14] blk-mq: Move hardware context init code into single location

2016-09-18 Thread Alexander Gordeev
Move scattered hardware context initialization code into a single function destined to do that, blk_mq_init_hctx() CC: linux-bl...@vger.kernel.org Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- block/blk-mq.c | 81 +-

[PATCH 05/14] blk-mq: Remove a redundant assignment

2016-09-18 Thread Alexander Gordeev
blk_mq_hw_ctx::queue_num is initialized in blk_mq_init_hctx() function. CC: linux-bl...@vger.kernel.org Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- block/blk-mq.c | 1 - 1 file changed, 1 deletion(-) diff --git a/block/blk-mq.c b/block/blk-mq.c index 2c77b68..a38fd2e

[PATCH 09/14] blk-mq: Move duplicating code to blk_mq_exit_hctx()

2016-09-18 Thread Alexander Gordeev
CC: linux-bl...@vger.kernel.org Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- block/blk-mq.c | 14 +- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/block/blk-mq.c b/block/blk-mq.c index 3efb700..cd32a08 100644 --- a/block/blk-mq.c +++ b/block/bl

[PATCH 10/14] blk-mq: Uninit hardware context in order reverse to init

2016-09-18 Thread Alexander Gordeev
CC: linux-bl...@vger.kernel.org Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- block/blk-mq.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/block/blk-mq.c b/block/blk-mq.c index cd32a08..c589096 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -2

[PATCH 06/14] blk-mq: Fix hardware context data node selection

2016-09-18 Thread Alexander Gordeev
CC: linux-bl...@vger.kernel.org Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- block/blk-mq.c | 9 - 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/block/blk-mq.c b/block/blk-mq.c index a38fd2e..9fbfe31 100644 --- a/block/blk-mq.c +++ b/block/bl

[PATCH 07/14] blk-mq: Cleanup a loop exit condition

2016-09-18 Thread Alexander Gordeev
CC: linux-bl...@vger.kernel.org Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- block/blk-mq.c | 9 +++-- 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/block/blk-mq.c b/block/blk-mq.c index 9fbfe31..b2ef8f5 100644 --- a/block/blk-mq.c +++ b/block/bl

[PATCH 12/14] blk-mq: Rework blk_mq_init_hctx() function

2016-09-18 Thread Alexander Gordeev
Rework blk_mq_init_hctx() function so all memory allocations are done before data initialization and callbacks invocation. As result, the latter is avoided in tight memory conditions. CC: linux-bl...@vger.kernel.org Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- block/blk-mq.

[PATCH 08/14] blk-mq: Get rid of unnecessary blk_mq_free_hw_queues()

2016-09-18 Thread Alexander Gordeev
CC: linux-bl...@vger.kernel.org Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- block/blk-mq.c | 13 + 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/block/blk-mq.c b/block/blk-mq.c index b2ef8f5..3efb700 100644 --- a/block/blk-mq.c +++ b/block/bl

[PATCH 03/14] block: Get rid of unused request_queue::nr_queues member

2016-09-18 Thread Alexander Gordeev
CC: linux-bl...@vger.kernel.org Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- block/blk-mq.c | 2 -- include/linux/blkdev.h | 1 - 2 files changed, 3 deletions(-) diff --git a/block/blk-mq.c b/block/blk-mq.c index 7fa58fe..276ec7b 100644 --- a/block/blk-mq.c +++ b/blo

[PATCH 00/14] blk-mq: Minor fixes and cleanups

2016-09-18 Thread Alexander Gordeev
Hi Jens! The series is against: git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-4.9/block-irq Thanks! CC: linux-bl...@vger.kernel.org Alexander Gordeev (14): blk-mq: Fix memory leaks on queue cleanup blk-mq: Fix a potential NULL pointer assignment to hctx tags

[PATCH 01/14] blk-mq: Fix memory leaks on queue cleanup

2016-09-18 Thread Alexander Gordeev
Some data are leaked when blk_cleanup_queue() interface is called. CC: linux-bl...@vger.kernel.org Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- block/blk-mq.c | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/block/blk-mq.c b/block/blk-mq.c index f

[PATCH 04/14] blk-mq: Do not limit number of queues to 'nr_cpu_ids' in allocations

2016-09-18 Thread Alexander Gordeev
queues is less than number of CPUs. CC: linux-bl...@vger.kernel.org Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- block/blk-mq.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/block/blk-mq.c b/block/blk-mq.c index 276ec7b..2c77b68 100644 --- a/blo

[PATCH 02/14] blk-mq: Fix a potential NULL pointer assignment to hctx tags

2016-09-18 Thread Alexander Gordeev
If number of used hardware queues is dynamically decreased then tags corresponding to the newly unused queues are freed. If previously unused hardware queues are then reused again they will start referring the previously freed tags. CC: linux-bl...@vger.kernel.org Signed-off-by: Alexander

Re: [PATCH RFC 00/21] blk-mq: Introduce combined hardware queues

2016-09-16 Thread Alexander Gordeev
On Fri, Sep 16, 2016 at 02:27:43AM -0700, Christoph Hellwig wrote: > Hi Alex, > > this clashes badly with the my queue mapping rework that went into > Jens tree recently. Yeah, I fully aware the RFC-marked patches would clash with your works. I will surely rework them if the proposal considered

[PATCH 04/21] blk-mq: Do not limit number of queues to 'nr_cpu_ids' in allocations

2016-09-16 Thread Alexander Gordeev
queues is less than number of CPUs. CC: Jens Axboe <ax...@kernel.dk> CC: linux-n...@lists.infradead.org Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- block/blk-mq.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/block/blk-mq.c b/block/bl

[PATCH 09/21] blk-mq: Cleanup a loop exit condition

2016-09-16 Thread Alexander Gordeev
CC: Jens Axboe <ax...@kernel.dk> CC: linux-n...@lists.infradead.org Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- block/blk-mq.c | 9 +++-- 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/block/blk-mq.c b/block/blk-mq.c index d40013c..de700c8 100644 ---

[PATCH 11/21] blk-mq: Move duplicating code to blk_mq_exit_hctx()

2016-09-16 Thread Alexander Gordeev
CC: Jens Axboe <ax...@kernel.dk> CC: linux-n...@lists.infradead.org Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- block/blk-mq.c | 14 +- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/block/blk-mq.c b/block/blk-mq.c index 639b90d..9b

[PATCH 12/21] blk-mq: Uninit hardware context in order reverse to init

2016-09-16 Thread Alexander Gordeev
CC: Jens Axboe <ax...@kernel.dk> CC: linux-n...@lists.infradead.org Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- block/blk-mq.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/block/blk-mq.c b/block/blk-mq.c index 9b1b6dc..f2bae1a 100644 --- a/bl

[PATCH RFC 18/21] blk-mq: Enable tag numbers exceed hardware queue depth

2016-09-16 Thread Alexander Gordeev
. This is a prerequisite to introduce combined hardware contexts. CC: Jens Axboe <ax...@kernel.dk> CC: linux-n...@lists.infradead.org Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- block/blk-core.c | 4 +++- block/blk-mq.c | 9 +++-- include/linux/blk-mq.h |

[PATCH 03/21] block: Get rid of unused request_queue::nr_queues member

2016-09-16 Thread Alexander Gordeev
CC: Jens Axboe <ax...@kernel.dk> CC: linux-n...@lists.infradead.org Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- block/blk-mq.c | 2 -- include/linux/blkdev.h | 1 - 2 files changed, 3 deletions(-) diff --git a/block/blk-mq.c b/block/blk-mq.c index 1cacf83..b6

[PATCH 15/21] blk-mq: Pair blk_mq_hctx_kobj_init() with blk_mq_hctx_kobj_put()

2016-09-16 Thread Alexander Gordeev
CC: Jens Axboe <ax...@kernel.dk> CC: linux-n...@lists.infradead.org Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- block/blk-mq-sysfs.c | 5 + block/blk-mq.c | 2 +- block/blk-mq.h | 1 + 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/

[PATCH RFC 17/21] blk-mq: Introduce a 1:N hardware contexts

2016-09-16 Thread Alexander Gordeev
). Basically, it replaces what is now 1:1 hardware context. CC: Jens Axboe <ax...@kernel.dk> CC: linux-n...@lists.infradead.org Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- block/blk-core.c | 3 ++- block/blk-mq.c

[PATCH 14/21] blk-mq: Rework blk_mq_init_hctx() function

2016-09-16 Thread Alexander Gordeev
Rework blk_mq_init_hctx() function so all reaquired memory allocations are done before data initialization and callbacks invocation. CC: Jens Axboe <ax...@kernel.dk> CC: linux-n...@lists.infradead.org Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- block/b

[PATCH 16/21] blk-mq: Set flush_start_tag to BLK_MQ_MAX_DEPTH

2016-09-16 Thread Alexander Gordeev
We need flush tags unique across hardware contexts and do not overlap with normal tags. BLK_MQ_MAX_DEPTH as a base number seems better choise than a queue's depth. CC: Jens Axboe <ax...@kernel.dk> CC: linux-n...@lists.infradead.org Signed-off-by: Alexander Gordeev <agord...@redhat.com>

[PATCH 10/21] blk-mq: Get rid of unnecessary blk_mq_free_hw_queues()

2016-09-16 Thread Alexander Gordeev
CC: Jens Axboe <ax...@kernel.dk> CC: linux-n...@lists.infradead.org Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- block/blk-mq.c | 13 + 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/block/blk-mq.c b/block/blk-mq.c index de700c8..639b90d 100644

[PATCH RFC 19/21] blk-mq: Enable combined hardware queues

2016-09-16 Thread Alexander Gordeev
(but not yet allowed). CC: Jens Axboe <ax...@kernel.dk> CC: linux-n...@lists.infradead.org Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- block/blk-mq-tag.c | 4 +- block/blk-mq.c | 150 +++-- include/linux/blk-mq.h

[PATCH 13/21] blk-mq: Move hardware context init code into blk_mq_init_hctx()

2016-09-16 Thread Alexander Gordeev
Move scattered hardware context initialization code into a single function destined to do that, blk_mq_init_hctx() CC: Jens Axboe <ax...@kernel.dk> CC: linux-n...@lists.infradead.org Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- block/b

[PATCH 21/21] null_blk: Do not limit # of hardware queues to # of CPUs

2016-09-16 Thread Alexander Gordeev
It is not responsibility of device driver to assume number of hardware queues used. Let the block layer decide instead. CC: Jens Axboe <ax...@kernel.dk> CC: linux-n...@lists.infradead.org Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- drivers/block/null_blk.c | 4 +--- 1

[PATCH RFC 20/21] blk-mq: Allow combined hardware queues

2016-09-16 Thread Alexander Gordeev
. CC: Jens Axboe <ax...@kernel.dk> CC: linux-n...@lists.infradead.org Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- block/blk-mq-cpumap.c | 44 block/blk-mq.c| 14 +- block/blk-mq.h| 2 ++ 3 files

[PATCH 07/21] blk-mq: Remove a redundant assignment

2016-09-16 Thread Alexander Gordeev
blk_mq_hw_ctx::queue_num is initialized in blk_mq_init_hctx() function. CC: Jens Axboe <ax...@kernel.dk> CC: linux-n...@lists.infradead.org Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- block/blk-mq.c | 1 - 1 file changed, 1 deletion(-) diff --git a/block/blk-mq.c b/bl

[PATCH 08/21] blk-mq: Cleanup hardware context data node selection

2016-09-16 Thread Alexander Gordeev
CC: Jens Axboe <ax...@kernel.dk> CC: linux-n...@lists.infradead.org Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- block/blk-mq.c | 9 - 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/block/blk-mq.c b/block/blk-mq.c index 657e748..d40013c 100644 ---

[PATCH 02/21] blk-mq: Fix a potential NULL pointer assignment to hctx tags

2016-09-16 Thread Alexander Gordeev
inux-n...@lists.infradead.org Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- block/blk-mq.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/block/blk-mq.c b/block/blk-mq.c index 90e3fef..1cacf83 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -2005,6 +2005,8 @@ static void blk_mq_realloc_hw

[PATCH 01/21] blk-mq: Fix memory leaks on a queue cleanup

2016-09-16 Thread Alexander Gordeev
Some data are leaked when blk_cleanup_queue() interface is called. CC: Jens Axboe <ax...@kernel.dk> CC: linux-n...@lists.infradead.org Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- block/blk-mq.c | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git

[PATCH 05/21] blk-mq: Update hardware queue map after q->nr_hw_queues is set

2016-09-16 Thread Alexander Gordeev
are determined. CC: Jens Axboe <ax...@kernel.dk> CC: linux-n...@lists.infradead.org Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- block/blk-mq-cpumap.c | 17 - block/blk-mq.c| 8 +++- block/blk-mq.h| 1 - 3 files changed, 7 inser

[PATCH RFC 00/21] blk-mq: Introduce combined hardware queues

2016-09-16 Thread Alexander Gordeev
Comments and suggestions are very welcomed! The series is against linux-block tree. Thanks! CC: Jens Axboe <ax...@kernel.dk> CC: linux-n...@lists.infradead.org Alexander Gordeev (21): blk-mq: Fix memory leaks on a queue cleanup blk-mq: Fix a potential NULL pointer assignment to hctx t

[PATCH 06/21] block: Remove redundant blk_mq_ops::map_queue() interface

2016-09-16 Thread Alexander Gordeev
All drivers that override blk_mq_ops::map_queue() interface use default function and hence make the interface itself redundant. CC: Jens Axboe <ax...@kernel.dk> CC: linux-n...@lists.infradead.org Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- block/blk-flush.c

Re: [PATCH 2/2] pci: call pci_intx when using legacy interrupts in pci_alloc_irq_vectors

2016-08-22 Thread Alexander Gordeev
On Thu, Aug 18, 2016 at 05:26:49PM +0200, Christoph Hellwig wrote: > It probably should be pci_intx_for_msi. For now I'm not touching > drivers that need the quirk, so how about getting the intx in > now so that the conversion can start, and I'll send a follow on > to convert to pci_intx_for_msi

Re: [PATCH 2/2] pci: call pci_intx when using legacy interrupts in pci_alloc_irq_vectors

2016-08-18 Thread Alexander Gordeev
On Thu, Aug 18, 2016 at 11:20:07AM +0200, Alexander Gordeev wrote: > On Thu, Aug 11, 2016 at 07:11:05AM -0700, Christoph Hellwig wrote: > > ahci currently insists on an explicit call to pci_intx before falling back > > from MSI or MSI-X to legacy irqs. As pci_intx is a no-op

Re: [PATCH 2/2] pci: call pci_intx when using legacy interrupts in pci_alloc_irq_vectors

2016-08-18 Thread Alexander Gordeev
On Thu, Aug 11, 2016 at 07:11:05AM -0700, Christoph Hellwig wrote: > ahci currently insists on an explicit call to pci_intx before falling back > from MSI or MSI-X to legacy irqs. As pci_intx is a no-op if the command > register already contains the right value is seems safe and useful to add >

Re: [PATCH 1/2] pci: use positive flags in pci_alloc_irq_vectors

2016-08-18 Thread Alexander Gordeev
ne PCI_IRQ_NOMSI(1 << 1) /* don't use MSI interrupts */ > -#define PCI_IRQ_NOMSIX (1 << 2) /* don't use MSI-X interrupts > */ > -#define PCI_IRQ_NOAFFINITY (1 << 3) /* don't auto-assign affinity */ > +#define PCI_IRQ_LEGACY (1 << 0) /* allow legacy interrupts */ > +#define PCI_IRQ_MSI (1 << 1) /* allow MSI interrupts */ > +#define PCI_IRQ_MSIX (1 << 2) /* allow MSI-X interrupts */ > +#define PCI_IRQ_AFFINITY (1 << 3) /* auto-assign affinity */ > +#define PCI_IRQ_ALL_TYPES \ > + (PCI_IRQ_LEGACY | PCI_IRQ_MSI | PCI_IRQ_MSIX) > > /* kmem_cache style wrapper around pci_alloc_consistent() */ > Reviewed-by: Alexander Gordeev <agord...@redhat.com> > -- > 2.1.4 >

Re: [PATCH 1/5] pci: add a pci_msix_desc_addr helper

2016-07-12 Thread Alexander Gordeev
t; } else if (entry->msi_attrib.is_msix) { > - void __iomem *base; > - base = entry->mask_base + > - entry->msi_attrib.entry_nr * PCI_MSIX_ENTRY_SIZE; > + void __iomem *base = pci_msix_desc_addr(entry); > > writel(msg->address_lo, base + PCI_MSIX_ENTRY_LOWER_ADDR); > writel(msg->address_hi, base + PCI_MSIX_ENTRY_UPPER_ADDR); > -- > 2.1.4 > Reviewed-by: Alexander Gordeev <agord...@redhat.com>

Re: [PATCH 2/5] pci: switch msix_program_entries to use pci_msix_desc_addr

2016-07-12 Thread Alexander Gordeev
d = readl(entry->mask_base + offset); > + entry->masked = readl(pci_msix_desc_addr(entry) + > + PCI_MSIX_ENTRY_VECTOR_CTRL); > msix_mask_irq(entry, 1); > i++; > } > -- > 2.1.4 > Reviewed-by: Alexander Gordeev <agord...@redhat.com>

Re: [PATCH 4/5] pci: Provide sensible irq vector alloc/free routines

2016-07-12 Thread Alexander Gordeev
ct pci_dev *msi_desc_to_pci_dev(struct msi_desc *desc) > { > return to_pci_dev(desc->dev); > diff --git a/include/linux/pci.h b/include/linux/pci.h > index b67e4df..52ecd49 100644 > --- a/include/linux/pci.h > +++ b/include/linux/pci.h > @@ -1237,6 +1237,10 @@ resource_size_t pcibios_iov_resource_alignment(struct > pci_dev *dev, int resno); > int pci_set_vga_state(struct pci_dev *pdev, bool decode, > unsigned int command_bits, u32 flags); > > +#define PCI_IRQ_NOLEGACY (1 << 0) /* don't use legacy interrupts */ > +#define PCI_IRQ_NOMSI(1 << 1) /* don't use MSI interrupts */ > +#define PCI_IRQ_NOMSIX (1 << 2) /* don't use MSI-X interrupts > */ > + > /* kmem_cache style wrapper around pci_alloc_consistent() */ > > #include > @@ -1284,6 +1288,11 @@ static inline int pci_enable_msix_exact(struct pci_dev > *dev, > return rc; > return 0; > } > +int pci_alloc_irq_vectors(struct pci_dev *dev, unsigned int min_vecs, > + unsigned int max_vecs, unsigned int flags); > +void pci_free_irq_vectors(struct pci_dev *dev); > +int pci_irq_vector(struct pci_dev *dev, unsigned int nr); > + > #else > static inline int pci_msi_vec_count(struct pci_dev *dev) { return -ENOSYS; } > static inline void pci_msi_shutdown(struct pci_dev *dev) { } > @@ -1307,6 +1316,24 @@ static inline int pci_enable_msix_range(struct pci_dev > *dev, > static inline int pci_enable_msix_exact(struct pci_dev *dev, > struct msix_entry *entries, int nvec) > { return -ENOSYS; } > +static inline int pci_alloc_irq_vectors(struct pci_dev *dev, > + unsigned int min_vecs, unsigned int max_vecs, > + unsigned int flags) > +{ > + if (min_vecs > 1) > + return -EINVAL; > + return 1; > +} > +static inline void pci_free_irq_vectors(struct pci_dev *dev) > +{ > +} > + > +static inline int pci_irq_vector(struct pci_dev *dev, unsigned int nr) > +{ > + if (WARN_ON_ONCE(nr > 0)) > + return -EINVAL; > + return dev->irq; > +} > #endif > > #ifdef CONFIG_PCIEPORTBUS > -- > 2.1.4 > Reviewed-by: Alexander Gordeev <agord...@redhat.com>

Re: [PATCH 5/5] pci: spread interrupt vectors in pci_alloc_irq_vectors

2016-07-12 Thread Alexander Gordeev
linux/pci.h > @@ -320,6 +320,7 @@ struct pci_dev { >* directly, use the values stored here. They might be different! >*/ > unsigned intirq; > + struct cpumask *irq_affinity; > struct resource resource[DEVICE_COUNT_RESOURCE]; /* I/O and memory > regions + expansion ROMs */ > > bool match_driver; /* Skip attaching driver */ > @@ -1240,6 +1241,7 @@ int pci_set_vga_state(struct pci_dev *pdev, bool decode, > #define PCI_IRQ_NOLEGACY (1 << 0) /* don't use legacy interrupts */ > #define PCI_IRQ_NOMSI(1 << 1) /* don't use MSI interrupts */ > #define PCI_IRQ_NOMSIX (1 << 2) /* don't use MSI-X interrupts > */ > +#define PCI_IRQ_NOAFFINITY (1 << 3) /* don't auto-assign affinity */ > > /* kmem_cache style wrapper around pci_alloc_consistent() */ > > -- > 2.1.4 > With, or without my -else nit: Reviewed-by: Alexander Gordeev <agord...@redhat.com>

Re: [PATCH 07/13] pci: Provide sensible irq vector alloc/free routines

2016-07-12 Thread Alexander Gordeev
On Tue, Jul 12, 2016 at 11:13:00AM +0200, Christoph Hellwig wrote: > On Mon, Jul 11, 2016 at 12:43:41PM +0200, Alexander Gordeev wrote: > > > I diagreed - if we deprecated functions the only thing that should > > > be mentioned is a "don't use these". > >

Re: [PATCH 08/13] pci: spread interrupt vectors in pci_alloc_irq_vectors

2016-07-12 Thread Alexander Gordeev
On Sun, Jul 10, 2016 at 05:57:51AM +0200, Christoph Hellwig wrote: > On Thu, Jul 07, 2016 at 01:05:01PM +0200, Alexander Gordeev wrote: > > irq_create_affinity_mask() bails out with no affinity in case of single > > vector, but alloc_descs() (see below (*)) assigns the whole af

Re: [PATCH 11/13] blk-mq: allow the driver to pass in an affinity mask

2016-07-12 Thread Alexander Gordeev
On Sun, Jul 10, 2016 at 05:41:44AM +0200, Christoph Hellwig wrote: > On Mon, Jul 04, 2016 at 11:35:28AM +0200, Alexander Gordeev wrote: > > > mq_map is initialized to zero already, so we don't really need the > > > assignment for queue 0. The reason why this check exists is b

Re: [PATCH 07/13] pci: Provide sensible irq vector alloc/free routines

2016-07-11 Thread Alexander Gordeev
On Sun, Jul 10, 2016 at 05:47:37AM +0200, Christoph Hellwig wrote: > On Wed, Jul 06, 2016 at 10:05:45AM +0200, Alexander Gordeev wrote: > > > + pci_enable_msi, pci_enable_msi_range, pci_enable_msi_exact, > > > pci_disable_msi, > > > + pci_msi_ve

Re: [PATCH 12/13] nvme: switch to use pci_alloc_irq_vectors

2016-07-07 Thread Alexander Gordeev
On Mon, Jul 04, 2016 at 05:39:33PM +0900, Christoph Hellwig wrote: > @@ -1575,6 +1546,7 @@ static int nvme_dev_add(struct nvme_dev *dev) > dev->tagset.cmd_size = nvme_cmd_size(dev); > dev->tagset.flags = BLK_MQ_F_SHOULD_MERGE; > dev->tagset.driver_data =

Re: [PATCH 08/13] pci: spread interrupt vectors in pci_alloc_irq_vectors

2016-07-07 Thread Alexander Gordeev
On Mon, Jul 04, 2016 at 05:39:29PM +0900, Christoph Hellwig wrote: > Set the affinity_mask in the PCI device before allocating vectors so that > the affinity can be propagated through the MSI descriptor structures to > the core IRQ code. Add a new helper __pci_enable_msi_range which is > similar

Re: [PATCH 07/13] pci: Provide sensible irq vector alloc/free routines

2016-07-06 Thread Alexander Gordeev
On Mon, Jul 04, 2016 at 05:39:28PM +0900, Christoph Hellwig wrote: > Add a function to allocate a range of interrupt vectors, which will > transparently use MSI-X and MSI if available or fallback to legacy > vectors. The interrupts are available in a core managed array in the > pci_dev structure,

Re: [PATCH 11/13] blk-mq: allow the driver to pass in an affinity mask

2016-07-04 Thread Alexander Gordeev
On Mon, Jul 04, 2016 at 10:38:49AM +0200, Christoph Hellwig wrote: > On Mon, Jul 04, 2016 at 10:15:41AM +0200, Alexander Gordeev wrote: > > On Tue, Jun 14, 2016 at 09:59:04PM +0200, Christoph Hellwig wrote: > > > +static int blk_mq_create_mq_map(struct blk_mq_tag_set *set, >

Re: [PATCH 11/13] blk-mq: allow the driver to pass in an affinity mask

2016-07-04 Thread Alexander Gordeev
On Tue, Jun 14, 2016 at 09:59:04PM +0200, Christoph Hellwig wrote: > +static int blk_mq_create_mq_map(struct blk_mq_tag_set *set, > + const struct cpumask *affinity_mask) > +{ > + int queue = -1, cpu = 0; > + > + set->mq_map = kzalloc_node(sizeof(*set->mq_map) * nr_cpu_ids, > +

Re: [PATCH 06/13] irq: add a helper spread an affinity mask for MSI/MSI-X vectors

2016-07-01 Thread Alexander Gordeev
On Thu, Jun 30, 2016 at 07:48:54PM +0200, Christoph Hellwig wrote: > On Sat, Jun 25, 2016 at 10:05:19PM +0200, Alexander Gordeev wrote: > > > + * and generate an output cpumask suitable for spreading MSI/MSI-X > > > vectors > > > + * so that they are distribu

Re: [PATCH 07/13] pci: Provide sensible irq vector alloc/free routines

2016-06-30 Thread Alexander Gordeev
On Thu, Jun 30, 2016 at 06:54:17PM +0200, Christoph Hellwig wrote: > > > +static unsigned int pci_nr_irq_vectors(struct pci_dev *pdev) > > > +{ > > > + int nr_entries; > > > + > > > + nr_entries = pci_msix_vec_count(pdev); > > > + if (nr_entries <= 0 && pci_msi_supported(pdev, 1)) > > > +

Re: automatic interrupt affinity for MSI/MSI-X capable devices V2

2016-06-26 Thread Alexander Gordeev
On Tue, Jun 14, 2016 at 09:58:53PM +0200, Christoph Hellwig wrote: > This series enhances the irq and PCI code to allow spreading around MSI and > MSI-X vectors so that they have per-cpu affinity if possible, or at least > per-node. For that it takes the algorithm from blk-mq, moves it to > a

Re: [PATCH 08/13] pci: spread interrupt vectors in pci_alloc_irq_vectors

2016-06-25 Thread Alexander Gordeev
On Tue, Jun 14, 2016 at 09:59:01PM +0200, Christoph Hellwig wrote: > Set the affinity_mask before allocating vectors. > > Signed-off-by: Christoph Hellwig > --- > drivers/pci/msi.c | 26 -- > include/linux/pci.h | 1 + > 2 files changed, 25 insertions(+),

Re: [PATCH 06/13] irq: add a helper spread an affinity mask for MSI/MSI-X vectors

2016-06-25 Thread Alexander Gordeev
On Tue, Jun 14, 2016 at 09:58:59PM +0200, Christoph Hellwig wrote: > This is lifted from the blk-mq code and adopted to use the affinity mask > concept just intruced in the irq handling code. > > Signed-off-by: Christoph Hellwig > --- > include/linux/interrupt.h | 11 + >

Re: [PATCH 07/13] pci: Provide sensible irq vector alloc/free routines

2016-06-23 Thread Alexander Gordeev
On Tue, Jun 14, 2016 at 09:59:00PM +0200, Christoph Hellwig wrote: > Add a helper to allocate a range of interrupt vectors, which will > transparently use MSI-X and MSI if available or fallback to legacy > vectors. The interrupts are available in a core managed array > in the pci_dev structure,

Re: [PATCH 02/13] irq: Introduce IRQD_AFFINITY_MANAGED flag

2016-06-22 Thread Alexander Gordeev
On Thu, Jun 16, 2016 at 11:19:51AM -0400, Keith Busch wrote: > On Wed, Jun 15, 2016 at 10:50:53PM +0200, Bart Van Assche wrote: > > Does it matter on x86 systems whether or not these interrupt vectors are > > also associated with a CPU with a higher CPU number? Although multiple bits > > can be

[PATCH v3 0/2] sched/core: Cleanup leftovers in __schedule()

2016-03-02 Thread Alexander Gordeev
fixed Cc: Oleg Nesterov <o...@redhat.com> Cc: Peter Zijlstra <pet...@infradead.org> Alexander Gordeev (2): sched/core: Get rid of 'cpu' argument in wq_worker_sleeping() sched/core: Get rid of 'cpu' local variable in __schedule() kernel/sched/core.c | 6 ++ kernel

[PATCH v3 2/2] sched/core: Get rid of 'cpu' local variable in __schedule()

2016-03-02 Thread Alexander Gordeev
om> Cc: Peter Zijlstra <pet...@infradead.org> Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- kernel/sched/core.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 735e87c..75e62ef 100644 --- a/kernel/sch

[PATCH v3 1/2] sched/core: Get rid of 'cpu' argument in wq_worker_sleeping()

2016-03-02 Thread Alexander Gordeev
Given that wq_worker_sleeping() could only be called for a CPU it is running on, we do not need passing a CPU ID as an argument. Suggested-by: Oleg Nesterov <o...@redhat.com> Cc: Oleg Nesterov <o...@redhat.com> Cc: Peter Zijlstra <pet...@infradead.org> Signed-off-by: Alexan

[PATCH v2 0/2] sched/core: Cleanup leftovers in __schedule()

2016-03-01 Thread Alexander Gordeev
Changes since v1: - cover letter BLURB added :) - forgotten Suggested-by Oleg field added to patch 1 - raw_smp_processor_id() returned instead of mistaken smp_processor_id() - kbuild excess function parameter 'cpu' description warning fixed Alexander Gordeev (2): sched/core: Get rid

[PATCH v2 2/2] sched/core: Get rid of 'cpu' variable in __schedule()

2016-03-01 Thread Alexander Gordeev
'cpu' variable is only used to acquire the current runqueue. By using this_rq() instead, we can get rid of that variable. Cc: Oleg Nesterov <o...@redhat.com> Cc: Peter Zijlstra <pet...@infradead.org> Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- kernel/sched/core.c

[PATCH v2 1/2] sched/core: Get rid of 'cpu' argument in wq_worker_sleeping()

2016-03-01 Thread Alexander Gordeev
Given that wq_worker_sleeping() could only be called for a CPU it is running on, we do not need passing a CPU ID as an argument. Suggested-by: Oleg Nesterov <o...@redhat.com> Cc: Oleg Nesterov <o...@redhat.com> Cc: Peter Zijlstra <pet...@infradead.org> Signed-off-by: Alexan

[PATCH 1/2] sched/core: Get rid of 'cpu' argument in wq_worker_sleeping()

2016-02-28 Thread Alexander Gordeev
Given that wq_worker_sleeping() could only be called for a CPU it is running on, we do not need passing a CPU ID as an argument. Cc: Oleg Nesterov <o...@redhat.com> Cc: Peter Zijlstra <pet...@infradead.org> Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- k

[PATCH 0/2] sched/core: Cleanup leftovers in __schedule()

2016-02-28 Thread Alexander Gordeev
*** BLURB HERE *** Alexander Gordeev (2): sched/core: Get rid of 'cpu' argument in wq_worker_sleeping() sched/core: Get rid of 'cpu' variable in __schedule() kernel/sched/core.c | 7 ++- kernel/workqueue.c | 4 ++-- kernel/workqueue_internal.h | 2 +- 3 files changed, 5

[PATCH 2/2] sched/core: Get rid of 'cpu' variable in __schedule()

2016-02-28 Thread Alexander Gordeev
'cpu' variable is only used to acquire the current runqueue. By using this_rq() instead, we can get rid of that variable. Cc: Oleg Nesterov <o...@redhat.com> Cc: Peter Zijlstra <pet...@infradead.org> Signed-off-by: Alexander Gordeev <agord...@redhat.com> --- kernel/sched/core.c

Re: Make RCU tree CPU topology aware?

2015-08-18 Thread Alexander Gordeev
On Mon, Aug 17, 2015 at 08:28:16AM -0700, Paul E. McKenney wrote: On Mon, Aug 17, 2015 at 11:39:34AM +0100, Alexander Gordeev wrote: Hi Paul, Currently RCU tree distributes CPUs to leafs based on consequent CPU IDs. That means CPUs from remote caches and even nodes might end up

Make RCU tree CPU topology aware?

2015-08-17 Thread Alexander Gordeev
access patterns are just optimal? Thanks! -- 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

[PATCH] rcu: Shut up bogus gcc array bounds warning

2015-07-09 Thread Alexander Gordeev
and kernel drops support of older versions, the dummy item may be removed from the array. Cc: Paul E. McKenney paul...@linux.vnet.ibm.com Suggested-by: Paul E. McKenney paul...@linux.vnet.ibm.com Signed-off-by: Alexander Gordeev agord...@redhat.com --- kernel/rcu/tree.h | 4 +++- 1 file changed, 3

[PATCH v3 5/9] rcu: Limit rcu_state::levelcnt[] to RCU_NUM_LVLS items

2015-06-03 Thread Alexander Gordeev
...@goodmis.org Signed-off-by: Alexander Gordeev agord...@redhat.com --- kernel/rcu/tree.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/rcu/tree.h b/kernel/rcu/tree.h index f1f4784..a6faae5 100644 --- a/kernel/rcu/tree.h +++ b/kernel/rcu/tree.h @@ -443,7 +443,7 @@ do

[PATCH v3 4/9] rcu: Simplify rcu_init_geometry() capacity arithmetics

2015-06-03 Thread Alexander Gordeev
Current code suggests that introducing the extra level to rcu_capacity[] array makes some of the arithmetic easier. Well, in fact it appears rather confusing and unnecessary. Cc: Paul E. McKenney paul...@linux.vnet.ibm.com Cc: Steven Rostedt rost...@goodmis.org Signed-off-by: Alexander Gordeev

[PATCH v3 6/9] rcu: Limit rcu_capacity[] size to RCU_NUM_LVLS items

2015-06-03 Thread Alexander Gordeev
paul...@linux.vnet.ibm.com Cc: Steven Rostedt rost...@goodmis.org Signed-off-by: Alexander Gordeev agord...@redhat.com --- kernel/rcu/tree.c | 12 ++-- kernel/rcu/tree.h | 2 -- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c index fb5a4cb

[PATCH v3 0/9] rcu: Cleanup RCU tree initialization

2015-06-03 Thread Alexander Gordeev
nr_cpus=1, otherwise rcu_num_lvls would yield zero, which is wrong; The series is against linux-rcu tree rcu/dev branch Thanks! Cc: Paul E. McKenney paul...@linux.vnet.ibm.com Cc: Steven Rostedt rost...@goodmis.org Alexander Gordeev (9): rcu: Panic if RCU tree can not accommodate all CPUs

[PATCH v3 1/9] rcu: Panic if RCU tree can not accommodate all CPUs

2015-06-03 Thread Alexander Gordeev
in run- time then it indicates a serios problem elsewhere and should be handled with a panic. Cc: Paul E. McKenney paul...@linux.vnet.ibm.com Cc: Steven Rostedt rost...@goodmis.org Signed-off-by: Alexander Gordeev agord...@redhat.com --- kernel/rcu/tree.c | 29 + 1 file

  1   2   3   4   5   6   7   8   9   10   >