Thread (70 messages) 70 messages, 3 authors, 2021-03-05

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

From: Daniel Wagner <hidden>
Date: 2021-01-04 17:27:55

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help