On 06/29/2012 05:19 AM, Adam Hraska wrote:
> There are two minor bugs:
> 1) The for() loop executes the first message in the
> queue "tlb_messages_count" times instead of processing
> all messages one by one. So instead of:
> for (i = 0; i < CPU->tlb_messages_count; CPU->tlb_messages_count--) {
> }
> .. it should be:
> for (i = 0; i < CPU->tlb_messages_count; i++) {
> }
> CPU->tlb_messages_count = 0;
>
> 2) If it encounters a message/request to flush the
> entire TLB if breaks from the loop because the remaining
> messages have nothing to change in the TLB. Unfortunately,
> tlb_messages_count is left unchanged, so the next time
> tlb_shootdown_ipi_recv() runs, it will process previous
> messages again. Ooops :-).
Fixed in mainline,825.1.171.
Jakub
_______________________________________________
HelenOS-devel mailing list
[email protected]
http://lists.modry.cz/cgi-bin/listinfo/helenos-devel