> +     /* 256 tags should be high enough to saturate device */
> +     int max_queues = DIV_ROUND_UP(h->scsi_host->can_queue, 256);
> +
> +     /* per NUMA node hw queue */
> +     h->scsi_host->nr_hw_queues = min_t(int, nr_node_ids, max_queues);

I don't think this magic should be in a driver.  The per-node hw_queue
selection seems like something we'd better do in the core code.

Also the whole idea to use nr_hw_queues for just partitioning tag
space on hardware that doesn't really support multiple hardware queues
seems more than odd.

Reply via email to