|
|
Subscribe / Log in / New account

How Red Hat uses GitLab for kernel development

How Red Hat uses GitLab for kernel development

Posted Oct 3, 2021 10:48 UTC (Sun) by pbonzini (subscriber, #60935)
Parent article: How Red Hat uses GitLab for kernel development

As a Red Hatter and an upstream developer, it's a bit more complicated than this. Despite being on a nominally old version, lots of subsystems in the RHEL kernel are rebased every 4-8 months to the latest version in the upstream kernel. For example, if you compare arch/x86/kvm/ between kernel-4.18.0-333.el8 and upstream 4.18, you get

 72 files changed, 45945 insertions(+), 26903 deletions(-)

If you do the same with 5.13, you get

 36 files changed, 985 insertions(+), 927 deletions(-)

These differences in turn are mostly because the kernel version backports the bugfix parts of what went into the 5.14 merge window. If it weren't for that, it would be even smaller.

As a result, there are two typical kinds of pull request in the RHEL kernel: bugfixes that are verbatim copies of 1-8 upstream commits, and large backports consisting of 200 to 1000 patches. The former are almost entirely trivial to review; often the developer who posts them is the same person who did the work upstream. The latter account for most of the 15000 patches mentioned in the article; of those, about 3-5% patches will have some difference with the corresponding upstream commit, typically due to bugfixes being backported out of order, and even fewer will be exclusive to RHEL. Of the 15000 patches, perhaps 1000 are going to be ever "clicked on" in the Gitlab merge request web pages.

As a result, review used to be 95+% the menial work of finding which patches have differences with the corresponding upstream. Such work is perfect for bots: they check the correspondance between the RHEL commit and the one in the "cherry picked from ..." lines (and the presence of those lines), signal differences, and let humans actually do the interesting parts of the review.

So, on one hand I absolutely love the GitLab-based development process that Prarit and Donald and many others have implemented. On the other hand, I would be wary to suggest that it could be applied to anything but the stable kernel process. In particular, code review on the web at the scale of Linux development is a complete non-starter until GitLab or GitHub implement a UI that maps to "git range-diff".


to post comments

How Red Hat uses GitLab for kernel development

Posted Oct 3, 2021 12:24 UTC (Sun) by mathstuf (subscriber, #69389) [Link]

Alas, the issue has been open for a long time: https://gitlab.com/gitlab-org/gitlab/-/issues/24096

How Red Hat uses GitLab for kernel development

Posted Oct 5, 2021 18:01 UTC (Tue) by johannbg (guest, #65743) [Link] (1 responses)

Why did Red Hat chose GitLab ( as opposed to Github,Sourcehut or some other git forge )?

How Red Hat uses GitLab for kernel development

Posted Oct 6, 2021 17:33 UTC (Wed) by prarit (subscriber, #27126) [Link]

@johannbg, we looked at the features of many git-forges, and at the time GitLab offered us the best feature set. I'm not saying that going with GitLab is the choice that upstream should make but it has worked for us very well and we're happy with it. As Don said in the video, we continue to work with GitLab on enhancing their software to make it work better both with Red Hat and with upstream.


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds