Messages in this thread |  | | | Subject | Re: Kernel rwlock design, Multicore and IGMP | | From | Eric Dumazet <> | | Date | Wed, 17 Nov 2010 05:43:37 +0100 |
| |
Le mercredi 17 novembre 2010 à 09:30 +0800, Cypher Wu a écrit : > O > struct in_device::mr_ifc_timer. Every time when a process join/leave a > MC group, igmp_ifc_event() -> igmp_ifc_start_timer() will start the > timer on the core that the system call issued, and > igmp_ifc_timer_expire() will be called on that core in the bottem halt > of timer interrupt. > If we call join/leave on mutlicores that timers will run on all these > cores, but it seems only one or two will generate IGMP message, others > will only lock the list and loop throught it with nothing generated. > >
Problem would not be timer being restarted on different cores (very small impact), but scanning a list in igmpv3_send_cr() with many items in it and expensive things, under timer handler (softirq), so adding spikes of latency.
IGMP_Unsolicited_Report_Interval is 10 seconds, so we start timer in a 5 second average.
I am not sure there is a need to join/leave thousand of groups per second anyway...
-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |