From: Paul Gortmaker <paul.gortmaker@windriver.com>
To: linux-rt-users <linux-rt-users@vger.kernel.org>
Cc: LKML <linux-kernel@vger.kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
Steven Rostedt <rostedt@goodmis.org>
Subject: [ANNOUNCE] 4.8-rc5-rt1 beta
Date: Tue, 6 Sep 2016 14:25:08 -0400 [thread overview]
Message-ID: <20160906182508.GB9950@windriver.com> (raw)
This is a carry forward of the -rt patches off v4.6.7-rt11 through
mainline commits of v4.7 and up to the current v4.8-rc5.
https://git.kernel.org/cgit/linux/kernel/git/paulg/4.8-rt-patches.git
The repository only contains patches; this is aimed at being a
stepping stone for developers who are experimenting with -rt and/or
patching and building their own kernel trees. End users who have not
created their own trees before really should stick with v4.6-rt.
To be explicitly clear -- this does NOT imply any level of support,
or any commitment to release an "official" -rt on any particular
kernel version by anyone, myself included.
This repo is meant to give more visibility into how the mainline
commits since 4.6 will impact the existing 4.6-rt patches. This is
achieved by updating the -rt patches in lock step with the new
content as it was/is merged by Linus. The branches exist as fast
forward work off of Sebastian's 4.6 patch history on the v4.6-rt.
Patch conflicts/issues of interest
----------------------------------
What follows is probably only of interest to a select handful of
people who are routinely hands on with the patches. It is a
summary of the changes of interest; all of which are part of the
above repo history, i.e.
git whatchanged v4.7-rt..v4.8-rt
but ignoring the more basic patch refresh steps with just simple
context changes or obvious fixups.
Patch conflicts/issues of interest 4.6 --> 4.7
----------------------------------------------
-v4.7 introduced a lot of users of down_write_killable which wasn't
implemented for -rt (rwsem_rt.h), so I created one. (see new patch
rt-create-down_write_killable.patch -- local commit 14625e96ff085f),
it probably warrants a look see from other people smarter than me.
-Al Viro added a 2nd user of down_read_non_owner into NFS unlink.
Previously it was just bcache and Sebastian just made that depend on
!RT_FULL (md-disable-bcache.patch). So we'll need to decide what to
with that; I just ignored NFS for now, since it is horrible anyway.
(see upstream commit 884be175351e73c)
-there was considerable rummaging around in mm/page_alloc.c that caused
the two -rt patches in there to need more hands on refresh work than
normal, but everything seems OK AFAICT.
-task_rq_lock was expanded to take a struct rq_flags instead of the
conventional lock flags; updated the patches to match (see upstream
eb58075149b7f030 by peterz)
-dcache.h gained an implicit include issue; probably can upstream the
trivial fix right away; didn't investigate whether there are
configs on mainline where it also breaks. (fixes d9171b9345261e ?)
-about eight patches appeared upstream and were droppred from -rt.
-I initially renamed a couple patches to match the default name as
given by "git format-patch" but since that prevents ease of viewing
the "diff of a patch" as a double check on the patch refresh, I
stopped doing that after the 1st two or three patches.
Patch conflicts/issues of interest 4.7 --> 4.8
----------------------------------------------
-all the timer wheel rework being present in mainline meant we got
to drop those patches from the -rt queue; about 21 patches in all.
(11b68271256f28999 in this repo.)
-the amount of stuff living in thread_info was being scaled back by
luto (see upstream 13d4ea097d18b419) and as part of that the
GET_THREAD_INFO macro got nuked. I temporarily reintroduced it
close to the use case of x86 preempt lazy (local ID 822cf4179e6f)
while we possibly reconsider where TIF_LAZY ends up living.
-another implicit include issue popped up, this time in the header
include/linux/rbtree_augmented.h (local patch added in commit
97cd8b0eeed6, fixes upstream commit c1adf20052d80); needs sending.
-the net patch that replaced some per-cpu stuff with a variable
in current had macros in dev.c for the RT vs. non-RT case; now
filter.c needs those same macros, so they moved to netdevice.h
where the other shared macro was already (local ID 8ff5e6ee96b
file net-move-xmit_recursion-to-per-task-variable-on-RT.patch)
-I dropped the two scsi-fcoe-* patches; it appears that what they
were trying to fix on -rt will be fixed biy upstream 4b9bc86d5a99
but it probably warrants a second look by someone else.
-the ARM at91 clksrc change has been temporarily dropped, after
upstream got re-written to incorporate return values etc. It
had already been dragged along kicking and screaming from 3.x
days and probably needs love from someone with real hardware.
-another 3 patches made it upstream, (not counting ones mentioned
above) including the CR3 preempt issue fixed by Sebastian
Process details:
----------------
Rather than jump them forward all at once and then try and deal with
all the new issues at once, I walked them forward step by step through
the merges performed by Linus in each 2wk window leading up to the
rc1 tag (where all the ~12k new commits appear). I've detailed this
exact same process in more detail in the past here:
https://lwn.net/Articles/431364/
This 4.8 was done the same way. So when you see two tags like these:
rt-v4.7-3404-ge831101a73fb
rt-v4.7-5222-g468fc7ed5537
you can checkout the patches on tag rt-v4.7-3404-ge831101a73fb and
know they will apply to any merge authored by Linus that lies
between merge v4.7-3404-ge831101a73fb and any Linus merge prior to
the merge at v4.7-5222-g468fc7ed5537. This enables one to actually
bisect the complete uprev without having to deal with patch failures.
The list of merges is trivially created with something like:
git log --oneline --reverse --merges --author=Torvalds v4.7..v4.8-rc1
Sanity boot tested on x86-64 SMP with what is largely a defconfig,
but with RT_FULL=y and NFS=n.
next reply other threads:[~2016-09-06 18:25 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-06 18:25 Paul Gortmaker [this message]
2016-09-08 5:47 ` [ANNOUNCE] 4.8-rc5-rt1 beta Mike Galbraith
2016-09-17 20:45 ` Paul Gortmaker
2016-10-02 23:35 ` Paul Gortmaker
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=20160906182508.GB9950@windriver.com \
--to=paul.gortmaker@windriver.com \
--cc=bigeasy@linutronix.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rt-users@vger.kernel.org \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.