These all good questions and the flow of patches into the final release from Linus is quite complex. Also, I have done a bad job keeping this page updated. Furthermore, upon revisiting this page, I think this are changes I can make to make it more useful and easier to understand.
Also, I wrote a more recent post that covers some upstreaming aspects:
I should pull some of that into this post.
First, I should not have used Palmer’s repo. The riscv repo that Palmer maintains is:
https://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux.git/
For patches that Palmer would apply (like /arch/riscv), it can be good to base them on kernel/git/riscv/linux.git - RISC-V Linux kernel tree
Altnernatively, you could based patches on linux-next:L
https://kernel.googlesource.com/pub/scm/linux/kernel/git/next/linux-next/
This is general advice though. There may be situations in which it is simpler to base a patch series on some other public branch because it has prerequisite patches.
Conor’s repo can be helpful to base patches on depending on the type work being done. Conor does have:
https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux.git/log/?h=riscv-soc-for-next
and
https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux.git/log/?h=riscv-dt-for-next
Anyways, maintainers like Conor and Palmer will probably reply that one needs to rebase their patches if the currently used base for the patches is causing problems.
I’ve done a bad job updating the table. It should be more clear which have just been posted, which have been applied by a maintainer, and which are actually in a kernel release now.
That is a merge commit which shows what patches were pulled in by the sub-maintainers. In this case, Conor took the individual patches from the mailing list and applied them to their tree they use for pull requests. Then Conor sends a pull request to Arnd. Arnd ultimately does a pull request for all of SoC to Linus Torvalds.
Yes, I would it is “upstream” once Linus accepts a pull request containing the commit(s) and merges it into his master branch.
The main time when this takes place is during the merge window. This is the 2 weeks following the release of a new linux kernel.
The first release candidate (rc) should happen at the end of the merge window. The marks the first real release that contains the new commits. Technically, the new commits are not officially in Linux until the release candidate (rc) releases conclude and Linus officially releases the new kernel.