DragonFly kernel List (threaded) for 2004-08
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
drain IPI FIFO
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
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]