lkml.org 
[lkml]   [2013]   [Oct]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: blk_mq_update_queue_map makes an (invalid?) assumption about cpu ordering
On Tue, Oct 15 2013, Jeff Moyer wrote:
> Hi, Jens,
>
> blk_mq_update_queue_map does this:
>
> for_each_possible_cpu(i) {
> if (!cpu_online(i)) {
> map[i] = 0;
> continue;
> }
>
> ...
> first_sibling = get_first_sibling(i);
> if (first_sibling == i) {
> map[i] = cpu_to_queue_index(nr_uniq_cpus, nr_queues,
> queue);
> queue++;
> } else
> map[i] = map[first_sibling];
>
> This assumes that the first_sibling is listed before any other siblings,
> which I don't believe is true. I don't think you get any guaranteed
> ordering in that cpu_possible_mask.
>
> ... or did I miss something?

That's correct, it's assuming the first sibling is the lowest numbered
one. Are there cases where that would not be correct? I was sort of
assuming that was what "first" meant here.

--
Jens Axboe



\
 
 \ /
  Last update: 2013-10-16 01:41    [W:0.033 / U:1.620 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site