> You are right, there is a race in pipelined_send, but slightly different
> than in your description:
> pipelined_send is carefull not to read the msr pointer after
> wake_up_process, but it does rely on the contents of the msr structure
> after setting msr->r_msg.
> Is that possible? Do you apps use signals?
>
> Your fix solves the problem, but I'd prefer to keep the current,
> lockless receive path - it avoids 50% of the spinlock operations. I'll
> write a patch that adds the missing memory barriers and copies the
> fields before setting msr->r_msg.
Don't know about his, my app does, it's only a benchmark, but I do see bad
behaviour from time to time (total lockups) on SMP machines.
-- bill davidsen <davidsen@tmr.com> CTO, TMR Associates, Inc Doing interesting things with little computers since 1979.- 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/