Re: [PATCH v5 19/31] elx: efct: Hardware queues creation and deletion

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi James,

On Sun, Jan 03, 2021 at 09:11:22AM -0800, James Smart wrote:
> +void
> +efct_hw_map_wq_cpu(struct efct_hw *hw)
> +{
> +	struct efct *efct = hw->os;
> +	u32 cpu = 0, i;
> +
> +	/* Init cpu_map array */
> +	for_each_possible_cpu(cpu) {
> +		hw->wq_cpu_array[cpu] = NULL;

This is asking for troubles:

	struct hw_wq		*wq_cpu_array[128];

> +	for (i = 0; i < hw->config.n_eq; i++) {
> +		const struct cpumask *maskp;
> +
> +		/* Get a CPU mask for all CPUs affinitized to this vector */
> +		maskp = pci_irq_get_affinity(efct->pci, i);


Would it not make more sense to ask from the block layer which queue is
mapped to with CPU? blk_mq_map_queues or blk_mq_pci_map_queues? I am
still a bit confused a lot about all these queue/cpu mappings :)

I assuming the code for onlining/offlining CPUs is coming later. Are you
planing to use managed IRQs?

Thanks,
Daniel



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux