Hi All, I was going through the implementation code for net_rx_action, whcih is invoked everytime the NET_RX_SOFTIRQ gets to run. The logic at line number 1916 in file net/core/dev.c is - while(!list_empty(&queue->poll_list)) { /*something here*/ if(budget <= 0 || jiffies - start_time > 1) <- line 1916 goto softnet_break; /*something here*/ } if budget <= 0 we must go to softnet_break is understandable but why if budget is > 0 we must check for the time elapsed?? And if the difference is > 1, why we should goto softnet_break? I didn't quite get it. Any help? Thanks ~psr -- play the game -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ