RE: [EXT] Re: [PATCH RFC net-next 11/19] net: mvpp2: add flow control RXQ and BM pool config callbacks
From: Stefan Chulski <hidden>
Date: 2021-01-10 18:25:47
Also in:
lkml
From: Stefan Chulski <hidden>
Date: 2021-01-10 18:25:47
Also in:
lkml
quoted
+/* Routine calculate single queue shares address space */ static int +mvpp22_calc_shared_addr_space(struct mvpp2_port *port) { + /* If number of CPU's greater than number of threads, return last + * address space + */ + if (num_active_cpus() >= MVPP2_MAX_THREADS) + return MVPP2_MAX_THREADS - 1; + + return num_active_cpus();Firstly - this can be written as: return min(num_active_cpus(), MVPP2_MAX_THREADS - 1);
OK.
Secondly - what if the number of active CPUs change, for example due to hotplug activity. What if we boot with maxcpus=1 and then bring the other CPUs online after networking has been started? The number of active CPUs is dynamically managed via the scheduler as CPUs are brought online or offline.quoted
+/* Routine enable flow control for RXQs conditon */ void +mvpp2_rxq_enable_fc(struct mvpp2_port *port)...quoted
+/* Routine disable flow control for RXQs conditon */ void +mvpp2_rxq_disable_fc(struct mvpp2_port *port)Nothing seems to call these in this patch, so on its own, it's not obvious how these are being called, and therefore what remedy to suggest for num_active_cpus().
I don't think that current driver support CPU hotplug, anyway I can remove num_active_cpus and just use shared RX IRQ ID. Thanks. .