···208208CPU's backlog when a packet in this flow was last enqueued. Each backlog209209queue has a head counter that is incremented on dequeue. A tail counter210210is computed as head counter + queue length. In other words, the counter211211-in rps_dev_flow_table[i] records the last element in flow i that has211211+in rps_dev_flow[i] records the last element in flow i that has212212been enqueued onto the currently designated CPU for flow i (of course,213213entry i is actually selected by hash and multiple flows may hash to the214214same entry i).···224224225225- The current CPU's queue head counter >= the recorded tail counter226226 value in rps_dev_flow[i]227227-- The current CPU is unset (equal to NR_CPUS)227227+- The current CPU is unset (equal to RPS_NO_CPU)228228- The current CPU is offline229229230230After this check, the packet is sent to the (possibly updated) current···235235236236==== RFS Configuration237237238238-RFS is only available if the kconfig symbol CONFIG_RFS is enabled (on238238+RFS is only available if the kconfig symbol CONFIG_RPS is enabled (on239239by default for SMP). The functionality remains disabled until explicitly240240configured. The number of entries in the global flow table is set through:241241···258258would normally be configured to the same value as rps_sock_flow_entries.259259For a multi-queue device, the rps_flow_cnt for each queue might be260260configured as rps_sock_flow_entries / N, where N is the number of261261-queues. So for instance, if rps_flow_entries is set to 32768 and there261261+queues. So for instance, if rps_sock_flow_entries is set to 32768 and there262262are 16 configured receive queues, rps_flow_cnt for each queue might be263263configured as 2048.264264