[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAM_iQpXGX=jPO7q=W32o3X2_4ce5PbY2PuTMhkmhtGP6PXuH4Q@mail.gmail.com>
Date: Wed, 22 Jun 2016 10:05:09 -0700
From: Cong Wang <xiyou.wangcong@...il.com>
To: Florian Westphal <fw@...len.de>
Cc: Linux Kernel Network Developers <netdev@...r.kernel.org>
Subject: Re: [PATCH RFC] sched: split classification and enqueue
On Wed, Jun 22, 2016 at 3:03 AM, Florian Westphal <fw@...len.de> wrote:
>
> This (unfinished!) hack splits classification and enqueue into
> two steps.
>
> Before enqueueing the packet and *before* acquiring the root qdisc lock,
> the new qdisc ->classify() function is invoked.
>
> This function -- much like enqueue in the current scheme -- looks up
> a child class and/or determines the next qdisc where the packet needs
> to be handled via the classifier action subsystem.
> Then it invokes the new ->classify() hook of the child, which can repeat
> until the leaf qdisc is reached.
Then how is the atomicity guaranteed? One of the important
purposes of the qdisc lock is to guarantee the atomicity of any
change of in the whole hierarchy, i.e., qdisc/class/filter/action.
Powered by blists - more mailing lists