From: Stephen Hemminger <stephen@networkplumber.org>
To: Luca Boccassi <bluca@debian.org>
Cc: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>,
"Van Haaren, Harry" <harry.van.haaren@intel.com>,
"dev@dpdk.org" <dev@dpdk.org>, nd <nd@arm.com>,
Dharmik Thakkar <Dharmik.Thakkar@arm.com>,
Malvika Gupta <Malvika.Gupta@arm.com>,
"Gavin Hu (Arm Technology China)" <Gavin.Hu@arm.com>
Subject: Re: [dpdk-dev] [RFC 0/3] tqs: add thread quiescent state library
Date: Fri, 30 Nov 2018 10:32:07 -0800 [thread overview]
Message-ID: <20181130103207.4f4f008d@xeon-e3> (raw)
In-Reply-To: <1543595185.18215.5.camel@debian.org>
On Fri, 30 Nov 2018 16:26:25 +0000
Luca Boccassi <bluca@debian.org> wrote:
> On Fri, 2018-11-30 at 02:13 +0000, Honnappa Nagarahalli wrote:
> > >
> > > > > > Mixed feelings about this one.
> > > > > >
> > > > > > Love to see RCU used for more things since it is much better
> > > > > > than
> > > > > > reader/writer locks for many applications. But hate to see
> > > > > > DPDK
> > > > > > reinventing every other library and not reusing code.
> > > > > > Userspace
> > > > > > RCU https://liburcu.org/ is widely supported by distro's,
> > > > > > more
> > > > > > throughly tested and documented, and more flexiple.
> > > > > >
> > > > > > The issue with many of these reinventions is a tradeoff of
> > > > > > DPDK
> > > > > > growing another dependency on external library versus using
> > > > > > common
> > >
> > > code.
> > > > > >
> > > >
> > > > Agree with the dependency issues. Sometimes flexibility also
> > > > causes confusion
> > >
> > > and features that are not necessarily required for a targeted use
> > > case. I have
> > > seen that much of the functionality that can be left to the
> > > application is
> > > implemented as part of the library.
> > > > I think having it in DPDK will give us control over the amount of
> > > > capability this
> > >
> > > library will have and freedom over changes we would like to make to
> > > such a
> > > library. I also view DPDK as one package where all things required
> > > for data
> > > plane development are available.
> > > >
> > > > > > For RCU, the big issue for me is the testing and
> > > > > > documentation of
> > > > > > how to do RCU safely. Many people get it wrong!
> > > >
> > > > Hopefully, we all will do a better job collectively :)
> > > >
> > > > >
> > >
> > > Reinventing RCU is not helping anyone.
> >
> > IMO, this depends on what the rte_tqs has to offer and what the
> > requirements are. Before starting this patch, I looked at the liburcu
> > APIs. I have to say, fairly quickly (no offense) I concluded that
> > this does not address DPDK's needs. I took a deeper look at the
> > APIs/code in the past day and I still concluded the same. My partial
> > analysis (analysis of more APIs can be done, I do not have cycles at
> > this point) is as follows:
> >
> > The reader threads' information is maintained in a linked list[1].
> > This linked list is protected by a mutex lock[2]. Any
> > additions/deletions/traversals of this list are blocking and cannot
> > happen in parallel.
> >
> > The API, 'synchronize_rcu' [3] (similar functionality to
> > rte_tqs_check call) is a blocking call. There is no option provided
> > to make it non-blocking. The writer spins cycles while waiting for
> > the grace period to get over.
> >
> > 'synchronize_rcu' also has grace period lock [4]. If I have multiple
> > writers running on data plane threads, I cannot call this API to
> > reclaim the memory in the worker threads as it will block other
> > worker threads. This means, there is an extra thread required (on the
> > control plane?) which does garbage collection and a method to push
> > the pointers from worker threads to the garbage collection thread.
> > This also means the time duration from delete to free increases
> > putting pressure on amount of memory held up.
> > Since this API cannot be called concurrently by multiple writers,
> > each writer has to wait for other writer's grace period to get over
> > (i.e. multiple writer threads cannot overlap their grace periods).
> >
> > This API also has to traverse the linked list which is not very well
> > suited for calling on data plane.
> >
> > I have not gone too much into rcu_thread_offline[5] API. This again
> > needs to be used in worker cores and does not look to be very
> > optimal.
> >
> > I have glanced at rcu_quiescent_state [6], it wakes up the thread
> > calling 'synchronize_rcu' which seems good amount of code for the
> > data plane.
> >
> > [1] https://github.com/urcu/userspace-rcu/blob/master/include/urcu/st
> > atic/urcu-qsbr.h#L85
> > [2] https://github.com/urcu/userspace-rcu/blob/master/src/urcu-qsbr.c
> > #L68
> > [3] https://github.com/urcu/userspace-rcu/blob/master/src/urcu-qsbr.c
> > #L344
> > [4] https://github.com/urcu/userspace-rcu/blob/master/src/urcu-qsbr.c
> > #L58
> > [5] https://github.com/urcu/userspace-rcu/blob/master/include/urcu/st
> > atic/urcu-qsbr.h#L211
> > [6] https://github.com/urcu/userspace-rcu/blob/master/include/urcu/st
> > atic/urcu-qsbr.h#L193
> >
> > Coming to what is provided in rte_tqs:
> >
> > The synchronize_rcu functionality is split in to 2 APIs:
> > rte_tqs_start and rte_tqs_check. The reader data is maintained as an
> > array.
> >
> > Both the APIs are lock-free, allowing them to be called from multiple
> > threads concurrently. This allows multiple writers to wait for their
> > grace periods concurrently as well as overlap their grace periods.
> > rte_tqs_start API returns a token which provides the ability to
> > separate the quiescent state waiting of different writers. Hence, no
> > writer waits for other writer's grace period to get over.
> > Since these 2 APIs are lock-free, they can be called from writers
> > running on worker cores as well without the need for a separate
> > thread to do garbage collection.
> >
> > The separation into 2 APIs provides the ability for writers to not
> > spin cycles waiting for the grace period to get over. This enables
> > different ways of doing garbage collection. For ex: a data structure
> > delete API could remove the entry from the data structure, call
> > rte_tqs_start and return back to the caller. On the invocation of
> > next API call of the library, the API can call rte_tqs_check (which
> > will mostly indicate that the grace period is complete) and free the
> > previously deleted entry.
> >
> > rte_tqs_update (mapping to rcu_quiescent_state) is pretty small and
> > simple.
> >
> > rte_tqs_register and rte_tqs_unregister APIs are lock free. Hence
> > additional APIs like rcu_thread_online and rcu_thread_offline are not
> > required. The rte_tqs_unregister API (when compared to
> > rcu_thread_offline) is much simple and conducive to be used in worker
> > threads.
>
> liburcu has many flavours already, qsbr being one of them. If none of
> those are optimal for this use case, why not work with upstream to
> either improve the existing flavours, or add a new one?
>
> You have the specific knowledge and expertise about the requirements
> needs for the implementation for this use case, and they have the long-
> time and extensive experience maintaining the library on a wide range
> of systems and use cases. Why not combine both?
> I might be wrong, but to me, nothing described above seems to be
> particularly or uniquely tied to implementing a software dataplane or
> to DPDK. IMHO we should pool and share wherever possible, rather than
> build an ecosystem closed onto itself.
>
> Just my 2c of course!
>
> > > DPDK needs to fix its dependency model, and just admit that it is
> > > ok to build off
> > > of more than glibc.
> > >
> > > Having used liburcu, it can be done in a small manner and really
> > > isn't that
> > > confusing.
> > >
> > > Is your real issue the LGPL license of liburcu for your skittish
> > > customers?
> >
> > I have not had any discussions on this. Customers are mainly focused
> > on having a solution on which they have meaningful control. They want
> > to be able to submit a patch and change things if required. For ex:
> > barriers for Arm [7] are not optimal. How easy is it to change this
> > and get it into distros (there are both internal and external factors
> > here)?
>
> It's just as easy (or as hard) as it is with DPDK. So it's either wait
> for the distros to update, or rebuild locally.
>
Either way it would be useful to have the broader RCU community
in on the discussion.
next prev parent reply other threads:[~2018-11-30 18:32 UTC|newest]
Thread overview: 260+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-22 3:30 Honnappa Nagarahalli
2018-11-22 3:30 ` [dpdk-dev] [RFC 1/3] log: add TQS log type Honnappa Nagarahalli
2018-11-27 22:24 ` Stephen Hemminger
2018-11-28 5:58 ` Honnappa Nagarahalli
2018-11-22 3:30 ` [dpdk-dev] [RFC 2/3] tqs: add thread quiescent state library Honnappa Nagarahalli
2018-11-24 12:18 ` Ananyev, Konstantin
2018-11-27 21:32 ` Honnappa Nagarahalli
2018-11-28 15:25 ` Ananyev, Konstantin
2018-12-07 7:27 ` Honnappa Nagarahalli
2018-12-07 17:29 ` Stephen Hemminger
2018-12-11 6:40 ` Honnappa Nagarahalli
2018-12-13 12:26 ` Burakov, Anatoly
2018-12-18 4:30 ` Honnappa Nagarahalli
2018-12-18 6:31 ` Stephen Hemminger
2018-12-12 9:29 ` Ananyev, Konstantin
2018-12-13 7:39 ` Honnappa Nagarahalli
2018-12-17 13:14 ` Ananyev, Konstantin
2018-11-22 3:30 ` [dpdk-dev] [RFC 3/3] test/tqs: Add API and functional tests Honnappa Nagarahalli
[not found] ` <CGME20181122073110eucas1p17592400af6c0b807dc87e90d136575af@eucas1p1.samsung.com>
2018-11-22 7:31 ` [dpdk-dev] [RFC 0/3] tqs: add thread quiescent state library Ilya Maximets
2018-11-27 22:28 ` Stephen Hemminger
2018-11-27 22:49 ` Van Haaren, Harry
2018-11-28 5:31 ` Honnappa Nagarahalli
2018-11-28 23:23 ` Stephen Hemminger
2018-11-30 2:13 ` Honnappa Nagarahalli
2018-11-30 16:26 ` Luca Boccassi
2018-11-30 18:32 ` Stephen Hemminger [this message]
2018-11-30 20:20 ` Honnappa Nagarahalli
2018-11-30 20:56 ` Mattias Rönnblom
2018-11-30 23:44 ` Stephen Hemminger
2018-12-01 18:37 ` Honnappa Nagarahalli
2018-11-30 2:25 ` Honnappa Nagarahalli
2018-11-30 21:03 ` Mattias Rönnblom
2018-12-22 2:14 ` [dpdk-dev] [RFC v2 0/2] rcu: add RCU library supporting QSBR mechanism Honnappa Nagarahalli
2018-12-22 2:14 ` [dpdk-dev] [RFC v2 1/2] " Honnappa Nagarahalli
2019-01-15 11:39 ` Ananyev, Konstantin
2019-01-15 20:43 ` Honnappa Nagarahalli
2019-01-16 15:56 ` Ananyev, Konstantin
2019-01-18 6:48 ` Honnappa Nagarahalli
2019-01-18 12:14 ` Ananyev, Konstantin
2019-01-24 17:15 ` Honnappa Nagarahalli
2019-01-24 18:05 ` Ananyev, Konstantin
2019-02-22 7:07 ` Honnappa Nagarahalli
2018-12-22 2:14 ` [dpdk-dev] [RFC v2 2/2] test/rcu_qsbr: add API and functional tests Honnappa Nagarahalli
2018-12-23 7:30 ` Stephen Hemminger
2018-12-23 16:25 ` Paul E. McKenney
2019-01-18 7:04 ` Honnappa Nagarahalli
2019-02-22 7:04 ` [dpdk-dev] [RFC v3 0/5] rcu: add RCU library supporting QSBR mechanism Honnappa Nagarahalli
2019-02-22 7:04 ` [dpdk-dev] [RFC v3 1/5] " Honnappa Nagarahalli
2019-02-22 7:04 ` [dpdk-dev] [RFC v3 2/5] test/rcu_qsbr: add API and functional tests Honnappa Nagarahalli
2019-02-22 7:04 ` [dpdk-dev] [RFC v3 3/5] lib/rcu: add dynamic memory allocation capability Honnappa Nagarahalli
2019-02-22 7:04 ` [dpdk-dev] [RFC v3 4/5] test/rcu_qsbr: modify test cases for dynamic memory allocation Honnappa Nagarahalli
2019-02-22 7:04 ` [dpdk-dev] [RFC v3 5/5] lib/rcu: fix the size of register thread ID array size Honnappa Nagarahalli
2019-03-19 4:52 ` [dpdk-dev] [PATCH 0/3] lib/rcu: add RCU library supporting QSBR mechanism Honnappa Nagarahalli
2019-03-19 4:52 ` Honnappa Nagarahalli
2019-03-19 4:52 ` [dpdk-dev] [PATCH 1/3] rcu: " Honnappa Nagarahalli
2019-03-19 4:52 ` Honnappa Nagarahalli
2019-03-22 16:42 ` Ananyev, Konstantin
2019-03-22 16:42 ` Ananyev, Konstantin
2019-03-26 4:35 ` Honnappa Nagarahalli
2019-03-26 4:35 ` Honnappa Nagarahalli
2019-03-28 11:15 ` Ananyev, Konstantin
2019-03-28 11:15 ` Ananyev, Konstantin
2019-03-29 5:54 ` Honnappa Nagarahalli
2019-03-29 5:54 ` Honnappa Nagarahalli
2019-03-19 4:52 ` [dpdk-dev] [PATCH 2/3] test/rcu_qsbr: add API and functional tests Honnappa Nagarahalli
2019-03-19 4:52 ` Honnappa Nagarahalli
2019-03-19 4:52 ` [dpdk-dev] [PATCH 3/3] doc/rcu: add lib_rcu documentation Honnappa Nagarahalli
2019-03-19 4:52 ` Honnappa Nagarahalli
2019-03-25 11:34 ` Kovacevic, Marko
2019-03-25 11:34 ` Kovacevic, Marko
2019-03-26 4:43 ` Honnappa Nagarahalli
2019-03-26 4:43 ` Honnappa Nagarahalli
2019-03-27 5:52 ` [dpdk-dev] [PATCH v2 0/3] lib/rcu: add RCU library supporting QSBR mechanism Honnappa Nagarahalli
2019-03-27 5:52 ` Honnappa Nagarahalli
2019-03-27 5:52 ` [dpdk-dev] [PATCH v2 1/3] rcu: " Honnappa Nagarahalli
2019-03-27 5:52 ` Honnappa Nagarahalli
2019-03-27 5:52 ` [dpdk-dev] [PATCH v2 2/3] test/rcu_qsbr: add API and functional tests Honnappa Nagarahalli
2019-03-27 5:52 ` Honnappa Nagarahalli
2019-03-27 5:52 ` [dpdk-dev] [PATCH v2 3/3] doc/rcu: add lib_rcu documentation Honnappa Nagarahalli
2019-03-27 5:52 ` Honnappa Nagarahalli
2019-04-01 17:10 ` [dpdk-dev] [PATCH v3 0/3] lib/rcu: add RCU library supporting QSBR mechanism Honnappa Nagarahalli
2019-04-01 17:10 ` Honnappa Nagarahalli
2019-04-01 17:11 ` [dpdk-dev] [PATCH v3 1/3] rcu: " Honnappa Nagarahalli
2019-04-01 17:11 ` Honnappa Nagarahalli
2019-04-02 10:22 ` Ananyev, Konstantin
2019-04-02 10:22 ` Ananyev, Konstantin
2019-04-02 10:53 ` Ananyev, Konstantin
2019-04-02 10:53 ` Ananyev, Konstantin
2019-04-01 17:11 ` [dpdk-dev] [PATCH v3 2/3] test/rcu_qsbr: add API and functional tests Honnappa Nagarahalli
2019-04-01 17:11 ` Honnappa Nagarahalli
2019-04-02 10:55 ` Ananyev, Konstantin
2019-04-02 10:55 ` Ananyev, Konstantin
2019-04-01 17:11 ` [dpdk-dev] [PATCH v3 3/3] doc/rcu: add lib_rcu documentation Honnappa Nagarahalli
2019-04-01 17:11 ` Honnappa Nagarahalli
2019-04-10 11:20 ` [dpdk-dev] [PATCH v4 0/3] lib/rcu: add RCU library supporting QSBR mechanism Honnappa Nagarahalli
2019-04-10 11:20 ` Honnappa Nagarahalli
2019-04-10 11:20 ` [dpdk-dev] [PATCH v4 1/3] rcu: " Honnappa Nagarahalli
2019-04-10 11:20 ` Honnappa Nagarahalli
2019-04-10 18:14 ` Paul E. McKenney
2019-04-10 18:14 ` Paul E. McKenney
2019-04-11 4:35 ` Honnappa Nagarahalli
2019-04-11 4:35 ` Honnappa Nagarahalli
2019-04-11 15:26 ` Paul E. McKenney
2019-04-11 15:26 ` Paul E. McKenney
2019-04-12 20:21 ` Honnappa Nagarahalli
2019-04-12 20:21 ` Honnappa Nagarahalli
2019-04-15 16:51 ` Ananyev, Konstantin
2019-04-15 16:51 ` Ananyev, Konstantin
2019-04-15 19:46 ` Honnappa Nagarahalli
2019-04-15 19:46 ` Honnappa Nagarahalli
2019-04-10 11:20 ` [dpdk-dev] [PATCH v4 2/3] test/rcu_qsbr: add API and functional tests Honnappa Nagarahalli
2019-04-10 11:20 ` Honnappa Nagarahalli
2019-04-10 15:26 ` Stephen Hemminger
2019-04-10 15:26 ` Stephen Hemminger
2019-04-10 16:15 ` Honnappa Nagarahalli
2019-04-10 16:15 ` Honnappa Nagarahalli
2019-04-10 11:20 ` [dpdk-dev] [PATCH v4 3/3] doc/rcu: add lib_rcu documentation Honnappa Nagarahalli
2019-04-10 11:20 ` Honnappa Nagarahalli
2019-04-12 20:20 ` [dpdk-dev] [PATCH v5 0/3] lib/rcu: add RCU library supporting QSBR mechanism Honnappa Nagarahalli
2019-04-12 20:20 ` Honnappa Nagarahalli
2019-04-12 20:20 ` [dpdk-dev] [PATCH v5 1/3] rcu: " Honnappa Nagarahalli
2019-04-12 20:20 ` Honnappa Nagarahalli
2019-04-12 22:06 ` Stephen Hemminger
2019-04-12 22:06 ` Stephen Hemminger
2019-04-12 22:24 ` Honnappa Nagarahalli
2019-04-12 22:24 ` Honnappa Nagarahalli
2019-04-12 23:06 ` Stephen Hemminger
2019-04-12 23:06 ` Stephen Hemminger
2019-04-15 12:24 ` Ananyev, Konstantin
2019-04-15 12:24 ` Ananyev, Konstantin
2019-04-15 15:38 ` Stephen Hemminger
2019-04-15 15:38 ` Stephen Hemminger
2019-04-15 17:39 ` Ananyev, Konstantin
2019-04-15 17:39 ` Ananyev, Konstantin
2019-04-15 18:56 ` Honnappa Nagarahalli
2019-04-15 18:56 ` Honnappa Nagarahalli
2019-04-15 21:26 ` Stephen Hemminger
2019-04-15 21:26 ` Stephen Hemminger
2019-04-16 5:29 ` Honnappa Nagarahalli
2019-04-16 5:29 ` Honnappa Nagarahalli
2019-04-16 14:54 ` Stephen Hemminger
2019-04-16 14:54 ` Stephen Hemminger
2019-04-16 16:56 ` Honnappa Nagarahalli
2019-04-16 16:56 ` Honnappa Nagarahalli
2019-04-16 21:22 ` Stephen Hemminger
2019-04-16 21:22 ` Stephen Hemminger
2019-04-17 1:45 ` Honnappa Nagarahalli
2019-04-17 1:45 ` Honnappa Nagarahalli
2019-04-17 13:39 ` Ananyev, Konstantin
2019-04-17 13:39 ` Ananyev, Konstantin
2019-04-17 14:02 ` Honnappa Nagarahalli
2019-04-17 14:02 ` Honnappa Nagarahalli
2019-04-17 14:18 ` Thomas Monjalon
2019-04-17 14:18 ` Thomas Monjalon
2019-04-12 20:20 ` [dpdk-dev] [PATCH v5 2/3] test/rcu_qsbr: add API and functional tests Honnappa Nagarahalli
2019-04-12 20:20 ` Honnappa Nagarahalli
2019-04-12 20:20 ` [dpdk-dev] [PATCH v5 3/3] doc/rcu: add lib_rcu documentation Honnappa Nagarahalli
2019-04-12 20:20 ` Honnappa Nagarahalli
2019-04-15 17:29 ` [dpdk-dev] [PATCH v5 0/3] lib/rcu: add RCU library supporting QSBR mechanism Ananyev, Konstantin
2019-04-15 17:29 ` Ananyev, Konstantin
2019-04-16 5:10 ` Honnappa Nagarahalli
2019-04-16 5:10 ` Honnappa Nagarahalli
2019-04-17 4:13 ` [dpdk-dev] [PATCH v6 " Honnappa Nagarahalli
2019-04-17 4:13 ` Honnappa Nagarahalli
2019-04-17 4:13 ` [dpdk-dev] [PATCH v6 1/3] rcu: " Honnappa Nagarahalli
2019-04-17 4:13 ` Honnappa Nagarahalli
2019-04-19 19:19 ` Paul E. McKenney
2019-04-19 19:19 ` Paul E. McKenney
2019-04-23 1:08 ` Honnappa Nagarahalli
2019-04-23 1:08 ` Honnappa Nagarahalli
2019-04-17 4:13 ` [dpdk-dev] [PATCH v6 2/3] test/rcu_qsbr: add API and functional tests Honnappa Nagarahalli
2019-04-17 4:13 ` Honnappa Nagarahalli
2019-04-17 4:13 ` [dpdk-dev] [PATCH v6 3/3] doc/rcu: add lib_rcu documentation Honnappa Nagarahalli
2019-04-17 4:13 ` Honnappa Nagarahalli
2019-04-21 16:40 ` [dpdk-dev] [PATCH v6 0/3] lib/rcu: add RCU library supporting QSBR mechanism Thomas Monjalon
2019-04-21 16:40 ` Thomas Monjalon
2019-04-25 14:18 ` Honnappa Nagarahalli
2019-04-25 14:18 ` Honnappa Nagarahalli
2019-04-25 14:27 ` Honnappa Nagarahalli
2019-04-25 14:27 ` Honnappa Nagarahalli
2019-04-25 14:38 ` David Marchand
2019-04-25 14:38 ` David Marchand
2019-04-23 4:31 ` [dpdk-dev] [PATCH v7 " Honnappa Nagarahalli
2019-04-23 4:31 ` Honnappa Nagarahalli
2019-04-23 4:31 ` [dpdk-dev] [PATCH v7 1/3] rcu: " Honnappa Nagarahalli
2019-04-23 4:31 ` Honnappa Nagarahalli
2019-04-23 8:10 ` Paul E. McKenney
2019-04-23 8:10 ` Paul E. McKenney
2019-04-23 21:23 ` Honnappa Nagarahalli
2019-04-23 21:23 ` Honnappa Nagarahalli
2019-04-24 20:02 ` Jerin Jacob Kollanukkaran
2019-04-24 20:02 ` Jerin Jacob Kollanukkaran
2019-04-25 5:15 ` Honnappa Nagarahalli
2019-04-25 5:15 ` Honnappa Nagarahalli
2019-04-24 10:03 ` Ruifeng Wang (Arm Technology China)
2019-04-24 10:03 ` Ruifeng Wang (Arm Technology China)
2019-04-23 4:31 ` [dpdk-dev] [PATCH v7 2/3] test/rcu_qsbr: add API and functional tests Honnappa Nagarahalli
2019-04-23 4:31 ` Honnappa Nagarahalli
2019-04-23 4:31 ` [dpdk-dev] [PATCH v7 3/3] doc/rcu: add lib_rcu documentation Honnappa Nagarahalli
2019-04-23 4:31 ` Honnappa Nagarahalli
2019-04-24 10:12 ` Ruifeng Wang (Arm Technology China)
2019-04-24 10:12 ` Ruifeng Wang (Arm Technology China)
2019-04-26 4:39 ` [dpdk-dev] [PATCH v8 0/4] lib/rcu: add RCU library supporting QSBR mechanism Honnappa Nagarahalli
2019-04-26 4:39 ` Honnappa Nagarahalli
2019-04-26 4:39 ` [dpdk-dev] [PATCH v8 1/4] rcu: " Honnappa Nagarahalli
2019-04-26 4:39 ` Honnappa Nagarahalli
2019-04-26 8:13 ` Jerin Jacob Kollanukkaran
2019-04-26 8:13 ` Jerin Jacob Kollanukkaran
2019-04-28 3:25 ` Ruifeng Wang (Arm Technology China)
2019-04-28 3:25 ` Ruifeng Wang (Arm Technology China)
2019-04-29 20:33 ` Thomas Monjalon
2019-04-29 20:33 ` Thomas Monjalon
2019-04-30 10:51 ` Hemant Agrawal
2019-04-30 10:51 ` Hemant Agrawal
2019-04-26 4:39 ` [dpdk-dev] [PATCH v8 2/4] test/rcu_qsbr: add API and functional tests Honnappa Nagarahalli
2019-04-26 4:39 ` Honnappa Nagarahalli
2019-04-29 20:35 ` Thomas Monjalon
2019-04-29 20:35 ` Thomas Monjalon
2019-04-30 4:20 ` Honnappa Nagarahalli
2019-04-30 4:20 ` Honnappa Nagarahalli
2019-04-30 7:58 ` Thomas Monjalon
2019-04-30 7:58 ` Thomas Monjalon
2019-04-26 4:39 ` [dpdk-dev] [PATCH v8 3/4] doc/rcu: add lib_rcu documentation Honnappa Nagarahalli
2019-04-26 4:39 ` Honnappa Nagarahalli
2019-04-26 4:40 ` [dpdk-dev] [PATCH v8 4/4] doc: added RCU to the release notes Honnappa Nagarahalli
2019-04-26 4:40 ` Honnappa Nagarahalli
2019-04-26 12:04 ` [dpdk-dev] [PATCH v8 0/4] lib/rcu: add RCU library supporting QSBR mechanism Ananyev, Konstantin
2019-04-26 12:04 ` Ananyev, Konstantin
2019-05-01 3:54 ` [dpdk-dev] [PATCH v9 " Honnappa Nagarahalli
2019-05-01 3:54 ` Honnappa Nagarahalli
2019-05-01 3:54 ` [dpdk-dev] [PATCH v9 1/4] rcu: " Honnappa Nagarahalli
2019-05-01 3:54 ` Honnappa Nagarahalli
2019-05-01 3:54 ` [dpdk-dev] [PATCH v9 2/4] test/rcu_qsbr: add API and functional tests Honnappa Nagarahalli
2019-05-01 3:54 ` Honnappa Nagarahalli
2019-05-03 14:31 ` David Marchand
2019-05-03 14:31 ` David Marchand
2019-05-06 23:16 ` Honnappa Nagarahalli
2019-05-06 23:16 ` Honnappa Nagarahalli
2019-05-01 3:54 ` [dpdk-dev] [PATCH v9 3/4] doc/rcu: add lib_rcu documentation Honnappa Nagarahalli
2019-05-01 3:54 ` Honnappa Nagarahalli
2019-05-01 11:37 ` Mcnamara, John
2019-05-01 11:37 ` Mcnamara, John
2019-05-01 21:20 ` Honnappa Nagarahalli
2019-05-01 21:20 ` Honnappa Nagarahalli
2019-05-01 21:32 ` Thomas Monjalon
2019-05-01 21:32 ` Thomas Monjalon
2019-05-01 3:54 ` [dpdk-dev] [PATCH v9 4/4] doc: added RCU to the release notes Honnappa Nagarahalli
2019-05-01 3:54 ` Honnappa Nagarahalli
2019-05-01 11:31 ` Mcnamara, John
2019-05-01 11:31 ` Mcnamara, John
2019-05-01 12:15 ` [dpdk-dev] [PATCH v9 0/4] lib/rcu: add RCU library supporting QSBR mechanism Neil Horman
2019-05-01 12:15 ` Neil Horman
2019-05-01 14:56 ` Honnappa Nagarahalli
2019-05-01 14:56 ` Honnappa Nagarahalli
2019-05-01 18:05 ` Neil Horman
2019-05-01 18:05 ` Neil Horman
2019-05-01 21:18 ` Honnappa Nagarahalli
2019-05-01 21:18 ` Honnappa Nagarahalli
2019-05-01 23:36 ` Thomas Monjalon
2019-05-01 23:36 ` Thomas Monjalon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181130103207.4f4f008d@xeon-e3 \
--to=stephen@networkplumber.org \
--cc=Dharmik.Thakkar@arm.com \
--cc=Gavin.Hu@arm.com \
--cc=Honnappa.Nagarahalli@arm.com \
--cc=Malvika.Gupta@arm.com \
--cc=bluca@debian.org \
--cc=dev@dpdk.org \
--cc=harry.van.haaren@intel.com \
--cc=nd@arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).