Bug 1430418 - Backport "net/Qdisc: use a seqlock instead seqcount" upstream RT patch
Summary: Backport "net/Qdisc: use a seqlock instead seqcount" upstream RT patch
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: kernel-rt
Version: 7.4
Hardware: Unspecified
OS: Unspecified
unspecified
low
Target Milestone: rc
: ---
Assignee: Luis Claudio R. Goncalves
QA Contact: Jiri Kastner
URL:
Whiteboard:
Keywords:
Depends On:
Blocks: 1410158 1442258
TreeView+ depends on / blocked
 
Reported: 2017-03-08 14:58 UTC by Arnaldo Carvalho de Melo
Modified: 2018-04-10 09:09 UTC (History)
2 users (show)

(edit)
Clone Of:
(edit)
Last Closed: 2018-04-10 09:07:09 UTC


Attachments (Terms of Use)
net/Qdisc: use a seqlock instead seqcount (9.70 KB, patch)
2017-11-10 18:32 UTC, Luis Claudio R. Goncalves
no flags Details | Diff


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2018:0676 None None None 2018-04-10 09:09 UTC

Description Arnaldo Carvalho de Melo 2017-03-08 14:58:33 UTC
Description of problem:

Upstream patch improves determinism by using a better synchronization primitive when checking for contention on a network qdisc.

Present from around 4.8-rt1.

Patch description:

"The seqcount disables preemption on -RT while it is held which can't
remove. Also we don't want the reader to spin for ages if the writer is
scheduled out. The seqlock on the other hand will serialize / sleep on
the lock while writer is active."

Comment 2 Beth Uptagrafft 2017-03-08 16:04:02 UTC
moving to the RT team

Comment 3 Luis Claudio R. Goncalves 2017-11-10 18:32 UTC
Created attachment 1350616 [details]
net/Qdisc: use a seqlock instead seqcount

From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 14 Sep 2016 17:36:35 +0200
Subject: [PATCH] net/Qdisc: use a seqlock instead seqcount

Bugzilla: 1430418 1511589 1511558

The seqcount disables preemption on -RT while it is held which can't
remove. Also we don't want the reader to spin for ages if the writer is
scheduled out. The seqlock on the other hand will serialize / sleep on
the lock while writer is active.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Luis Claudio R. Goncalves <lgoncalv@redhat.com>
---
 include/linux/seqlock.h    |    9 +++++++++
 include/net/gen_stats.h    |    9 +++++----
 include/net/net_seq_lock.h |   15 +++++++++++++++
 include/net/sch_generic.h  |   23 +++++++++++++++++++----
 net/core/gen_estimator.c   |    6 +++---
 net/core/gen_stats.c       |    8 ++++----
 net/sched/sch_api.c        |    2 +-
 net/sched/sch_generic.c    |   12 ++++++++++++
 8 files changed, 68 insertions(+), 16 deletions(-)

Comment 10 errata-xmlrpc 2018-04-10 09:07:09 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2018:0676


Note You need to log in before you can comment on or make changes to this bug.