Yes you can likely use RFS and RPS (receive flow steering and receive packet steering) functionality in the kernel to distribute work from one interrupt handler to multiple CPUs to complete the work. Smp_affinity only sets a mask of what cpu the interrupt handler can run on, but there is still only 1 or 2 handlers.

 
Last edit: Jesse Brandeburg 2014-01-02