看板 DFBSD_kernel 關於我們 聯絡資訊
Hi, I'm reading the lwkt source codes. In "lwkt_send_ipiq(globaldata_t target, ipifunc_t func, void *arg)", there are these lines: while (ip->ip_windex - ip->ip_rindex > MAXCPUFIFO / 4) { .... lwkt_process_ipiq(); } and in " lwkt_process_ipiq()", there are: while (lwkt_process_ipiq1(&ip[gd->gd_cpuid], NULL)); To summarize, when the FIFO from CPU-A to CPU-B is almost full, A starts to drain all the FIFO from other CPUs to itself? I would expect B to drain the FIFO from A to B while A holds off a little while. Thanks, Bin