> > I queue it and do tasklet_schedule(tx_task). Everything works just fine but on SMP machine I noticed that sometimes
> > data is sent in the wrong order. And the only reason why reordering could happen is if several tx_tasks are runing at the
>
>Do you use tasklet_enable ?
Yep. To sync rx and tx tasks.
>This patch fixes a bug in tasklet_enable.
>(bug found by David Mosemberg) We are thinking at more CPU friendly ways
>to handle the tasklet_disable, Linus just had a suggestion, but I don't
>have time right now to think much about the alternate approches (i'm at
>ols), I will do next week. If you are usng tasklet_enable you may want
>to give it a spin.
Applied to 2.4.8-pre1. Didn't make any difference.
Also it doesn't fix the scenario that I described (reschedule while running). I'm still wondering why don't I hit that trylock/BUG
in tasklet_action.
Thanks
Max
Maksim Krasnyanskiy
Senior Kernel Engineer
Qualcomm Incorporated
maxk@qualcomm.com
http://bluez.sf.net
http://vtun.sf.net
-
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/