[prev in list] [next in list] [prev in thread] [next in thread]
List: linux-sparc
Subject: Re: Another (ESP?) scsi blk-mq problem on sparc64
From: Jens Axboe <axboe () kernel ! dk>
Date: 2015-01-29 16:37:51
Message-ID: 54CA61DF.30807 () kernel ! dk
[Download RAW message or body]
On 01/28/2015 11:53 PM, Meelis Roos wrote:
> On Mon, 24 Nov 2014, David Miller wrote:
>
>> From: mroos@linux.ee
>> Date: Tue, 25 Nov 2014 00:23:20 +0200 (EET)
>>
>>>>>>> Yes, that does look like the case. Do you have a good trick on how
>>>>>>> to allocate a map for the highest possible cpu number without first
>>>>>>> iterating the cpu map? I couldn't find something that looks like a
>>>>>>> highest_possible_cpu() helper.
>>>>>>
>>>>>> Honestly I think that num_posible_cpus() should return the max of
>>>>>> number of CPUs (weigt), and the highest numbered CPU. It's a pain in
>>>>>> the butt to handle this otherwise.
>>>>>
>>>>> Hear, hear!!! That would make my life easier, and would make this sort
>>>>> of problem much less likely to occur!
>>>>
>>>> How about this one?
>>>
>>> It make the machine work.
>>
>> Thanks for testing!
>>
>
> What's the status of this fix? It is still not applied on yesterdays
> 3.19.0-rc6-00105-gc59c961 git...
Hmm, I thought commit a33c1ba29138 took care of it... Does the attached
work?
--
Jens Axboe
["map-sz.patch" (text/x-patch)]
diff --git a/block/blk-mq-cpumap.c b/block/blk-mq-cpumap.c
index 5f13f4d0bcce..527d315dc1a5 100644
--- a/block/blk-mq-cpumap.c
+++ b/block/blk-mq-cpumap.c
@@ -88,10 +88,11 @@ int blk_mq_update_queue_map(unsigned int *map, unsigned int nr_queues)
unsigned int *blk_mq_make_queue_map(struct blk_mq_tag_set *set)
{
unsigned int *map;
+ size_t sz;
/* If cpus are offline, map them to first hctx */
- map = kzalloc_node(sizeof(*map) * nr_cpu_ids, GFP_KERNEL,
- set->numa_node);
+ sz = max_t(unsigned int, nr_cpu_ids, num_possible_cpus());
+ map = kzalloc_node(sizeof(*map) * sz, GFP_KERNEL, set->numa_node);
if (!map)
return NULL;
--
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic