1. A method, comprising: providing a plurality of active assist threads configured to process data units received by a network adapter, wherein each of the plurality of active assist threads comprises a queue configured to store data units allocated to the respective active assist thread; allocating data units received by the network adapter to active assist threads in a subset of the plurality of active assist threads according to a first function, wherein the subset includes a first active assist thread and does not include a second active assist thread, of the plurality of active assist threads, wherein the second active assist thread is idle; monitoring the queues of the assist threads in the subset; and upon determining that a count of data units in the queue of the first active assist thread exceeds a first threshold, modifying the first function to include the second active assist thread in the subset of the plurality of active assist threads, wherein modifying the first function causes the first and second active assist threads to process data units subsequently received by the network adapter.