|
@@ -2747,11 +2747,15 @@ struct softnet_data {
|
|
|
struct sk_buff *completion_queue;
|
|
|
|
|
|
#ifdef CONFIG_RPS
|
|
|
- /* Elements below can be accessed between CPUs for RPS */
|
|
|
+ /* input_queue_head should be written by cpu owning this struct,
|
|
|
+ * and only read by other cpus. Worth using a cache line.
|
|
|
+ */
|
|
|
+ unsigned int input_queue_head ____cacheline_aligned_in_smp;
|
|
|
+
|
|
|
+ /* Elements below can be accessed between CPUs for RPS/RFS */
|
|
|
struct call_single_data csd ____cacheline_aligned_in_smp;
|
|
|
struct softnet_data *rps_ipi_next;
|
|
|
unsigned int cpu;
|
|
|
- unsigned int input_queue_head;
|
|
|
unsigned int input_queue_tail;
|
|
|
#endif
|
|
|
unsigned int dropped;
|