dispatch tcp_close to the correct CPU to run
sepherosa at gmail.com
Wed Feb 6 19:30:23 PST 2008
On Feb 7, 2008 2:11 AM, Matthew Dillon <dillon at apollo.backplane.com> wrote:
> :Hi all,
> :In tcp_timer_2msl() we need to dispatch tcp_close() to the correct CPU
> :instead of calling it directly:
> :Best Regards,
> It should already be on the correct cpu since the callout API is
> all cpu localized. The only other entry point is via the pru_*
> dispatch but I'm pretty sure that is cpu localized via
> If you haven't already, I recommend we assert that it is on the
> correct cpu rather then route it to the correct cpu (which it
> should already be on).
If I added code in tcp_timer_before tcp_close() to printf mycpuid and
tp->tt_cpu, I got 1 for mycpuid and 0 for tp->tt_cpu.
> However, even though it will be on the correct cpu there could be
> a threading issue... it won't be in the same thread as the tcp
> protocol thread. The threads are not preemptive but the could
> still be a problem.
Live Free or Die
More information about the Submit