Thank you. That's kind of the point I was trying to make. For a storage appliance - and that's the most common deployment model for the software I work on - it's great. I just don't want to see every "full stack" halfwit trying to use a specialized tool for general-purpose stuff. That often ends up wasting everyone's time - especially that of the people providing the tool.
That said, there are cases where it would make sense in a multicore environment to pin one core to storage polling, and another to network polling.
You will then, of course, have contention in transitioning data between the two, but there are existing and useful models for eliding much of the locking load there.