git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git
The following branches are of interest:
dev: Bleeding-edge code, both RCU and the
	Linux-kernel memory model.
	Please do any new RCU development against this branch.
	Also, if you are wondering if I have pulled in your patch, this is
	the place to check.
	Please note that your patch might be quite a ways down the
	stack and might be in a branch whose merge commit feeds into
	the dev branch.
rcu/next: Outside of the merge window, RCU commits
	that have passed a reasonable amount of testing, and have not
	yet been proven to be unready for the merge window.
	During the week prior to the merge window and during the merge
	window itself, this branch will reference a commit merging the
	various topic branches.
	If all goes well, all of these branches will be submitted to
	mainline during that merge window.
	If you want to look at or test newish RCU code, but nevertheless
	want something reasonably stable, this is your branch.
kcsan: Kernel concurrency sanitizer (KCSAN)
	updates intended for the next merge window.
	Prior to being added to this branch, KCSAN commits often spend
	some time in the dev branch.
lkmm: Linux-kernel memory model (LKMM) updates intended
	for the next merge window.
	Note that LKMM patches require at least one Acked-by:
	(or Reviewed-by:) from someone other than the author,
	and that Paul E. McKenney's Signed-off-by:
	does not count.
	Prior to being added to this branch, LKMM commits often spend
	some time in the dev branch.
lkmm-dev: Linux-kernel memory model (LKMM) updates
	not deemed ready for the next merge window.
	Prior to being added to this branch, LKMM commits often spend
	some time in the dev branch.
nolibc: The nolibc library branch.
	Prior to being added to this branch, nolibc commits
	often spend some time in the dev branch.
urgent: Fixes for regressions in mainline.
	In the hopefully rare cases where there are urgent fixes
	for more than one topic branch, an appropriate prefix or
	suffix will be used as needed.
main: The branch master will be a
	synonym for main until such time as it can be
	reasonably certain that users' git installations know about
	main.
	The presence of these two branches mean that someone cloning
	the -rcu tree will get a recent mainline RCU snapshot, perhaps
	excluding post-merge-window bug-fix patches.
	It is hoped that these branches will reduce the number of
	questions from beginners about ca. 2011 versions of RCU.
	(Unless they really do want to know about old versions of
	RCU, but experience indicates that such desires are not the
	common case.)
All of the above branches are subject to rebase.
However, the old commits are kept around for at least six months by
date-stamped branches, for example, “dev.2020.11.05a”.
This tree may be accessed as follows:
git clone git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git cd linux-rcu git checkout origin/dev
Once created, you can pull recent changes into your local copy as follows:
git remote update git checkout origin/dev
If your development takes some time, please rebase onto current
origin/dev before sending your patches.
Regardless of how long your development takes, please test your
code appropriately.
The rcutorture
test suite is easy to run on systems supporting KVM and qemu,
so please give that a try, especially if your change is at all
non-trivial.
Of course, if you submit too many patches that break things, I am likely
to insist that you run rcutorture on subsequent patches.
In addition, please follow the advice in Documentation/process,
including Documentation/process/submit-checklist.rst
-rc1, new commits that are deemed
	likely to be ready for the next merge window are collected into
	topic branches on top of -rc1.
	New commits that are not likely to be ready are rebased onto
	a merge of the topic branches.
	The dev branch includes all the commits,
	including these not-likely-to-be ready commits.
dev branch
	any commits that are shown to not be ready for mainline.
-rc1 prove insufficiently stable for
	RCU testing, these branches are rebased on top of a later
	-rc.
	In happy contrast with the situation prior to -next
	and kbuild test robot, -rc1 is usually sufficiently
	stable.
-rc releases from mainline is
	performed by first merging dev with that
	-rc, but leaving the dev branch
	unchanged.
	Such merges are sometimes referenced by a test
	branch, but these merges are usually done within the confines
	of the test system.
-rc5 or -rc6, the branches
	are frozen.  If non-trivial important bug fixes arrive after
	-rc6, they will be pushed to mainline after the
	merge window closes.
	Trivial important bugs fixes might still be sent directly to
	mainline.