[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Wed, 09 Sep 2009 22:27:15 +0800
From: DDD <Dongdong.deng@...driver.com>
To: Matt Mackall <mpm@...enic.com>
Cc: David Miller <davem@...emloft.net>, netdev@...r.kernel.org
Subject: Re: [PATCH 1/1] netpoll: fix race between skb_queue_len and
skb_dequeue
On Tue, 2009-09-08 at 12:27 -0500, Matt Mackall wrote:
> On Tue, 2009-09-08 at 15:49 +0800, DDD wrote:
> > This race will break the messages order.
> >
> > Sequence of events in the problem case:
> >
> > Assume there is one skb "A" in skb_queue and the next action of
> > netpoll_send_skb() is: sending out "B" skb.
> > The right order of messages should be: send A first, then send B.
> >
> > But as following orders, it will send B first, then send A.
>
> I would say no, the order of messages A and B queued on different CPUs
> is undefined. The only issue is that we can queue a message A on CPU0,
> then causally trigger a message on CPU1 B that arrives first. But bear
> in mind that the message A >>may never arrive<< because the message is
> about a lockup that kills processing of delayed work.
>
> Generally speaking, queueing should be a last ditch effort. We should
> instead aim to deliver all messages immediately, even if they might be
> out of order. Because out of order is better than not arriving at all.
Ah, yes, out of order is better than not arriving at all. :-)
Especially it is based on UDP, so I don't think the order of messages is
important. :-)
I take back this patch.
Thank you very much,
Dongdong
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists