Hi David, What you are saying is true. But the Point which I am trying to convey is the cost of the context switch to the kernel thread "softirqd". From the code I get that the scheduling of softirqd by the scheduler is still "Non-deterministic" as the kernel is non-preemptive. And most router are based on Deterministic data & control path, using preemptive kernel. So perfromance-wise the "Non-deterministic" behaviour is still an issue if we want to use linux for "Core Router " applications unless Real-time extensions are used. Cheers ----- Original Message ----- From: "David S. Miller" <davem@redhat.com> To: <sureshsingh.keisam@analog.com> Cc: <kevin.curtis@farsite.co.uk>; <linux-net@vger.kernel.org> Sent: Thursday, November 14, 2002 9:32 AM Subject: Re: possible delays in netif_rx > From: "Suresh Singh K." <sureshsingh.keisam@analog.com> > Date: Wed, 13 Nov 2002 20:27:26 +0530 > > Next time when the kernel thread "sofirqd" is scheduled , it executes > the RX softirq. As the version you are using is a non-preemptive kernel, > the control paths are all non-deterministic. So the longer interrupt > processing > > Absolutely wrong, softirqs run at the return from any hardware > interrupt trap as long as we are not already inside of a hw > interrupt. > > softirqs runs to handle softirqs in process context when softirqs are > "overloaded". > - : send the line "unsubscribe linux-net" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html