* linus-next: improving functional testing for to-be-merged pull requests
@ 2024-10-21 16:07 Sasha Levin
2024-10-21 17:18 ` Matthieu Baerts
` (5 more replies)
0 siblings, 6 replies; 92+ messages in thread
From: Sasha Levin @ 2024-10-21 16:07 UTC (permalink / raw)
To: torvalds; +Cc: ksummit, linux-kernel
Hi folks,
The linux-next tree we all know and love is widely used by the kernel
community for integration work. It offers several advantages:
1. Early detection of conflicts between matinainer trees
2. Catching most new build errors/warnings
However, it faces significant testing challenges:
1. Contains a mix of "ready-to-go" code and experimental additions
2. A single "bad" piece of code can affect testing of everything else
3. Low barrier of entry, encouraging inclusion over exclusion
4. While linux-next offers early conflict resolution and
identifies build issues, it is very difficult to actually test
due to the abundance of runtime issues it tends to have
These factors combine to make linux-next a valuable tool for integration
but problematic for comprehensive testing.
During the Maintainer's Summit, Linus Torvalds expressed concerns about
the quality of testing that code receives before he pulls it. The
subsequent discussion side-tracked to the testability of linux-next, but
we didn't directly address Linus's original concern about pre-pull
testing quality.
In an attempt to address the concerns, we're trying out a new "linus-next"
tree is being created and maintained with the following characteristics:
1. Composed of pull requests sent directly to Linus
2. Contains branches destined for imminent inclusion by Linus
3. Higher code quality expectation (these are pull requests that
maintainers expect Linus to pull)
4. Continuous tree (not daily tags like in linux-next),
facilitating easier bisection
The linus-next tree aims to provide a more stable and testable
integration point compared to linux-next, addressing the runtime issues
that make testing linux-next challenging and focusing on code that's
about to be pulled by Linus.
linus-next is (expected to be) particularly effective before the merge
window opens, as maintainers tend to send their pull requests early,
allowing for more thorough testing of to-be-merged changes.
We also want to avoid altering the existing workflow. In particular:
1. No increase in latency. If anything, the expectation is that
the cadence of merges would be improved given that Linus will
need to do less builds and tests.
2. Require "sign up" for the tree like linux-next does. Instead,
pull requests are monitored and grabbed directly from the
mailing list.
Tree location: `git://git.kernel.org/pub/scm/linux/kernel/git/sashal/linus-next.git linus-next`
Current testing:
- LKFT: https://qa-reports.linaro.org/lkft/sashal-linus-next/
- KernelCI: https://t.ly/KEW7F
Feedback and suggestions for improving usability are welcome!
--
Thanks,
Sasha
^ permalink raw reply [flat|nested] 92+ messages in thread* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-21 16:07 linus-next: improving functional testing for to-be-merged pull requests Sasha Levin @ 2024-10-21 17:18 ` Matthieu Baerts 2024-10-21 17:36 ` Sasha Levin 2024-10-21 17:24 ` Bart Van Assche ` (4 subsequent siblings) 5 siblings, 1 reply; 92+ messages in thread From: Matthieu Baerts @ 2024-10-21 17:18 UTC (permalink / raw) To: Sasha Levin; +Cc: ksummit, linux-kernel, torvalds Hi Sasha, On 21/10/2024 18:07, Sasha Levin wrote: (...) > In an attempt to address the concerns, we're trying out a new "linus-next" > tree is being created and maintained with the following characteristics: > > 1. Composed of pull requests sent directly to Linus > > 2. Contains branches destined for imminent inclusion by Linus > > 3. Higher code quality expectation (these are pull requests that > maintainers expect Linus to pull) That's a good idea! Thank you for putting this in place! If you don't mind, I have some questions below. > 4. Continuous tree (not daily tags like in linux-next), > facilitating easier bisection What will happen when a pull request is rejected? (...) > We also want to avoid altering the existing workflow. In particular: > > 1. No increase in latency. If anything, the expectation is that > the cadence of merges would be improved given that Linus will > need to do less builds and tests. > > 2. Require "sign up" for the tree like linux-next does. Instead, > pull requests are monitored and grabbed directly from the > mailing list. Out of curiosity: is it done automatically? Will it email someone when a conflict is found? (...) > Current testing: > - LKFT: https://qa-reports.linaro.org/lkft/sashal-linus-next/ > - KernelCI: https://t.ly/KEW7F That's great to have more tests being executed! Who is going to monitor the results? This task can quickly take time if this person also has to check for false positives and flaky tests. Are the maintainers supposed to regularly monitor the results for the tests they are responsible for? Or will they be (automatically?) emailed when there is a regression? Cheers, Matt -- Sponsored by the NGI0 Core fund. ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-21 17:18 ` Matthieu Baerts @ 2024-10-21 17:36 ` Sasha Levin 2024-10-22 9:11 ` Matthieu Baerts 0 siblings, 1 reply; 92+ messages in thread From: Sasha Levin @ 2024-10-21 17:36 UTC (permalink / raw) To: Matthieu Baerts; +Cc: ksummit, linux-kernel, torvalds On Mon, Oct 21, 2024 at 07:18:38PM +0200, Matthieu Baerts wrote: >Hi Sasha, > >On 21/10/2024 18:07, Sasha Levin wrote: > >(...) > >> In an attempt to address the concerns, we're trying out a new "linus-next" >> tree is being created and maintained with the following characteristics: >> >> 1. Composed of pull requests sent directly to Linus >> >> 2. Contains branches destined for imminent inclusion by Linus >> >> 3. Higher code quality expectation (these are pull requests that >> maintainers expect Linus to pull) > >That's a good idea! Thank you for putting this in place! Thank you! >If you don't mind, I have some questions below. > >> 4. Continuous tree (not daily tags like in linux-next), >> facilitating easier bisection > >What will happen when a pull request is rejected? My mental playbook is: 1. If a pull request is just ignored, ping it in case it was forgotten. 2. If we have an explicit NACK, just revert the merge commit. >(...) > >> We also want to avoid altering the existing workflow. In particular: >> >> 1. No increase in latency. If anything, the expectation is that >> the cadence of merges would be improved given that Linus will >> need to do less builds and tests. >> >> 2. Require "sign up" for the tree like linux-next does. Instead, >> pull requests are monitored and grabbed directly from the >> mailing list. > >Out of curiosity: is it done automatically? Will it email someone when a >conflict is found? So it's 80% automatic now: my scripts monitor emails using lei, parse relevant ones and manage to extract the pull instructions out of them, and then most of those pull requests just merge cleanly. There are some with conflicts, but since Linus insists on having an explanation for merge conflicts, those pull requsts contain those instructions within them. In those cases I manually followed the instructions to resolve the conflicts (which were trivial so far). I'll likely send a mail out *only* if I see a non-trivial merge conflict without an explanation in the body. >(...) > >> Current testing: >> - LKFT: https://qa-reports.linaro.org/lkft/sashal-linus-next/ >> - KernelCI: https://t.ly/KEW7F > >That's great to have more tests being executed! Who is going to monitor >the results? This task can quickly take time if this person also has to >check for false positives and flaky tests. > >Are the maintainers supposed to regularly monitor the results for the >tests they are responsible for? Or will they be (automatically?) emailed >when there is a regression? I'm not sure about this part. While I look at it in and will likely send a mail out if I see something fishy, the only change in workflow that I hope will happen here is Linus looking at a dashboard or two before he begins his daily merge session. -- Thanks, Sasha ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-21 17:36 ` Sasha Levin @ 2024-10-22 9:11 ` Matthieu Baerts 0 siblings, 0 replies; 92+ messages in thread From: Matthieu Baerts @ 2024-10-22 9:11 UTC (permalink / raw) To: Sasha Levin; +Cc: ksummit, linux-kernel, torvalds Hi Sasha, Thank you for your replies! On 21/10/2024 19:36, Sasha Levin wrote: > On Mon, Oct 21, 2024 at 07:18:38PM +0200, Matthieu Baerts wrote: >> On 21/10/2024 18:07, Sasha Levin wrote: (...) >>> 4. Continuous tree (not daily tags like in linux-next), >>> facilitating easier bisection >> >> What will happen when a pull request is rejected? > > My mental playbook is: > > 1. If a pull request is just ignored, ping it in case it was forgotten. > 2. If we have an explicit NACK, just revert the merge commit. Hopefully these reverts will be exceptional, because they can quickly be hard to manage! >> (...) >> >>> We also want to avoid altering the existing workflow. In particular: >>> >>> 1. No increase in latency. If anything, the expectation is that >>> the cadence of merges would be improved given that Linus will >>> need to do less builds and tests. >>> >>> 2. Require "sign up" for the tree like linux-next does. Instead, >>> pull requests are monitored and grabbed directly from the >>> mailing list. >> >> Out of curiosity: is it done automatically? Will it email someone when a >> conflict is found? > > So it's 80% automatic now: my scripts monitor emails using lei, parse > relevant ones and manage to extract the pull instructions out of them, > and then most of those pull requests just merge cleanly. > > There are some with conflicts, but since Linus insists on having an > explanation for merge conflicts, those pull requsts contain those > instructions within them. In those cases I manually followed the > instructions to resolve the conflicts (which were trivial so far). > > I'll likely send a mail out *only* if I see a non-trivial merge conflict > without an explanation in the body. OK, thank you! >> (...) >> >>> Current testing: >>> - LKFT: https://qa-reports.linaro.org/lkft/sashal-linus-next/ >>> - KernelCI: https://t.ly/KEW7F >> >> That's great to have more tests being executed! Who is going to monitor >> the results? This task can quickly take time if this person also has to >> check for false positives and flaky tests. >> >> Are the maintainers supposed to regularly monitor the results for the >> tests they are responsible for? Or will they be (automatically?) emailed >> when there is a regression? > > I'm not sure about this part. While I look at it in and will likely send > a mail out if I see something fishy, the only change in workflow that I > hope will happen here is Linus looking at a dashboard or two before he > begins his daily merge session. OK, thank you! I find these dashboards not so easy to read: there are many tests, and it is not always clear what they are doing or how important they are. Yes it is possible to find the history and check if a test is known as being unstable, but there are no indicators to show that directly, nor a global one saying "OK to pull". What I want to say is that I hope these dashboards will help, and not just to say "look, we are running tests", but nobody is actually looking at the results :) Cheers, Matt -- Sponsored by the NGI0 Core fund. ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-21 16:07 linus-next: improving functional testing for to-be-merged pull requests Sasha Levin 2024-10-21 17:18 ` Matthieu Baerts @ 2024-10-21 17:24 ` Bart Van Assche 2024-10-21 17:30 ` Sasha Levin 2024-10-21 18:36 ` Liam R. Howlett ` (3 subsequent siblings) 5 siblings, 1 reply; 92+ messages in thread From: Bart Van Assche @ 2024-10-21 17:24 UTC (permalink / raw) To: Sasha Levin, torvalds; +Cc: ksummit, linux-kernel, Shin'ichiro Kawasaki On 10/21/24 9:07 AM, Sasha Levin wrote: > Current testing: > - LKFT: https://qa-reports.linaro.org/lkft/sashal-linus-next/ > - KernelCI: https://t.ly/KEW7F Hi Sasha, Is blktests included in any of the above? If not, please consider including it. During the past few years we have noticed that the test failures reported by this test suite are most of the time caused by kernel bugs. Sometimes issues in the tests are discovered but this is rare. See also https://github.com/osandov/blktests/. Thanks, Bart. ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-21 17:24 ` Bart Van Assche @ 2024-10-21 17:30 ` Sasha Levin 2024-10-21 18:10 ` Luis Chamberlain 0 siblings, 1 reply; 92+ messages in thread From: Sasha Levin @ 2024-10-21 17:30 UTC (permalink / raw) To: Bart Van Assche; +Cc: torvalds, ksummit, linux-kernel, Shin'ichiro Kawasaki On Mon, Oct 21, 2024 at 10:24:53AM -0700, Bart Van Assche wrote: >On 10/21/24 9:07 AM, Sasha Levin wrote: >>Current testing: >> - LKFT: https://qa-reports.linaro.org/lkft/sashal-linus-next/ >> - KernelCI: https://t.ly/KEW7F > >Hi Sasha, > >Is blktests included in any of the above? If not, please consider >including it. During the past few years we have noticed that the >test failures reported by this test suite are most of the time caused >by kernel bugs. Sometimes issues in the tests are discovered but this >is rare. See also https://github.com/osandov/blktests/. Hey Bart, I don't plan on doing any tests on my own, but rather have our existing CI infra (kernelci, LKFT, etc) deal with the actual testing part of things. AFAIK KernelCI if working on adding blktests support! Thanks! -- Thanks, Sasha ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-21 17:30 ` Sasha Levin @ 2024-10-21 18:10 ` Luis Chamberlain 0 siblings, 0 replies; 92+ messages in thread From: Luis Chamberlain @ 2024-10-21 18:10 UTC (permalink / raw) To: Sasha Levin Cc: Bart Van Assche, torvalds, ksummit, linux-kernel, Shin'ichiro Kawasaki On Mon, Oct 21, 2024 at 01:30:06PM -0400, Sasha Levin wrote: > On Mon, Oct 21, 2024 at 10:24:53AM -0700, Bart Van Assche wrote: > > On 10/21/24 9:07 AM, Sasha Levin wrote: > > > Current testing: > > > - LKFT: https://qa-reports.linaro.org/lkft/sashal-linus-next/ > > > - KernelCI: https://t.ly/KEW7F > > > > Hi Sasha, > > > > Is blktests included in any of the above? If not, please consider > > including it. During the past few years we have noticed that the > > test failures reported by this test suite are most of the time caused > > by kernel bugs. Sometimes issues in the tests are discovered but this > > is rare. See also https://github.com/osandov/blktests/. > > Hey Bart, > > I don't plan on doing any tests on my own, but rather have our existing > CI infra (kernelci, LKFT, etc) deal with the actual testing part of > things. > > AFAIK KernelCI if working on adding blktests support! We can automate blktests with kdevops today, if that's desirable let me know. Luis ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-21 16:07 linus-next: improving functional testing for to-be-merged pull requests Sasha Levin 2024-10-21 17:18 ` Matthieu Baerts 2024-10-21 17:24 ` Bart Van Assche @ 2024-10-21 18:36 ` Liam R. Howlett 2024-10-21 19:44 ` Sasha Levin 2024-10-21 21:41 ` Mark Brown ` (2 subsequent siblings) 5 siblings, 1 reply; 92+ messages in thread From: Liam R. Howlett @ 2024-10-21 18:36 UTC (permalink / raw) To: Sasha Levin; +Cc: torvalds, ksummit, linux-kernel * Sasha Levin <sashal@kernel.org> [241021 12:32]: > Hi folks, > > The linux-next tree we all know and love is widely used by the kernel > community for integration work. It offers several advantages: > > 1. Early detection of conflicts between matinainer trees > > 2. Catching most new build errors/warnings Would it be difficult to catch branches that change things outside their scope without correct SOB/RB/Acks? Asking for a friend... > > However, it faces significant testing challenges: > > 1. Contains a mix of "ready-to-go" code and experimental additions > > 2. A single "bad" piece of code can affect testing of everything else > > 3. Low barrier of entry, encouraging inclusion over exclusion > > 4. While linux-next offers early conflict resolution and > identifies build issues, it is very difficult to actually test > due to the abundance of runtime issues it tends to have > > These factors combine to make linux-next a valuable tool for integration > but problematic for comprehensive testing. > > During the Maintainer's Summit, Linus Torvalds expressed concerns about > the quality of testing that code receives before he pulls it. The > subsequent discussion side-tracked to the testability of linux-next, but > we didn't directly address Linus's original concern about pre-pull > testing quality. > > In an attempt to address the concerns, we're trying out a new "linus-next" The names are really close, could it be something that's more than one character different? linus-pulled, linux-pending, linux-pr or something? They are also the same length, which adds to the parsing challenge on both typing and reading. I'm thinking I'll get emails about the wrong branch or send them with the wrong branch specified - especially pre-coffee. > tree is being created and maintained with the following characteristics: > > 1. Composed of pull requests sent directly to Linus > > 2. Contains branches destined for imminent inclusion by Linus > > 3. Higher code quality expectation (these are pull requests that > maintainers expect Linus to pull) > > 4. Continuous tree (not daily tags like in linux-next), > facilitating easier bisection > > The linus-next tree aims to provide a more stable and testable > integration point compared to linux-next, addressing the runtime issues > that make testing linux-next challenging and focusing on code that's > about to be pulled by Linus. What about the people who send them late? I know people get told not to do that, but some people still do. Those late pull requests would potentially invalidate a lot of the testing in this scenario. For example, if there was a late mm change, then anything using mm could be affected. That's a large subset. Is there any cut-off time for testing? Thanks, Liam ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-21 18:36 ` Liam R. Howlett @ 2024-10-21 19:44 ` Sasha Levin 2024-10-21 22:56 ` Linus Torvalds 0 siblings, 1 reply; 92+ messages in thread From: Sasha Levin @ 2024-10-21 19:44 UTC (permalink / raw) To: Liam R. Howlett; +Cc: torvalds, ksummit, linux-kernel On Mon, Oct 21, 2024 at 02:36:39PM -0400, Liam R. Howlett wrote: >* Sasha Levin <sashal@kernel.org> [241021 12:32]: >> Hi folks, >> >> The linux-next tree we all know and love is widely used by the kernel >> community for integration work. It offers several advantages: >> >> 1. Early detection of conflicts between matinainer trees >> >> 2. Catching most new build errors/warnings > >Would it be difficult to catch branches that change things outside their >scope without correct SOB/RB/Acks? Asking for a friend... Up to the guy in charge... I don't want to attempt and monitor a policy that won't be enforced :) If Linus wants to add this to the workflow (which is doable), then an explicit ack would be great. >> However, it faces significant testing challenges: >> >> 1. Contains a mix of "ready-to-go" code and experimental additions >> >> 2. A single "bad" piece of code can affect testing of everything else >> >> 3. Low barrier of entry, encouraging inclusion over exclusion >> >> 4. While linux-next offers early conflict resolution and >> identifies build issues, it is very difficult to actually test >> due to the abundance of runtime issues it tends to have >> >> These factors combine to make linux-next a valuable tool for integration >> but problematic for comprehensive testing. >> >> During the Maintainer's Summit, Linus Torvalds expressed concerns about >> the quality of testing that code receives before he pulls it. The >> subsequent discussion side-tracked to the testability of linux-next, but >> we didn't directly address Linus's original concern about pre-pull >> testing quality. >> >> In an attempt to address the concerns, we're trying out a new "linus-next" > >The names are really close, could it be something that's more than one >character different? > >linus-pulled, linux-pending, linux-pr or something? They are also the >same length, which adds to the parsing challenge on both typing and >reading. I'm thinking I'll get emails about the wrong branch or send >them with the wrong branch specified - especially pre-coffee. Maybe... I didn't think about the name too much because my thinking is that it'll mostly be a behind-the-scenes for most folks outside of a very small group. >> tree is being created and maintained with the following characteristics: >> >> 1. Composed of pull requests sent directly to Linus >> >> 2. Contains branches destined for imminent inclusion by Linus >> >> 3. Higher code quality expectation (these are pull requests that >> maintainers expect Linus to pull) >> >> 4. Continuous tree (not daily tags like in linux-next), >> facilitating easier bisection >> >> The linus-next tree aims to provide a more stable and testable >> integration point compared to linux-next, addressing the runtime issues >> that make testing linux-next challenging and focusing on code that's >> about to be pulled by Linus. > >What about the people who send them late? I know people get told not to >do that, but some people still do. Those late pull requests would >potentially invalidate a lot of the testing in this scenario. > >For example, if there was a late mm change, then anything using mm could >be affected. That's a large subset. > >Is there any cut-off time for testing? I think that the answer here is the same as whatever Linus considers as "too late". My cron scripts will pick up the pull request quickly and send it out to be tested, but it's up to Linus to decide if he wants to sit on it for another day/week/month or not. Again, not enforcing policy, that's up to the penguin in charge... -- Thanks, Sasha ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-21 19:44 ` Sasha Levin @ 2024-10-21 22:56 ` Linus Torvalds 0 siblings, 0 replies; 92+ messages in thread From: Linus Torvalds @ 2024-10-21 22:56 UTC (permalink / raw) To: Sasha Levin; +Cc: Liam R. Howlett, ksummit, linux-kernel On Mon, 21 Oct 2024 at 12:44, Sasha Levin <sashal@kernel.org> wrote: > > On Mon, Oct 21, 2024 at 02:36:39PM -0400, Liam R. Howlett wrote: > > > >Would it be difficult to catch branches that change things outside their > >scope without correct SOB/RB/Acks? Asking for a friend... > > Up to the guy in charge... I don't want to attempt and monitor a policy > that won't be enforced :) > > If Linus wants to add this to the workflow (which is doable), then an > explicit ack would be great. Has this been a huge deal? There are things like ABI changes (function renames, dropping or adding arguments etc etc) that will inevitably end up tree-wide, and honestly, it would often be totally frustrating trying to get acks from every maintainer. Is it hugely common? No. But still, I'm not convinced there is a sane model for "outside their scope". I mean, sure, if the change comes from an individual driver or filesystem or something like that, then it generally has no business touching anything else. So it *can* be an issue, but I don't see how to sanely automate this kind of thing without it becoming a potential huge annoyance. Maybe other people don't mind, but I personally hate false positives that you are then supposed to ignore when appropriate. It just makes people ignore the things they *should* care about. Linus ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-21 16:07 linus-next: improving functional testing for to-be-merged pull requests Sasha Levin ` (2 preceding siblings ...) 2024-10-21 18:36 ` Liam R. Howlett @ 2024-10-21 21:41 ` Mark Brown 2024-10-22 9:10 ` Thorsten Leemhuis 2024-10-21 23:39 ` Paul E. McKenney 2024-10-22 4:54 ` Kees Cook 5 siblings, 1 reply; 92+ messages in thread From: Mark Brown @ 2024-10-21 21:41 UTC (permalink / raw) To: Sasha Levin; +Cc: torvalds, ksummit, linux-kernel [-- Attachment #1: Type: text/plain, Size: 4560 bytes --] On Mon, Oct 21, 2024 at 12:07:13PM -0400, Sasha Levin wrote: > During the Maintainer's Summit, Linus Torvalds expressed concerns about > the quality of testing that code receives before he pulls it. The > subsequent discussion side-tracked to the testability of linux-next, but > we didn't directly address Linus's original concern about pre-pull > testing quality. > In an attempt to address the concerns, we're trying out a new "linus-next" > tree is being created and maintained with the following characteristics: > 1. Composed of pull requests sent directly to Linus > 2. Contains branches destined for imminent inclusion by Linus > 3. Higher code quality expectation (these are pull requests that > maintainers expect Linus to pull) This feels kind of late for thorough testing, especially outside of the merge window where it's mostly fixes. > 4. Continuous tree (not daily tags like in linux-next), > facilitating easier bisection Is this a pressing problem? I routinely bisect -next, you have to base things on Linus' tree (or pending-fixes) but otherwise it's not especially problematic. It is a bit helpful to remember commits that you've run a given test on before to speed things up a bit but that's not super essential. The downside of not redoing the merge is that once problematic stuff ends up in history it doesn't go away which can itself be disruptive whenever there's multiple issues going on, you get a window you have to skip through when bisecting. > The linus-next tree aims to provide a more stable and testable > integration point compared to linux-next, addressing the runtime issues > that make testing linux-next challenging and focusing on code that's > about to be pulled by Linus. > linus-next is (expected to be) particularly effective before the merge > window opens, as maintainers tend to send their pull requests early, > allowing for more thorough testing of to-be-merged changes. How many people send pull requests in advance, as opposed to getting their tree stable, waiting for further testing, applying any fixes from that testing and then sending a pull request after the merge window has opened? One big concern I have with this is that for non-fix changes the testing coverage will be very heavily loaded to the end of the development cycle and the merge window, with a lot of changes in flight at the same time. That means it's going to be harder to effectively run more expensive tests, and we'll potentially be a month or two on from when the changes were landed by the time we actually get round to running whatever extra tests get run here. I do think it's useful to have coverage of specifically things actually sent in pull requests, but I'm not sure we'd get much more thorough testing than we already get via pending-fixes and -next. > We also want to avoid altering the existing workflow. In particular: > > 1. No increase in latency. If anything, the expectation is that > the cadence of merges would be improved given that Linus will > need to do less builds and tests. For fixes we do routinely have things landing within hours of the pull request being sent, that's pretty aggressive for CI. > 2. Require "sign up" for the tree like linux-next does. Instead, > pull requests are monitored and grabbed directly from the > mailing list. Like I mentioned above what's the plan for handling bad changes? If an issue is found in linus-next (BTW, I forsee confusion being caused by typos there). If a problem is found and then fixed with an incremental patch which is sent in another pull request then the fix will eventually land but if the offending patch is rebased out or the pull request just dropped entirely then presumably someone will have to do something manual. How will that happen, and on what sort of schedule? I do wonder if it's worth splitting the -next merge further and having another pending-fixes type split where maintainers can differentiate between changes where they're reasonably happy with the testing and those that are bleeding edge. It is volunteering Stephen to do even more merges, and it does rely on people identifying what's stable, so I'm not sure how useful it'd be but seems like it would mesh well with the flow where people are doing their own stabalisation prior to sending pull requests. That's a different thing to increasing the coverage of PRs like you're proposing here but it's another angle on the "-next is too unstable" issue. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-21 21:41 ` Mark Brown @ 2024-10-22 9:10 ` Thorsten Leemhuis 2024-10-22 13:19 ` Mark Brown 2024-10-31 19:22 ` Shuah Khan 0 siblings, 2 replies; 92+ messages in thread From: Thorsten Leemhuis @ 2024-10-22 9:10 UTC (permalink / raw) To: Mark Brown; +Cc: torvalds, ksummit, linux-kernel, Sasha Levin On 21.10.24 23:41, Mark Brown wrote: > On Mon, Oct 21, 2024 at 12:07:13PM -0400, Sasha Levin wrote: > >> In an attempt to address the concerns, we're trying out a new "linus-next" >> tree is being created and maintained with the following characteristics: BTW, in case anyone cares: I fully agree with what Kees wrote earlier today elsewhere in this thread, e.g. things like "improve -next instead" and "pre-merge bot": http://lore.kernel.org/all/792F4759-EA33-48B8-9AD0-FA14FA69E86E%40kernel.org Regarding that bot: a few of the CI folks and a developer or two told me they want regzbot to react to PRs for Linus as well, so it can send mails like "hey Linus, just so you know, this PR contains changes that cause the following regressions not yet fixed". I think I like the idea, but well, quite a few other improvements around regzbot and its use have a much higher priority currently. >> 4. Continuous tree (not daily tags like in linux-next), >> facilitating easier bisection > > Is this a pressing problem? I routinely bisect -next, you have to base > things on Linus' tree (or pending-fixes) but otherwise it's not > especially problematic. I wonder if part of this is a "don't know how to do that" aka "lack of documentation" problem. I've recently seen some good guide or mailing list post how to bisect -next somewhere, but I think it wasn't in our Documentation/ directory. I need to search where that was (Mark, I might misremember, but wasn't it you who posted it somewhere?) and could work towards upstreaming that or some other guide. And don't worry, due to the different target audience it would be much shorter text than other documents I contributed. ;-) Ciao, Thorsten ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-22 9:10 ` Thorsten Leemhuis @ 2024-10-22 13:19 ` Mark Brown 2024-10-31 19:22 ` Shuah Khan 1 sibling, 0 replies; 92+ messages in thread From: Mark Brown @ 2024-10-22 13:19 UTC (permalink / raw) To: Thorsten Leemhuis; +Cc: torvalds, ksummit, linux-kernel, Sasha Levin [-- Attachment #1: Type: text/plain, Size: 921 bytes --] On Tue, Oct 22, 2024 at 11:10:36AM +0200, Thorsten Leemhuis wrote: > I wonder if part of this is a "don't know how to do that" aka "lack of > documentation" problem. I've recently seen some good guide or mailing > list post how to bisect -next somewhere, but I think it wasn't in our > Documentation/ directory. I need to search where that was (Mark, I might > misremember, but wasn't it you who posted it somewhere?) and could work > towards upstreaming that or some other guide. And don't worry, due to > the different target audience it would be much shorter text than other > documents I contributed. ;-) I don't recall anything specific, though it's plausible I said something in a thread that was basically just the bit about bisecting between mainline<->pending-fixes<->-next rather than between -next versions. You're right that we should have that in the documentation somewhere, I'll look at sending a patch. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-22 9:10 ` Thorsten Leemhuis 2024-10-22 13:19 ` Mark Brown @ 2024-10-31 19:22 ` Shuah Khan 1 sibling, 0 replies; 92+ messages in thread From: Shuah Khan @ 2024-10-31 19:22 UTC (permalink / raw) To: Thorsten Leemhuis, Mark Brown Cc: torvalds, ksummit, linux-kernel, Sasha Levin, Shuah Khan On 10/22/24 03:10, Thorsten Leemhuis wrote: > On 21.10.24 23:41, Mark Brown wrote: >> On Mon, Oct 21, 2024 at 12:07:13PM -0400, Sasha Levin wrote: >> >>> In an attempt to address the concerns, we're trying out a new "linus-next" >>> tree is being created and maintained with the following characteristics: > > BTW, in case anyone cares: I fully agree with what Kees wrote earlier > today elsewhere in this thread, e.g. things like "improve -next instead" > and "pre-merge bot": > http://lore.kernel.org/all/792F4759-EA33-48B8-9AD0-FA14FA69E86E%40kernel.org\ I am catching up on this thread. I agree with Kees and others on improve next instead. Adding one more next-like-thing will add to the confusion. > > Regarding that bot: a few of the CI folks and a developer or two told me > they want regzbot to react to PRs for Linus as well, so it can send > mails like "hey Linus, just so you know, this PR contains changes that > cause the following regressions not yet fixed". I think I like the idea, > but well, quite a few other improvements around regzbot and its use have > a much higher priority currently. > >>> 4. Continuous tree (not daily tags like in linux-next), >>> facilitating easier bisection >> >> Is this a pressing problem? I routinely bisect -next, you have to base >> things on Linus' tree (or pending-fixes) but otherwise it's not >> especially problematic. > > I wonder if part of this is a "don't know how to do that" aka "lack of > documentation" problem. I've recently seen some good guide or mailing > list post how to bisect -next somewhere, but I think it wasn't in our > Documentation/ directory. I need to search where that was (Mark, I might > misremember, but wasn't it you who posted it somewhere?) and could work > towards upstreaming that or some other guide. And don't worry, due to > the different target audience it would be much shorter text than other > documents I contributed. ;-) > Documentation could help. Tailoring the workflow to linux-next could help. All my branches are in linux-next. I don't send my PRs without keeping the content in linux-next for 3 days to week after rc1 - it is usually longer for merge-window content. This helps me find conflicts if any between all the tree selftest go through and mine. It helps work out conflicts in linux-next prior to sending pull request. My vote is for improving next instead of re-inventing next-like-thing. thanks, -- Shuah ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-21 16:07 linus-next: improving functional testing for to-be-merged pull requests Sasha Levin ` (3 preceding siblings ...) 2024-10-21 21:41 ` Mark Brown @ 2024-10-21 23:39 ` Paul E. McKenney 2024-10-22 12:06 ` Jiri Kosina 2024-10-22 4:54 ` Kees Cook 5 siblings, 1 reply; 92+ messages in thread From: Paul E. McKenney @ 2024-10-21 23:39 UTC (permalink / raw) To: Sasha Levin; +Cc: torvalds, ksummit, linux-kernel On Mon, Oct 21, 2024 at 12:07:13PM -0400, Sasha Levin wrote: > Hi folks, > > The linux-next tree we all know and love is widely used by the kernel > community for integration work. It offers several advantages: > > 1. Early detection of conflicts between matinainer trees > > 2. Catching most new build errors/warnings > > However, it faces significant testing challenges: > > 1. Contains a mix of "ready-to-go" code and experimental additions > > 2. A single "bad" piece of code can affect testing of everything else > > 3. Low barrier of entry, encouraging inclusion over exclusion > > 4. While linux-next offers early conflict resolution and > identifies build issues, it is very difficult to actually test > due to the abundance of runtime issues it tends to have > > These factors combine to make linux-next a valuable tool for integration > but problematic for comprehensive testing. > > During the Maintainer's Summit, Linus Torvalds expressed concerns about > the quality of testing that code receives before he pulls it. The > subsequent discussion side-tracked to the testability of linux-next, but > we didn't directly address Linus's original concern about pre-pull > testing quality. I have to ask... Wouldn't more people testing -next result in more pressure to fix linux-next problems quickly? Or perhaps more pressure for people to avoid linux-next? But this later would also apply to a new linus-next. Unless Linus were to start rejecting pull requests that had not been in linu[sx]-next for "long enough", whatever that might be. ;-) Thanx, Paul > In an attempt to address the concerns, we're trying out a new "linus-next" > tree is being created and maintained with the following characteristics: > > 1. Composed of pull requests sent directly to Linus > > 2. Contains branches destined for imminent inclusion by Linus > > 3. Higher code quality expectation (these are pull requests that > maintainers expect Linus to pull) > > 4. Continuous tree (not daily tags like in linux-next), > facilitating easier bisection > > The linus-next tree aims to provide a more stable and testable > integration point compared to linux-next, addressing the runtime issues > that make testing linux-next challenging and focusing on code that's > about to be pulled by Linus. > > linus-next is (expected to be) particularly effective before the merge > window opens, as maintainers tend to send their pull requests early, > allowing for more thorough testing of to-be-merged changes. > > We also want to avoid altering the existing workflow. In particular: > > 1. No increase in latency. If anything, the expectation is that > the cadence of merges would be improved given that Linus will > need to do less builds and tests. > > 2. Require "sign up" for the tree like linux-next does. Instead, > pull requests are monitored and grabbed directly from the > mailing list. > > Tree location: `git://git.kernel.org/pub/scm/linux/kernel/git/sashal/linus-next.git linus-next` > > Current testing: > - LKFT: https://qa-reports.linaro.org/lkft/sashal-linus-next/ > - KernelCI: https://t.ly/KEW7F > > Feedback and suggestions for improving usability are welcome! > > -- > Thanks, > Sasha > ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-21 23:39 ` Paul E. McKenney @ 2024-10-22 12:06 ` Jiri Kosina 2024-10-22 14:22 ` Paul E. McKenney 0 siblings, 1 reply; 92+ messages in thread From: Jiri Kosina @ 2024-10-22 12:06 UTC (permalink / raw) To: Paul E. McKenney; +Cc: Sasha Levin, torvalds, ksummit, linux-kernel On Mon, 21 Oct 2024, Paul E. McKenney wrote: > I have to ask... > > Wouldn't more people testing -next result in more pressure to fix > linux-next problems quickly? I believe I brought up pretty much exactly this at this year's maintainer summit. From the discussion it turned out the many people believe that this investing into this is probably not worth it, as it will require much more continous, never-ending effort (for which there are probably not enough resources) than just dealing with the fallout once during the -rc1+ phase. -- Jiri Kosina SUSE Labs ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-22 12:06 ` Jiri Kosina @ 2024-10-22 14:22 ` Paul E. McKenney 2024-10-22 14:36 ` Sasha Levin 0 siblings, 1 reply; 92+ messages in thread From: Paul E. McKenney @ 2024-10-22 14:22 UTC (permalink / raw) To: Jiri Kosina; +Cc: Sasha Levin, torvalds, ksummit, linux-kernel On Tue, Oct 22, 2024 at 02:06:46PM +0200, Jiri Kosina wrote: > On Mon, 21 Oct 2024, Paul E. McKenney wrote: > > > I have to ask... > > > > Wouldn't more people testing -next result in more pressure to fix > > linux-next problems quickly? > > I believe I brought up pretty much exactly this at this year's maintainer > summit. > > >From the discussion it turned out the many people believe that this > investing into this is probably not worth it, as it will require much more > continous, never-ending effort (for which there are probably not enough > resources) than just dealing with the fallout once during the -rc1+ phase. Thank you for the response and the information! But why won't this same issues apply just as forcefully to a new linus-next tree? Full disclosure: Testing and tracking down bugs in -next can be a bit of a hassle, to be sure, but I expect to continue to do so. For one thing, dealing with -next is way easier than testing patches on the various mailing lists. Thanx, Paul ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-22 14:22 ` Paul E. McKenney @ 2024-10-22 14:36 ` Sasha Levin 2024-10-22 14:46 ` Paul E. McKenney 0 siblings, 1 reply; 92+ messages in thread From: Sasha Levin @ 2024-10-22 14:36 UTC (permalink / raw) To: Paul E. McKenney; +Cc: Jiri Kosina, torvalds, ksummit, linux-kernel On Tue, Oct 22, 2024 at 07:22:12AM -0700, Paul E. McKenney wrote: >On Tue, Oct 22, 2024 at 02:06:46PM +0200, Jiri Kosina wrote: >> On Mon, 21 Oct 2024, Paul E. McKenney wrote: >> >> > I have to ask... >> > >> > Wouldn't more people testing -next result in more pressure to fix >> > linux-next problems quickly? >> >> I believe I brought up pretty much exactly this at this year's maintainer >> summit. >> >> >From the discussion it turned out the many people believe that this >> investing into this is probably not worth it, as it will require much more >> continous, never-ending effort (for which there are probably not enough >> resources) than just dealing with the fallout once during the -rc1+ phase. > >Thank you for the response and the information! > >But why won't this same issues apply just as forcefully to a new >linus-next tree? > >Full disclosure: Testing and tracking down bugs in -next can be a bit of >a hassle, to be sure, but I expect to continue to do so. For one thing, >dealing with -next is way easier than testing patches on the various >mailing lists. I'm not trying to change the workflow here, I think all this amounts to is just a quality of life improvement for Linus who could ideally merge faster if he knows that the pull requests he's looking at will build and won't brick his laptop. If we start playing games around "must spend X days in linus-next", then yes - I agree with you. -- Thanks, Sasha ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-22 14:36 ` Sasha Levin @ 2024-10-22 14:46 ` Paul E. McKenney 0 siblings, 0 replies; 92+ messages in thread From: Paul E. McKenney @ 2024-10-22 14:46 UTC (permalink / raw) To: Sasha Levin; +Cc: Jiri Kosina, torvalds, ksummit, linux-kernel On Tue, Oct 22, 2024 at 10:36:13AM -0400, Sasha Levin wrote: > On Tue, Oct 22, 2024 at 07:22:12AM -0700, Paul E. McKenney wrote: > > On Tue, Oct 22, 2024 at 02:06:46PM +0200, Jiri Kosina wrote: > > > On Mon, 21 Oct 2024, Paul E. McKenney wrote: > > > > > > > I have to ask... > > > > > > > > Wouldn't more people testing -next result in more pressure to fix > > > > linux-next problems quickly? > > > > > > I believe I brought up pretty much exactly this at this year's maintainer > > > summit. > > > > > > >From the discussion it turned out the many people believe that this > > > investing into this is probably not worth it, as it will require much more > > > continous, never-ending effort (for which there are probably not enough > > > resources) than just dealing with the fallout once during the -rc1+ phase. > > > > Thank you for the response and the information! > > > > But why won't this same issues apply just as forcefully to a new > > linus-next tree? > > > > Full disclosure: Testing and tracking down bugs in -next can be a bit of > > a hassle, to be sure, but I expect to continue to do so. For one thing, > > dealing with -next is way easier than testing patches on the various > > mailing lists. > > I'm not trying to change the workflow here, I think all this amounts to > is just a quality of life improvement for Linus who could ideally merge > faster if he knows that the pull requests he's looking at will build and > won't brick his laptop. I don't understand how creating yet another tree will have that result, but you have more direct experience with this aspect of the process than I do. I do hope that it works out. > If we start playing games around "must spend X days in linus-next", then > yes - I agree with you. I did see the later email indicating that Linus was dead-set against such a requirement, so there is that. On the other hand, the subsequent discussion of publicly documenting which commits had less testing seems like it might work. For but one example, I would be suspicious of commits coming from someone arguing that appearing frequently on that list is a non-problem. ;-) (Yes, yes, there are always exceptions.) Thanx, Paul ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-21 16:07 linus-next: improving functional testing for to-be-merged pull requests Sasha Levin ` (4 preceding siblings ...) 2024-10-21 23:39 ` Paul E. McKenney @ 2024-10-22 4:54 ` Kees Cook 2024-10-22 6:48 ` Christoph Hellwig ` (2 more replies) 5 siblings, 3 replies; 92+ messages in thread From: Kees Cook @ 2024-10-22 4:54 UTC (permalink / raw) To: Sasha Levin, torvalds; +Cc: ksummit, linux-kernel On October 21, 2024 9:07:13 AM PDT, Sasha Levin <sashal@kernel.org> wrote: >In an attempt to address the concerns, we're trying out a new "linus-next" >tree is being created and maintained with the following characteristics: > > 1. Composed of pull requests sent directly to Linus > > 2. Contains branches destined for imminent inclusion by Linus But this means hours or a day or 2 at most. > 3. Higher code quality expectation (these are pull requests that > maintainers expect Linus to pull) Are people putting things in linux-next that they don't expect to send to Linus? That seems like the greater problem. > 4. Continuous tree (not daily tags like in linux-next), > facilitating easier bisection I'm not sure how useful that is given the very small time window to find bugs. >The linus-next tree aims to provide a more stable and testable >integration point compared to linux-next, Why not just use linux-next? I don't understand how this is any different except that it provides very little time to do testing and will need manual conflict resolutions that have already been done in linux-next. How about this, instead: no one sends -rc1 PRs to Linus that didn't go through -next. Just have a bot that replies to all PRs with a health check, and Linus can pull it if he thinks it looks good. For example, for a given PR, the bot can report: - Were the patches CCed to a mailing list? - A histogram of how long the patches were in next (to show bake times) - Are any patches associated with test failures? (0day and many other CIs are already running tests against -next; parse those reports) We could have a real pre-submit checker! :) -Kees -- Kees Cook ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-22 4:54 ` Kees Cook @ 2024-10-22 6:48 ` Christoph Hellwig 2024-10-22 8:12 ` Steven Rostedt ` (3 more replies) 2024-10-22 7:02 ` Geert Uytterhoeven 2024-10-22 8:41 ` Benjamin Tissoires 2 siblings, 4 replies; 92+ messages in thread From: Christoph Hellwig @ 2024-10-22 6:48 UTC (permalink / raw) To: Kees Cook; +Cc: Sasha Levin, torvalds, ksummit, linux-kernel On Mon, Oct 21, 2024 at 09:54:53PM -0700, Kees Cook wrote: > > 1. Composed of pull requests sent directly to Linus > > > > 2. Contains branches destined for imminent inclusion by Linus > > But this means hours or a day or 2 at most. Yeah. > > > 3. Higher code quality expectation (these are pull requests that > > maintainers expect Linus to pull) > > Are people putting things in linux-next that they don't expect to send to Linus? That seems like the greater problem. They shouldn't. If they do we do indeed have a problem. > > 4. Continuous tree (not daily tags like in linux-next), > > facilitating easier bisection > > I'm not sure how useful that is given the very small time window to find bugs. Same. > >The linus-next tree aims to provide a more stable and testable > >integration point compared to linux-next, > > Why not just use linux-next? I don't understand how this is any > different except that it provides very little time to do testing and > will need manual conflict resolutions that have already been done in > linux-next. Exactly! > How about this, instead: no one sends -rc1 PRs to Linus that didn't go > through -next. Just have a bot that replies to all PRs with a health > check, and Linus can pull it if he thinks it looks good. Not just -rc1, otherwise agreed. > For example, for a given PR, the bot can report: > > - Were the patches CCed to a mailing list? > - A histogram of how long the patches were in next (to show bake times) > - Are any patches associated with test failures? (0day and many other > CIs are already running tests against -next; parse those reports) > > We could have a real pre-submit checker! :) That would be very useful. Items 1 and 2 should be trivial, 3 would require a bit of work but would still be very useful. ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-22 6:48 ` Christoph Hellwig @ 2024-10-22 8:12 ` Steven Rostedt 2024-10-22 9:55 ` Vlastimil Babka ` (3 more replies) 2024-10-22 9:37 ` Sasha Levin ` (2 subsequent siblings) 3 siblings, 4 replies; 92+ messages in thread From: Steven Rostedt @ 2024-10-22 8:12 UTC (permalink / raw) To: Christoph Hellwig; +Cc: Kees Cook, Sasha Levin, torvalds, ksummit, linux-kernel On Mon, 21 Oct 2024 23:48:34 -0700 Christoph Hellwig <hch@infradead.org> wrote: > > How about this, instead: no one sends -rc1 PRs to Linus that didn't go > > through -next. Just have a bot that replies to all PRs with a health > > check, and Linus can pull it if he thinks it looks good. > > Not just -rc1, otherwise agreed. You mean have everything go into linux-next before going to Linus after -rc1? I'm one that doesn't do this. That's because my code in linux-next after -rc1 is for the next merge window, and the code I send to Linus is only fixes for code I sent before -rc1. I tend to keep an "urgent" and "core" branch. My "core" branch is everything I plan to send in the next merge window and goes into linux-next (via being pulled into my for-next branch). After I send my pull request to Linus, and he pulls it in the merge window, that "core" branch becomes my "urgent" branch. But when I find a bug that's in Linus's tree, I put the fix on top of "urgent", run it through my test suite (takes 8 hours or so), then send a pull request to Linus. My "urgent" branch doesn't go into linux-next as it doesn't have changes that should affect others work, which is what I think linux-next is mostly for. I also find known bugs in Linus's tree to be high priority to be fixed (I stop what I'm doing to get the fix out ASAP). Now, if there was better testing from linux-next, maybe it would be worth the time to push my urgent branch there for a bit. But so far I haven't seen the benefit of doing that. > > > For example, for a given PR, the bot can report: > > > > - Were the patches CCed to a mailing list? > > - A histogram of how long the patches were in next (to show bake times) > > - Are any patches associated with test failures? (0day and many other > > CIs are already running tests against -next; parse those reports) > > > > We could have a real pre-submit checker! :) > > That would be very useful. Items 1 and 2 should be trivial, 3 would > require a bit of work but would still be very useful. If there was more feedback to going into linux-next, that would be good. -- Steve ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-22 8:12 ` Steven Rostedt @ 2024-10-22 9:55 ` Vlastimil Babka 2024-10-22 11:51 ` James Bottomley ` (2 subsequent siblings) 3 siblings, 0 replies; 92+ messages in thread From: Vlastimil Babka @ 2024-10-22 9:55 UTC (permalink / raw) To: Steven Rostedt, Christoph Hellwig Cc: Kees Cook, Sasha Levin, torvalds, ksummit, linux-kernel On 10/22/24 10:12, Steven Rostedt wrote: > On Mon, 21 Oct 2024 23:48:34 -0700 > Christoph Hellwig <hch@infradead.org> wrote: > >> > How about this, instead: no one sends -rc1 PRs to Linus that didn't go >> > through -next. Just have a bot that replies to all PRs with a health >> > check, and Linus can pull it if he thinks it looks good. >> >> Not just -rc1, otherwise agreed. > > You mean have everything go into linux-next before going to Linus after -rc1? > > I'm one that doesn't do this. That's because my code in linux-next > after -rc1 is for the next merge window, and the code I send to Linus > is only fixes for code I sent before -rc1. I tend to keep an "urgent" > and "core" branch. My "core" branch is everything I plan to send in the > next merge window and goes into linux-next (via being pulled into my > for-next branch). After I send my pull request to Linus, and he pulls > it in the merge window, that "core" branch becomes my "urgent" branch. > > But when I find a bug that's in Linus's tree, I put the fix on top of > "urgent", run it through my test suite (takes 8 hours or so), then send > a pull request to Linus. My "urgent" branch doesn't go into linux-next > as it doesn't have changes that should affect others work, which is > what I think linux-next is mostly for. I also find known bugs in > Linus's tree to be high priority to be fixed (I stop what I'm doing to > get the fix out ASAP). > > Now, if there was better testing from linux-next, maybe it would be > worth the time to push my urgent branch there for a bit. But so far I > haven't seen the benefit of doing that. I've seen somewhere mentioned (but can't now find where it was) that -next has a pending-fixes branch [1] that's exactly intended to collect hotfix branches from maintainer trees separately from the true "for next merge window" branches. And that one of the points from the maintainers summit was that this would be made more widely known and expected of maintainers to use. Can anyone confirm? [1] https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/log/?h=pending-fixes >> >> > For example, for a given PR, the bot can report: >> > >> > - Were the patches CCed to a mailing list? >> > - A histogram of how long the patches were in next (to show bake times) >> > - Are any patches associated with test failures? (0day and many other >> > CIs are already running tests against -next; parse those reports) >> > >> > We could have a real pre-submit checker! :) >> >> That would be very useful. Items 1 and 2 should be trivial, 3 would >> require a bit of work but would still be very useful. > > If there was more feedback to going into linux-next, that would be good. > > -- Steve > ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-22 8:12 ` Steven Rostedt 2024-10-22 9:55 ` Vlastimil Babka @ 2024-10-22 11:51 ` James Bottomley 2024-10-22 12:47 ` Mark Brown 2024-10-22 19:33 ` Kees Cook 2024-10-23 5:47 ` Christoph Hellwig 3 siblings, 1 reply; 92+ messages in thread From: James Bottomley @ 2024-10-22 11:51 UTC (permalink / raw) To: Steven Rostedt, Christoph Hellwig Cc: Kees Cook, Sasha Levin, torvalds, ksummit, linux-kernel On Tue, 2024-10-22 at 04:12 -0400, Steven Rostedt wrote: > On Mon, 21 Oct 2024 23:48:34 -0700 > Christoph Hellwig <hch@infradead.org> wrote: > > > > How about this, instead: no one sends -rc1 PRs to Linus that > > > didn't go through -next. Just have a bot that replies to all PRs > > > with a health check, and Linus can pull it if he thinks it looks > > > good. > > > > Not just -rc1, otherwise agreed. > > You mean have everything go into linux-next before going to Linus > after -rc1? I think that's a good goal, yes. Most developers tend to send a fixes pull around once a week (or less) after the merge window, which means it could be soaked in -next. > I'm one that doesn't do this. That's because my code in linux-next > after -rc1 is for the next merge window, and the code I send to Linus > is only fixes for code I sent before -rc1. I tend to keep an "urgent" > and "core" branch. My "core" branch is everything I plan to send in > the next merge window and goes into linux-next (via being pulled into > my for-next branch). After I send my pull request to Linus, and he > pulls it in the merge window, that "core" branch becomes my "urgent" > branch. > > But when I find a bug that's in Linus's tree, I put the fix on top of > "urgent", run it through my test suite (takes 8 hours or so), then > send a pull request to Linus. My "urgent" branch doesn't go into > linux-next as it doesn't have changes that should affect others work, > which is what I think linux-next is mostly for. That's not necessarily a safe assumption. The reason we put scsi-fixes into -next is precisely to pick up if this happens. I admit it happens very rarely because of the compact and local nature of the fixes, but the signal rate isn't zero. > I also find known bugs in Linus's tree to be high priority to be > fixed (I stop what I'm doing to get the fix out ASAP). > > Now, if there was better testing from linux-next, maybe it would be > worth the time to push my urgent branch there for a bit. But so far I > haven't seen the benefit of doing that. It does at least get 0day running over it, although that can also be configured for your branches separately as well. It's also not unwise to have some pause time before fixing and sending ... the fix you first thought of isn't always the best one (or even sometimes an actual fix). Regards, James ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-22 11:51 ` James Bottomley @ 2024-10-22 12:47 ` Mark Brown 0 siblings, 0 replies; 92+ messages in thread From: Mark Brown @ 2024-10-22 12:47 UTC (permalink / raw) To: James Bottomley Cc: Steven Rostedt, Christoph Hellwig, Kees Cook, Sasha Levin, torvalds, ksummit, linux-kernel [-- Attachment #1: Type: text/plain, Size: 2122 bytes --] On Tue, Oct 22, 2024 at 07:51:03AM -0400, James Bottomley wrote: > On Tue, 2024-10-22 at 04:12 -0400, Steven Rostedt wrote: > > Christoph Hellwig <hch@infradead.org> wrote: > > But when I find a bug that's in Linus's tree, I put the fix on top of > > "urgent", run it through my test suite (takes 8 hours or so), then > > send a pull request to Linus. My "urgent" branch doesn't go into > > linux-next as it doesn't have changes that should affect others work, > > which is what I think linux-next is mostly for. > That's not necessarily a safe assumption. The reason we put scsi-fixes > into -next is precisely to pick up if this happens. I admit it happens > very rarely because of the compact and local nature of the fixes, but > the signal rate isn't zero. Yeah, just yesterday there was a cross architecture build break introduced by a fix in the selftests. The whole reason pending-fixes exists is that we had a disruptive problem with fixes that hadn't been given enough coverage at some point, IIRC in the case that immediately inspired it was that there was a dependency on changes that were only in -next that hadn't been noticed which is why we've now got the fixes tested independently of any new development. > > I also find known bugs in Linus's tree to be high priority to be > > fixed (I stop what I'm doing to get the fix out ASAP). > > Now, if there was better testing from linux-next, maybe it would be > > worth the time to push my urgent branch there for a bit. But so far I > > haven't seen the benefit of doing that. > It does at least get 0day running over it, although that can also be > configured for your branches separately as well. It's also not unwise > to have some pause time before fixing and sending ... the fix you first > thought of isn't always the best one (or even sometimes an actual fix). I'm also covering it in my CI and do occasionally find issues there, as does KernelCI. There's probably others I'm less aware of. TBH half the reason I cover it is that it also cuts down the number of bisect steps for -next a little. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-22 8:12 ` Steven Rostedt 2024-10-22 9:55 ` Vlastimil Babka 2024-10-22 11:51 ` James Bottomley @ 2024-10-22 19:33 ` Kees Cook 2024-10-23 2:24 ` Guenter Roeck 2024-10-23 5:47 ` Christoph Hellwig 3 siblings, 1 reply; 92+ messages in thread From: Kees Cook @ 2024-10-22 19:33 UTC (permalink / raw) To: Steven Rostedt Cc: Christoph Hellwig, Sasha Levin, torvalds, ksummit, linux-kernel On Tue, Oct 22, 2024 at 04:12:43AM -0400, Steven Rostedt wrote: > On Mon, 21 Oct 2024 23:48:34 -0700 > Christoph Hellwig <hch@infradead.org> wrote: > > > > How about this, instead: no one sends -rc1 PRs to Linus that didn't go > > > through -next. Just have a bot that replies to all PRs with a health > > > check, and Linus can pull it if he thinks it looks good. > > > > Not just -rc1, otherwise agreed. > > You mean have everything go into linux-next before going to Linus after -rc1? It seems like the most useful signal would be for the initial PR for the merge window. After that it becomes a lot of fixes that didn't get tons of soak time in -next, etc. -- Kees Cook ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-22 19:33 ` Kees Cook @ 2024-10-23 2:24 ` Guenter Roeck 0 siblings, 0 replies; 92+ messages in thread From: Guenter Roeck @ 2024-10-23 2:24 UTC (permalink / raw) To: Kees Cook, Steven Rostedt Cc: Christoph Hellwig, Sasha Levin, torvalds, ksummit, linux-kernel On 10/22/24 12:33, Kees Cook wrote: > On Tue, Oct 22, 2024 at 04:12:43AM -0400, Steven Rostedt wrote: >> On Mon, 21 Oct 2024 23:48:34 -0700 >> Christoph Hellwig <hch@infradead.org> wrote: >> >>>> How about this, instead: no one sends -rc1 PRs to Linus that didn't go >>>> through -next. Just have a bot that replies to all PRs with a health >>>> check, and Linus can pull it if he thinks it looks good. >>> >>> Not just -rc1, otherwise agreed. >> >> You mean have everything go into linux-next before going to Linus after -rc1? > > It seems like the most useful signal would be for the initial PR for the > merge window. After that it becomes a lot of fixes that didn't get tons > of soak time in -next, etc. > FWIW, there is also the pending-fixes sub-branch of linux-next, but from my experience the build and test failures observed in it are pretty much ignored, just like the build and test failures in linux-next itself. Guenter ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-22 8:12 ` Steven Rostedt ` (2 preceding siblings ...) 2024-10-22 19:33 ` Kees Cook @ 2024-10-23 5:47 ` Christoph Hellwig 2024-10-23 8:20 ` Steven Rostedt 3 siblings, 1 reply; 92+ messages in thread From: Christoph Hellwig @ 2024-10-23 5:47 UTC (permalink / raw) To: Steven Rostedt Cc: Christoph Hellwig, Kees Cook, Sasha Levin, torvalds, ksummit, linux-kernel On Tue, Oct 22, 2024 at 04:12:43AM -0400, Steven Rostedt wrote: > You mean have everything go into linux-next before going to Linus after -rc1? > > I'm one that doesn't do this. That's because my code in linux-next > after -rc1 is for the next merge window, and the code I send to Linus > is only fixes for code I sent before -rc1. I tend to keep an "urgent" > and "core" branch. My "core" branch is everything I plan to send in the > next merge window and goes into linux-next (via being pulled into my > for-next branch). After I send my pull request to Linus, and he pulls > it in the merge window, that "core" branch becomes my "urgent" branch. You can easily have two branches in linux-next. Many trees do that. It is also a really nice warning about self-conflicts. ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-23 5:47 ` Christoph Hellwig @ 2024-10-23 8:20 ` Steven Rostedt 2024-10-23 8:36 ` Geert Uytterhoeven ` (2 more replies) 0 siblings, 3 replies; 92+ messages in thread From: Steven Rostedt @ 2024-10-23 8:20 UTC (permalink / raw) To: Christoph Hellwig; +Cc: Kees Cook, Sasha Levin, torvalds, ksummit, linux-kernel On Tue, 22 Oct 2024 22:47:09 -0700 Christoph Hellwig <hch@infradead.org> wrote: > On Tue, Oct 22, 2024 at 04:12:43AM -0400, Steven Rostedt wrote: > > You mean have everything go into linux-next before going to Linus after -rc1? > > > > I'm one that doesn't do this. That's because my code in linux-next > > after -rc1 is for the next merge window, and the code I send to Linus > > is only fixes for code I sent before -rc1. I tend to keep an "urgent" > > and "core" branch. My "core" branch is everything I plan to send in the > > next merge window and goes into linux-next (via being pulled into my > > for-next branch). After I send my pull request to Linus, and he pulls > > it in the merge window, that "core" branch becomes my "urgent" branch. > > You can easily have two branches in linux-next. Many trees do that. > It is also a really nice warning about self-conflicts. I actually do have several branches in linux-next. But they are all topic branches. My urgent branches usually mirror them (by naming convention). My scripts pull my for-next branches together and then I push them up. I did push urgent branches to linux-next some time back, but never found any advantage in doing so, so I stopped doing it. As the code in my urgent branches are just fixing the stuff already in Linus's tree, they seldom ever have any effect on other subsystems. My new work does benefit from being in linux-next. But since I don't find more testing in linux-next for things that are already in Linus's tree, I still don't see how its worth the time to put my urgent work there. To put it this way. The bugs I'm fixing was for code in linux-next where the bugs were never found. They only appeared when they went into Linus's tree. So why put the fixes in linux-next, if it didn't catch the bugs I fixed in the first place? -- Steve ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-23 8:20 ` Steven Rostedt @ 2024-10-23 8:36 ` Geert Uytterhoeven 2024-10-23 9:19 ` Steven Rostedt 2024-10-23 9:32 ` Vlastimil Babka 2024-10-23 11:41 ` James Bottomley 2 siblings, 1 reply; 92+ messages in thread From: Geert Uytterhoeven @ 2024-10-23 8:36 UTC (permalink / raw) To: Steven Rostedt Cc: Christoph Hellwig, Kees Cook, Sasha Levin, torvalds, ksummit, linux-kernel Hi Steven, On Wed, Oct 23, 2024 at 10:20 AM Steven Rostedt <rostedt@goodmis.org> wrote: > On Tue, 22 Oct 2024 22:47:09 -0700 > Christoph Hellwig <hch@infradead.org> wrote: > > On Tue, Oct 22, 2024 at 04:12:43AM -0400, Steven Rostedt wrote: > > > You mean have everything go into linux-next before going to Linus after -rc1? > > > > > > I'm one that doesn't do this. That's because my code in linux-next > > > after -rc1 is for the next merge window, and the code I send to Linus > > > is only fixes for code I sent before -rc1. I tend to keep an "urgent" > > > and "core" branch. My "core" branch is everything I plan to send in the > > > next merge window and goes into linux-next (via being pulled into my > > > for-next branch). After I send my pull request to Linus, and he pulls > > > it in the merge window, that "core" branch becomes my "urgent" branch. > > > > You can easily have two branches in linux-next. Many trees do that. > > It is also a really nice warning about self-conflicts. > > I actually do have several branches in linux-next. But they are all > topic branches. My urgent branches usually mirror them (by naming > convention). My scripts pull my for-next branches together and then I > push them up. > > I did push urgent branches to linux-next some time back, but never > found any advantage in doing so, so I stopped doing it. As the code in > my urgent branches are just fixing the stuff already in Linus's tree, > they seldom ever have any effect on other subsystems. My new work does > benefit from being in linux-next. But since I don't find more testing > in linux-next for things that are already in Linus's tree, I still > don't see how its worth the time to put my urgent work there. > > To put it this way. The bugs I'm fixing was for code in linux-next > where the bugs were never found. They only appeared when they went into > Linus's tree. So why put the fixes in linux-next, if it didn't catch > the bugs I fixed in the first place? Hmmm... Your arguments sound very similar to those being used in recent discussions about not posting patches for public review... Please follow the process! ;-) Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-23 8:36 ` Geert Uytterhoeven @ 2024-10-23 9:19 ` Steven Rostedt 2024-10-23 9:23 ` Geert Uytterhoeven ` (4 more replies) 0 siblings, 5 replies; 92+ messages in thread From: Steven Rostedt @ 2024-10-23 9:19 UTC (permalink / raw) To: Geert Uytterhoeven Cc: Christoph Hellwig, Kees Cook, Sasha Levin, torvalds, ksummit, linux-kernel On Wed, 23 Oct 2024 10:36:20 +0200 Geert Uytterhoeven <geert@linux-m68k.org> wrote: > > To put it this way. The bugs I'm fixing was for code in linux-next > > where the bugs were never found. They only appeared when they went into > > Linus's tree. So why put the fixes in linux-next, if it didn't catch > > the bugs I fixed in the first place? > > Hmmm... > > Your arguments sound very similar to those being used in recent > discussions about not posting patches for public review... > > Please follow the process! ;-) What process? Note, I probably post everything to mailing lists more than anyone else (besides stable). All my commits come from mailing lists. Even things I change myself. I always send out the change to a list. Then I use patchwork to pull it into my tree. After the changes are tested, I send out the patches *again* with my [for-next] tags in the subject. If it's a fix for Linus, it goes out as a "[for-linus]" tag. These emails automatically update my patchwork status. No change goes into Linus's tree from me that hasn't been sent out publicly. But pushing to linux-next for a day or two, what does that give me? -- Steve ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-23 9:19 ` Steven Rostedt @ 2024-10-23 9:23 ` Geert Uytterhoeven 2024-10-23 10:11 ` Dan Carpenter ` (3 subsequent siblings) 4 siblings, 0 replies; 92+ messages in thread From: Geert Uytterhoeven @ 2024-10-23 9:23 UTC (permalink / raw) To: Steven Rostedt Cc: Christoph Hellwig, Kees Cook, Sasha Levin, torvalds, ksummit, linux-kernel Hi Steven, On Wed, Oct 23, 2024 at 11:19 AM Steven Rostedt <rostedt@goodmis.org> wrote: > On Wed, 23 Oct 2024 10:36:20 +0200 > Geert Uytterhoeven <geert@linux-m68k.org> wrote: > > > > To put it this way. The bugs I'm fixing was for code in linux-next > > > where the bugs were never found. They only appeared when they went into > > > Linus's tree. So why put the fixes in linux-next, if it didn't catch > > > the bugs I fixed in the first place? > > > > Hmmm... > > > > Your arguments sound very similar to those being used in recent > > discussions about not posting patches for public review... > > > > Please follow the process! ;-) > > What process? > > Note, I probably post everything to mailing lists more than anyone > else (besides stable). All my commits come from mailing lists. Even > things I change myself. I always send out the change to a list. Then I > use patchwork to pull it into my tree. > > After the changes are tested, I send out the patches *again* with my > [for-next] tags in the subject. If it's a fix for Linus, it goes out as > a "[for-linus]" tag. These emails automatically update my patchwork > status. > > No change goes into Linus's tree from me that hasn't been sent out > publicly. All good! > But pushing to linux-next for a day or two, what does that give me? It may catch issues you missed, e.g. compile failures on obscure architectures or configs, e.g. due to indirect includes. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-23 9:19 ` Steven Rostedt 2024-10-23 9:23 ` Geert Uytterhoeven @ 2024-10-23 10:11 ` Dan Carpenter 2024-10-23 17:51 ` Paul E. McKenney ` (2 subsequent siblings) 4 siblings, 0 replies; 92+ messages in thread From: Dan Carpenter @ 2024-10-23 10:11 UTC (permalink / raw) To: Steven Rostedt Cc: Geert Uytterhoeven, Christoph Hellwig, Kees Cook, Sasha Levin, torvalds, ksummit, linux-kernel On Wed, Oct 23, 2024 at 05:19:14AM -0400, Steven Rostedt wrote: > But pushing to linux-next for a day or two, what does that give me? > Two days probably gives you 80% of the testing that people do on linux-next. I wouldn't run linux-next on real systems but it generally boots and runs LTP okay these days. regards, dan carpenter ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-23 9:19 ` Steven Rostedt 2024-10-23 9:23 ` Geert Uytterhoeven 2024-10-23 10:11 ` Dan Carpenter @ 2024-10-23 17:51 ` Paul E. McKenney 2024-10-24 3:59 ` Michael Ellerman 2024-10-31 19:08 ` Shuah Khan 4 siblings, 0 replies; 92+ messages in thread From: Paul E. McKenney @ 2024-10-23 17:51 UTC (permalink / raw) To: Steven Rostedt Cc: Geert Uytterhoeven, Christoph Hellwig, Kees Cook, Sasha Levin, torvalds, ksummit, linux-kernel On Wed, Oct 23, 2024 at 05:19:14AM -0400, Steven Rostedt wrote: [ . . . ] > But pushing to linux-next for a day or two, what does that give me? If the stars align, I will run some serious rcutorture on it. Not that the stars have been aligning much over the past few weeks because I have been putting most of my testing effort into chasing an RCU bug. And not that rcutorture and friends are likely to find bugs in your part of the Linux kernel. Nevertheless, this is one of my concerns with a separate tree. Right now, my testing priority is (1) RCU, (2) -next, (3) mainline. If we add another tree, either I choose not to test that tree on the one hand or it detracts from my testing -next and/or mainline on the other. Thanx, Paul ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-23 9:19 ` Steven Rostedt ` (2 preceding siblings ...) 2024-10-23 17:51 ` Paul E. McKenney @ 2024-10-24 3:59 ` Michael Ellerman 2024-10-24 5:01 ` Steven Rostedt 2024-10-31 19:08 ` Shuah Khan 4 siblings, 1 reply; 92+ messages in thread From: Michael Ellerman @ 2024-10-24 3:59 UTC (permalink / raw) To: Steven Rostedt, Geert Uytterhoeven Cc: Christoph Hellwig, Kees Cook, Sasha Levin, torvalds, ksummit, linux-kernel Steven Rostedt <rostedt@goodmis.org> writes: > On Wed, 23 Oct 2024 10:36:20 +0200 > Geert Uytterhoeven <geert@linux-m68k.org> wrote: > >> > To put it this way. The bugs I'm fixing was for code in linux-next >> > where the bugs were never found. They only appeared when they went into >> > Linus's tree. So why put the fixes in linux-next, if it didn't catch >> > the bugs I fixed in the first place? >> >> Hmmm... >> >> Your arguments sound very similar to those being used in recent >> discussions about not posting patches for public review... >> >> Please follow the process! ;-) > > What process? > ... > > But pushing to linux-next for a day or two, what does that give me? Several thousand build tests, across pretty much every architecture. And a few hundred boot tests, lots virtualised, but some on real HW. A single character typo in an #ifdef your testing doesn't cover can break the build for lots of people ... cheers ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-24 3:59 ` Michael Ellerman @ 2024-10-24 5:01 ` Steven Rostedt 2024-10-24 5:16 ` Guenter Roeck 0 siblings, 1 reply; 92+ messages in thread From: Steven Rostedt @ 2024-10-24 5:01 UTC (permalink / raw) To: Michael Ellerman Cc: Geert Uytterhoeven, Christoph Hellwig, Kees Cook, Sasha Levin, torvalds, ksummit, linux-kernel On Thu, 24 Oct 2024 14:59:16 +1100 Michael Ellerman <mpe@ellerman.id.au> wrote: > > But pushing to linux-next for a day or two, what does that give me? > > Several thousand build tests, across pretty much every architecture. > > And a few hundred boot tests, lots virtualised, but some on real HW. > > A single character typo in an #ifdef your testing doesn't cover can > break the build for lots of people ... I use to get that from the zero-day bot from intel. Does that not run anymore? I noticed that I don't get notifications anymore. So yeah, my work flow is to push to my "urgent" branch, and wait a day for the zero-day bot. But if that's no longer the case, then maybe I can ask Stephen to take my urgent branches. Now the issue here is that I push to my urgent branches *before* I run my tests. That's because my tests take 8 - 13 hours and I want the zero-day bot to get a head start. When a bug was in my code, both my tests and the zero-day bot would catch it. I would check to see which one found it first. Sometimes it was my tests, sometimes the bot. Now the issue is, if a bug is found. I don't change the branch I pushed up. Thus, if its broken, it will stay broken until I get around to fixing it. Depending on how badly it is broken, it may be several days before its fixed. I would imagine if this branch is now in next, it would break next and burden Stephen to revert my branch until its fixed. Or it will change my workflow to have to either push after it passes my tests or revert what I pushed first. I'm guessing I would have to now push after my tests pass (if zero-day is no longer working). As for the linus-next (linus-pr), this is a case that could work with my workflow. I would happily sign up, and when I do my git pull, have a bot pull my code into this tree (along with all the other pull request for the day) run all these tests, and then Linus can pull after they all passed. -- Steve ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-24 5:01 ` Steven Rostedt @ 2024-10-24 5:16 ` Guenter Roeck 2024-10-24 6:49 ` Steven Rostedt 0 siblings, 1 reply; 92+ messages in thread From: Guenter Roeck @ 2024-10-24 5:16 UTC (permalink / raw) To: Steven Rostedt, Michael Ellerman Cc: Geert Uytterhoeven, Christoph Hellwig, Kees Cook, Sasha Levin, torvalds, ksummit, linux-kernel On 10/23/24 22:01, Steven Rostedt wrote: > On Thu, 24 Oct 2024 14:59:16 +1100 > Michael Ellerman <mpe@ellerman.id.au> wrote: > >>> But pushing to linux-next for a day or two, what does that give me? >> >> Several thousand build tests, across pretty much every architecture. >> >> And a few hundred boot tests, lots virtualised, but some on real HW. >> >> A single character typo in an #ifdef your testing doesn't cover can >> break the build for lots of people ... > > I use to get that from the zero-day bot from intel. Does that not run > anymore? I noticed that I don't get notifications anymore. > I do get notifications, so it is still running. Its configuration is (still) at https://github.com/intel/lkp-tests.git, so you can check yourself if your current repositories and branches are listed (and send a pull request to update it if needed). I see repo/linux/rostedt-kconfig:owner: Steven Rostedt <rostedt@goodmis.org> repo/linux/rostedt-ktest:owner: Steven Rostedt <rostedt@goodmis.org> repo/linux/rostedt-trace:owner: Steven Rostedt <rostedt@goodmis.org> so at least some testing should still happen. I did notice though that "notify_build_success_branch:" is only set in one of the files, so you might not get notified if a build was successful in the other two. Guenter ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-24 5:16 ` Guenter Roeck @ 2024-10-24 6:49 ` Steven Rostedt 2024-10-24 7:01 ` Geert Uytterhoeven ` (2 more replies) 0 siblings, 3 replies; 92+ messages in thread From: Steven Rostedt @ 2024-10-24 6:49 UTC (permalink / raw) To: Guenter Roeck Cc: Michael Ellerman, Geert Uytterhoeven, Christoph Hellwig, Kees Cook, Sasha Levin, torvalds, ksummit, linux-kernel On Wed, 23 Oct 2024 22:16:31 -0700 Guenter Roeck <linux@roeck-us.net> wrote: > > I do get notifications, so it is still running. > Its configuration is (still) at https://github.com/intel/lkp-tests.git, > so you can check yourself if your current repositories and branches are > listed (and send a pull request to update it if needed). I see > > repo/linux/rostedt-kconfig:owner: Steven Rostedt <rostedt@goodmis.org> > repo/linux/rostedt-ktest:owner: Steven Rostedt <rostedt@goodmis.org> > repo/linux/rostedt-trace:owner: Steven Rostedt <rostedt@goodmis.org> > > so at least some testing should still happen. I did notice though > that "notify_build_success_branch:" is only set in one of the files, > so you might not get notified if a build was successful in the other > two. > Thanks for the update! Yeah, I started using topic branches (requested by Linus) and I didn't update the success notifications. That explains why I don't receive them anymore. Now I have to ask. What's the benefit of pushing to linux-next over waiting for the zero-day bot? -- Steve ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-24 6:49 ` Steven Rostedt @ 2024-10-24 7:01 ` Geert Uytterhoeven 2024-10-24 9:21 ` Steven Rostedt 2024-10-24 14:39 ` Guenter Roeck 2024-10-24 17:53 ` Luis Chamberlain 2 siblings, 1 reply; 92+ messages in thread From: Geert Uytterhoeven @ 2024-10-24 7:01 UTC (permalink / raw) To: Steven Rostedt Cc: Guenter Roeck, Michael Ellerman, Christoph Hellwig, Kees Cook, Sasha Levin, torvalds, ksummit, linux-kernel Hi Steven, On Thu, Oct 24, 2024 at 8:49 AM Steven Rostedt <rostedt@goodmis.org> wrote: > On Wed, 23 Oct 2024 22:16:31 -0700 > Guenter Roeck <linux@roeck-us.net> wrote: > > I do get notifications, so it is still running. > > Its configuration is (still) at https://github.com/intel/lkp-tests.git, > > so you can check yourself if your current repositories and branches are > > listed (and send a pull request to update it if needed). I see > > > > repo/linux/rostedt-kconfig:owner: Steven Rostedt <rostedt@goodmis.org> > > repo/linux/rostedt-ktest:owner: Steven Rostedt <rostedt@goodmis.org> > > repo/linux/rostedt-trace:owner: Steven Rostedt <rostedt@goodmis.org> > > > > so at least some testing should still happen. I did notice though > > that "notify_build_success_branch:" is only set in one of the files, > > so you might not get notified if a build was successful in the other > > two. > > Thanks for the update! > > Yeah, I started using topic branches (requested by Linus) and I didn't > update the success notifications. That explains why I don't receive > them anymore. > > Now I have to ask. What's the benefit of pushing to linux-next over > waiting for the zero-day bot? On Thu, Oct 24, 2024 at 5:59 AM Michael Ellerman <mpe@ellerman.id.au> wrote: > Several thousand build tests, across pretty much every architecture. > > And a few hundred boot tests, lots virtualised, but some on real HW. > > A single character typo in an #ifdef your testing doesn't cover can > break the build for lots of people ... Or a missing "static" for a dummy function. Or a plain 64-bit division. Or ... Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-24 7:01 ` Geert Uytterhoeven @ 2024-10-24 9:21 ` Steven Rostedt 2024-10-24 9:24 ` Christoph Hellwig 0 siblings, 1 reply; 92+ messages in thread From: Steven Rostedt @ 2024-10-24 9:21 UTC (permalink / raw) To: Geert Uytterhoeven Cc: Guenter Roeck, Michael Ellerman, Christoph Hellwig, Kees Cook, Sasha Levin, torvalds, ksummit, linux-kernel On Thu, 24 Oct 2024 09:01:15 +0200 Geert Uytterhoeven <geert@linux-m68k.org> wrote: > On Thu, Oct 24, 2024 at 5:59 AM Michael Ellerman <mpe@ellerman.id.au> wrote: > > Several thousand build tests, across pretty much every architecture. > > > > And a few hundred boot tests, lots virtualised, but some on real HW. > > > > A single character typo in an #ifdef your testing doesn't cover can > > break the build for lots of people ... > > Or a missing "static" for a dummy function. > Or a plain 64-bit division. > Or ... Note, my fixes code seldom adds dummy functions. I like to try to keep them as small as possible. That's not always the case, so maybe I could push it. But it will change my workflow quite a bit or burden Stephen with broken branches. I'm still not convinced it's worth it. We are not talking about new development code. We are talking about bug fixes for code that is in Linus's tree. The zero day bot and my tests appear to find most issues. Bugs that happened on my fixes patches are usually other use cases. For instance, cpu hotplug while tracing from rtla. That's not coverage I get from linux-next. -- Steve ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-24 9:21 ` Steven Rostedt @ 2024-10-24 9:24 ` Christoph Hellwig 2024-10-24 9:49 ` Steven Rostedt 0 siblings, 1 reply; 92+ messages in thread From: Christoph Hellwig @ 2024-10-24 9:24 UTC (permalink / raw) To: Steven Rostedt Cc: Geert Uytterhoeven, Guenter Roeck, Michael Ellerman, Christoph Hellwig, Kees Cook, Sasha Levin, torvalds, ksummit, linux-kernel On Thu, Oct 24, 2024 at 05:21:39AM -0400, Steven Rostedt wrote: > them as small as possible. That's not always the case, so maybe I could > push it. But it will change my workflow quite a bit or burden Stephen > with broken branches. > > I'm still not convinced it's worth it. > > We are not talking about new development code. We are talking about bug > fixes for code that is in Linus's tree. The zero day bot and my tests > appear to find most issues. Bugs that happened on my fixes patches are > usually other use cases. For instance, cpu hotplug while tracing from > rtla. That's not coverage I get from linux-next. Seriously, just add your damn fixes tree to linux-next. If your fixes are as perfect as you claim that one time setup is all you need to do, and you have less work than you spent arguing on this thread already. If it catches bugs eventually you will need to do more work, but save others from deadling with your regression. There is no downside for you. ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-24 9:24 ` Christoph Hellwig @ 2024-10-24 9:49 ` Steven Rostedt 2024-10-24 11:08 ` Mark Brown 2024-10-25 21:04 ` Jiri Kosina 0 siblings, 2 replies; 92+ messages in thread From: Steven Rostedt @ 2024-10-24 9:49 UTC (permalink / raw) To: Christoph Hellwig Cc: Geert Uytterhoeven, Guenter Roeck, Michael Ellerman, Kees Cook, Sasha Levin, torvalds, ksummit, linux-kernel On Thu, 24 Oct 2024 02:24:53 -0700 Christoph Hellwig <hch@infradead.org> wrote: > On Thu, Oct 24, 2024 at 05:21:39AM -0400, Steven Rostedt wrote: > > them as small as possible. That's not always the case, so maybe I could > > push it. But it will change my workflow quite a bit or burden Stephen > > with broken branches. > > > > I'm still not convinced it's worth it. > > > > We are not talking about new development code. We are talking about bug > > fixes for code that is in Linus's tree. The zero day bot and my tests > > appear to find most issues. Bugs that happened on my fixes patches are > > usually other use cases. For instance, cpu hotplug while tracing from > > rtla. That's not coverage I get from linux-next. > > Seriously, just add your damn fixes tree to linux-next. If your fixes > are as perfect as you claim that one time setup is all you need to do, > and you have less work than you spent arguing on this thread already. > > If it catches bugs eventually you will need to do more work, but save > others from deadling with your regression. There is no downside for > you. So basically, all I need to do to satisfy your request is to add fixes branch that I push to that is pushed after it passes my tests (and not the urgent branch that is still being tested and may have bugs) and then have that be added to linux-next? Now I have been batching changes and not send a pull request right after my tests pass. I've been sending a pull request at most now once a week. So I could have this branch hold the code that's already been tested. -- Steve ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-24 9:49 ` Steven Rostedt @ 2024-10-24 11:08 ` Mark Brown 2024-10-24 11:14 ` Christoph Hellwig 2024-10-25 21:04 ` Jiri Kosina 1 sibling, 1 reply; 92+ messages in thread From: Mark Brown @ 2024-10-24 11:08 UTC (permalink / raw) To: Steven Rostedt Cc: Christoph Hellwig, Geert Uytterhoeven, Guenter Roeck, Michael Ellerman, Kees Cook, Sasha Levin, torvalds, ksummit, linux-kernel [-- Attachment #1: Type: text/plain, Size: 683 bytes --] On Thu, Oct 24, 2024 at 05:49:09AM -0400, Steven Rostedt wrote: > So basically, all I need to do to satisfy your request is to add fixes > branch that I push to that is pushed after it passes my tests (and not > the urgent branch that is still being tested and may have bugs) and > then have that be added to linux-next? > Now I have been batching changes and not send a pull request right > after my tests pass. I've been sending a pull request at most now once > a week. So I could have this branch hold the code that's already been > tested. Yes, that's what pretty much everyone is doing here. Generally we find very few issues this way but it's certainly a non-zero number. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-24 11:08 ` Mark Brown @ 2024-10-24 11:14 ` Christoph Hellwig 0 siblings, 0 replies; 92+ messages in thread From: Christoph Hellwig @ 2024-10-24 11:14 UTC (permalink / raw) To: Mark Brown Cc: Steven Rostedt, Christoph Hellwig, Geert Uytterhoeven, Guenter Roeck, Michael Ellerman, Kees Cook, Sasha Levin, torvalds, ksummit, linux-kernel On Thu, Oct 24, 2024 at 12:08:28PM +0100, Mark Brown wrote: > On Thu, Oct 24, 2024 at 05:49:09AM -0400, Steven Rostedt wrote: > > > So basically, all I need to do to satisfy your request is to add fixes > > branch that I push to that is pushed after it passes my tests (and not > > the urgent branch that is still being tested and may have bugs) and > > then have that be added to linux-next? > > > Now I have been batching changes and not send a pull request right > > after my tests pass. I've been sending a pull request at most now once > > a week. So I could have this branch hold the code that's already been > > tested. > > Yes, that's what pretty much everyone is doing here. Generally we find > very few issues this way but it's certainly a non-zero number. *nod* ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-24 9:49 ` Steven Rostedt 2024-10-24 11:08 ` Mark Brown @ 2024-10-25 21:04 ` Jiri Kosina 1 sibling, 0 replies; 92+ messages in thread From: Jiri Kosina @ 2024-10-25 21:04 UTC (permalink / raw) To: Steven Rostedt Cc: Christoph Hellwig, Geert Uytterhoeven, Guenter Roeck, Michael Ellerman, Kees Cook, Sasha Levin, torvalds, ksummit, linux-kernel On Thu, 24 Oct 2024, Steven Rostedt wrote: > So basically, all I need to do to satisfy your request is to add fixes > branch that I push to that is pushed after it passes my tests (and not > the urgent branch that is still being tested and may have bugs) and > then have that be added to linux-next? That is one option. Alternatively do what I have been doing since ever: I have a couple of 'for-N+1/topic' branches, and then I have one 'for-N/fixes' branch. All of them get automerged into 'for-next' branch which Stephen is pulling. Works like a charm. -- Jiri Kosina SUSE Labs ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-24 6:49 ` Steven Rostedt 2024-10-24 7:01 ` Geert Uytterhoeven @ 2024-10-24 14:39 ` Guenter Roeck 2024-10-25 1:11 ` Steven Rostedt 2024-10-24 17:53 ` Luis Chamberlain 2 siblings, 1 reply; 92+ messages in thread From: Guenter Roeck @ 2024-10-24 14:39 UTC (permalink / raw) To: Steven Rostedt Cc: Michael Ellerman, Geert Uytterhoeven, Christoph Hellwig, Kees Cook, Sasha Levin, torvalds, ksummit, linux-kernel On 10/23/24 23:49, Steven Rostedt wrote: > On Wed, 23 Oct 2024 22:16:31 -0700 > Guenter Roeck <linux@roeck-us.net> wrote: >> >> I do get notifications, so it is still running. >> Its configuration is (still) at https://github.com/intel/lkp-tests.git, >> so you can check yourself if your current repositories and branches are >> listed (and send a pull request to update it if needed). I see >> >> repo/linux/rostedt-kconfig:owner: Steven Rostedt <rostedt@goodmis.org> >> repo/linux/rostedt-ktest:owner: Steven Rostedt <rostedt@goodmis.org> >> repo/linux/rostedt-trace:owner: Steven Rostedt <rostedt@goodmis.org> >> >> so at least some testing should still happen. I did notice though >> that "notify_build_success_branch:" is only set in one of the files, >> so you might not get notified if a build was successful in the other >> two. >> > > Thanks for the update! > > Yeah, I started using topic branches (requested by Linus) and I didn't > update the success notifications. That explains why I don't receive > them anymore. > > Now I have to ask. What's the benefit of pushing to linux-next over > waiting for the zero-day bot? > I push my changes into the same branches that are checked by 0-day and pulled into linux-next. linux-next shows interference with other branches. Once in a while I do get a notification telling me that one or more of the patches interfere with other patches, so I know that something happened, and I can prepare for that for the next commit window. Testing-wise, I do run build and boot tests on linux-next (the same tests as those running on release candidates), so I do know what is wrong there and (which did happen a couple of times) if a patch in one of my trees is responsible. Yes, that means that in many cases I do know ahead of time which problems are going to pop up in the mainline kernel. But I don't have the time tracking those down when seen in linux-next - there are just too many and, as already mentioned, that would be a full-time job on its own. Also, it happens a lot that they have been reported but the report was ignored or missed. On top of that I found that _if_ I am reporting them, the receiving side is at least sometimes either not responsive to almost abusive, so for the most part I gave up on it (and frankly I found that people tend to be _much_ more responsive if one Linus Torvalds is listed in Cc:). Note that I do collect known fixes in my 'fixes' and 'testing' branches, primarily to have something clean available to keep testing. Linus even pulled my fixes branch once directly because the responsible maintainers didn't send pull requests to him for weeks. Guenter ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-24 14:39 ` Guenter Roeck @ 2024-10-25 1:11 ` Steven Rostedt 2024-10-25 3:52 ` Guenter Roeck ` (2 more replies) 0 siblings, 3 replies; 92+ messages in thread From: Steven Rostedt @ 2024-10-25 1:11 UTC (permalink / raw) To: Guenter Roeck Cc: Michael Ellerman, Geert Uytterhoeven, Christoph Hellwig, Kees Cook, Sasha Levin, torvalds, ksummit, linux-kernel On Thu, 24 Oct 2024 07:39:00 -0700 Guenter Roeck <linux@roeck-us.net> wrote: > > > > Now I have to ask. What's the benefit of pushing to linux-next over > > waiting for the zero-day bot? > > > > I push my changes into the same branches that are checked by 0-day > and pulled into linux-next. linux-next shows interference with other > branches. Once in a while I do get a notification telling me that > one or more of the patches interfere with other patches, so I know that > something happened, and I can prepare for that for the next commit window. Remember, this is about pushing to linux-next before sending fixes after -rc1. Not for things that are going to land in the next merge window. My fixes seldom ever interfere with others work as it's usually much more focused on code that is already in Linus's tree. Like adding a missing mutex_unlock() from an error path. How is it helpful to push something like that to linux-next? > > Testing-wise, I do run build and boot tests on linux-next (the same tests > as those running on release candidates), so I do know what is wrong there > and (which did happen a couple of times) if a patch in one of my trees > is responsible. > > Yes, that means that in many cases I do know ahead of time which problems > are going to pop up in the mainline kernel. But I don't have the time > tracking those down when seen in linux-next - there are just too many > and, as already mentioned, that would be a full-time job on its own. > Also, it happens a lot that they have been reported but the report was > ignored or missed. On top of that I found that _if_ I am reporting them, > the receiving side is at least sometimes either not responsive to almost > abusive, so for the most part I gave up on it (and frankly I found that > people tend to be _much_ more responsive if one Linus Torvalds is listed > in Cc:). > > Note that I do collect known fixes in my 'fixes' and 'testing' branches, > primarily to have something clean available to keep testing. Linus even > pulled my fixes branch once directly because the responsible maintainers > didn't send pull requests to him for weeks. Or are you saying that it's helpful to "fix" linux-next before fixing Linus's tree? That way others will have the fixes too? -- Steve ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-25 1:11 ` Steven Rostedt @ 2024-10-25 3:52 ` Guenter Roeck 2024-10-25 11:18 ` Mark Brown 2024-10-25 17:23 ` Paul E. McKenney 2 siblings, 0 replies; 92+ messages in thread From: Guenter Roeck @ 2024-10-25 3:52 UTC (permalink / raw) To: Steven Rostedt Cc: Michael Ellerman, Geert Uytterhoeven, Christoph Hellwig, Kees Cook, Sasha Levin, torvalds, ksummit, linux-kernel On 10/24/24 18:11, Steven Rostedt wrote: > On Thu, 24 Oct 2024 07:39:00 -0700 > Guenter Roeck <linux@roeck-us.net> wrote: > >>> >>> Now I have to ask. What's the benefit of pushing to linux-next over >>> waiting for the zero-day bot? >>> >> >> I push my changes into the same branches that are checked by 0-day >> and pulled into linux-next. linux-next shows interference with other >> branches. Once in a while I do get a notification telling me that >> one or more of the patches interfere with other patches, so I know that >> something happened, and I can prepare for that for the next commit window. > > Remember, this is about pushing to linux-next before sending fixes > after -rc1. Not for things that are going to land in the next merge > window. My fixes seldom ever interfere with others work as it's usually > much more focused on code that is already in Linus's tree. Like adding > a missing mutex_unlock() from an error path. How is it helpful to push > something like that to linux-next? > I still try to have my patches rest in -next for a few days before sending a pull request to Linus. At the very least this gives others a chance to pick up those patches if they encounter a problem fixed by them. Also, sometimes bug fixes do introduce new problems, so, yes, I think it is very useful to have as many eyes (or test systems) as possible look at them before sending a pull request. >> >> Testing-wise, I do run build and boot tests on linux-next (the same tests >> as those running on release candidates), so I do know what is wrong there >> and (which did happen a couple of times) if a patch in one of my trees >> is responsible. >> >> Yes, that means that in many cases I do know ahead of time which problems >> are going to pop up in the mainline kernel. But I don't have the time >> tracking those down when seen in linux-next - there are just too many >> and, as already mentioned, that would be a full-time job on its own. >> Also, it happens a lot that they have been reported but the report was >> ignored or missed. On top of that I found that _if_ I am reporting them, >> the receiving side is at least sometimes either not responsive to almost >> abusive, so for the most part I gave up on it (and frankly I found that >> people tend to be _much_ more responsive if one Linus Torvalds is listed >> in Cc:). >> >> Note that I do collect known fixes in my 'fixes' and 'testing' branches, >> primarily to have something clean available to keep testing. Linus even >> pulled my fixes branch once directly because the responsible maintainers >> didn't send pull requests to him for weeks. > > Or are you saying that it's helpful to "fix" linux-next before fixing > Linus's tree? That way others will have the fixes too? > My fixes and testing branches apply on top of mainline. All patches in the fixes branch have been sent to maintainers, and they _should_ be (and for the most part are) available in linux-next. If they are not, the maintainers did not respond to the patch e-mails or push them out to any branch that is used to generate -next. The only exception is if I needed to revert some patch to work around a problem, but even then I make sure that the responsible maintainer knows about the problem (if they read their email). Guenter ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-25 1:11 ` Steven Rostedt 2024-10-25 3:52 ` Guenter Roeck @ 2024-10-25 11:18 ` Mark Brown 2024-10-25 17:23 ` Paul E. McKenney 2 siblings, 0 replies; 92+ messages in thread From: Mark Brown @ 2024-10-25 11:18 UTC (permalink / raw) To: Steven Rostedt Cc: Guenter Roeck, Michael Ellerman, Geert Uytterhoeven, Christoph Hellwig, Kees Cook, Sasha Levin, torvalds, ksummit, linux-kernel [-- Attachment #1: Type: text/plain, Size: 1131 bytes --] On Thu, Oct 24, 2024 at 09:11:49PM -0400, Steven Rostedt wrote: > much more focused on code that is already in Linus's tree. Like adding > a missing mutex_unlock() from an error path. How is it helpful to push > something like that to linux-next? How is it helpful to not push things to -next? Pushing your unsent fixes to a branch that Stephen can pick up costs you approximately nothing so there's no meaningful downside but perhaps one of these days some test system will find some issue and it's setting a good example for those who don't (or can't) have the same detailed testing you have. > > Note that I do collect known fixes in my 'fixes' and 'testing' branches, > > primarily to have something clean available to keep testing. Linus even > > pulled my fixes branch once directly because the responsible maintainers > > didn't send pull requests to him for weeks. > Or are you saying that it's helpful to "fix" linux-next before fixing > Linus's tree? That way others will have the fixes too? That's also true, it gets the fixes into the hands of people doing -next testing faster which is hopefully useful to them. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-25 1:11 ` Steven Rostedt 2024-10-25 3:52 ` Guenter Roeck 2024-10-25 11:18 ` Mark Brown @ 2024-10-25 17:23 ` Paul E. McKenney 2 siblings, 0 replies; 92+ messages in thread From: Paul E. McKenney @ 2024-10-25 17:23 UTC (permalink / raw) To: Steven Rostedt Cc: Guenter Roeck, Michael Ellerman, Geert Uytterhoeven, Christoph Hellwig, Kees Cook, Sasha Levin, torvalds, ksummit, linux-kernel On Thu, Oct 24, 2024 at 09:11:49PM -0400, Steven Rostedt wrote: > On Thu, 24 Oct 2024 07:39:00 -0700 > Guenter Roeck <linux@roeck-us.net> wrote: [ . . . ] > > Note that I do collect known fixes in my 'fixes' and 'testing' branches, > > primarily to have something clean available to keep testing. Linus even > > pulled my fixes branch once directly because the responsible maintainers > > didn't send pull requests to him for weeks. > > Or are you saying that it's helpful to "fix" linux-next before fixing > Linus's tree? That way others will have the fixes too? It is a risk-management issue, and so the answer will vary depending on the situation. For one extreme, if the fix is a regression, but the bug is an odd corner case that is unlikely to be triggered, then it is very helpful to run it through 0day and -next before sending the pull request to Linus. This is because the delay won't inconvenient many people, if any, and 0day and -next can help catch any bugs introduced by the fix. At the other extreme, if the fix is for a regression that (say) bricks 50% of the systems out there, clearly speed is of the essence. And let's face it, in this case, Linus might well just apply your initial patch. Which would expose it to both 0day and -next. But!!! In this case, I sure would hope that there would then be some serious follow up to fix the bug in the validation, which clearly failed to catch a very ugly bug. Thanx, Paul ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-24 6:49 ` Steven Rostedt 2024-10-24 7:01 ` Geert Uytterhoeven 2024-10-24 14:39 ` Guenter Roeck @ 2024-10-24 17:53 ` Luis Chamberlain 2024-10-25 1:17 ` Steven Rostedt 2 siblings, 1 reply; 92+ messages in thread From: Luis Chamberlain @ 2024-10-24 17:53 UTC (permalink / raw) To: Steven Rostedt Cc: Guenter Roeck, Michael Ellerman, Geert Uytterhoeven, Christoph Hellwig, Kees Cook, Sasha Levin, torvalds, ksummit, linux-kernel On Thu, Oct 24, 2024 at 02:49:28AM -0400, Steven Rostedt wrote: > Now I have to ask. What's the benefit of pushing to linux-next over > waiting for the zero-day bot? 0-day only does build tests by default, there are many places which have actual run time tests which *run* off of linux-next, those are both bots and human. Granted you can get your own run time tests out of your own branches but that's on each developer to set up and a developer's test exposure of just one branch is small compared to linux-next. For example I've seen obscure bugs creep up on linux-next for modules which only some odd arch or setup was able to capture before which no test we had during development was able to capture. So more exposure to system variability and test variability. The other benefit is you get to see *way ahead of time* possible merge conflicts, and if you can coordinate with the respective maintainers which your code conflicts with, you can prepare so that this is smooth sailing upon pull request to Linus. Luis ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-24 17:53 ` Luis Chamberlain @ 2024-10-25 1:17 ` Steven Rostedt 2024-10-25 2:07 ` Luis Chamberlain 0 siblings, 1 reply; 92+ messages in thread From: Steven Rostedt @ 2024-10-25 1:17 UTC (permalink / raw) To: Luis Chamberlain Cc: Guenter Roeck, Michael Ellerman, Geert Uytterhoeven, Christoph Hellwig, Kees Cook, Sasha Levin, torvalds, ksummit, linux-kernel On Thu, 24 Oct 2024 10:53:19 -0700 Luis Chamberlain <mcgrof@kernel.org> wrote: > On Thu, Oct 24, 2024 at 02:49:28AM -0400, Steven Rostedt wrote: > > Now I have to ask. What's the benefit of pushing to linux-next over > > waiting for the zero-day bot? > > 0-day only does build tests by default, there are many places which have > actual run time tests which *run* off of linux-next, those are both bots > and human. Granted you can get your own run time tests out of your own > branches but that's on each developer to set up and a developer's test > exposure of just one branch is small compared to linux-next. For example > I've seen obscure bugs creep up on linux-next for modules which only some > odd arch or setup was able to capture before which no test we had during > development was able to capture. So more exposure to system variability > and test variability. I have a test suite that takes 8 to 13 hours to run (depending on how many commits I'm testing) that I run before sending to Linus or linux-next. > > The other benefit is you get to see *way ahead of time* possible merge > conflicts, and if you can coordinate with the respective maintainers > which your code conflicts with, you can prepare so that this is smooth > sailing upon pull request to Linus. > Remember, this is talking about fixes after -rc1 not for things heading to the merge window. I find linux-next extremely useful for that work. But for fixes, what benefit is it to push to linux-next before sending to Linus a fix that adds a missing mutex_unlock() in the error path? -- Steve ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-25 1:17 ` Steven Rostedt @ 2024-10-25 2:07 ` Luis Chamberlain 0 siblings, 0 replies; 92+ messages in thread From: Luis Chamberlain @ 2024-10-25 2:07 UTC (permalink / raw) To: Steven Rostedt Cc: Guenter Roeck, Michael Ellerman, Geert Uytterhoeven, Christoph Hellwig, Kees Cook, Sasha Levin, torvalds, ksummit, linux-kernel On Thu, Oct 24, 2024 at 09:17:28PM -0400, Steven Rostedt wrote: > Remember, this is talking about fixes after -rc1 not for things heading > to the merge window. I find linux-next extremely useful for that work. > But for fixes, what benefit is it to push to linux-next before sending > to Linus a fix that adds a missing mutex_unlock() in the error path? Yeah, sorry I did not get that context, in that case think the value is more immediate than a round trip through 0-day given linus tree has more immediacy for testing and value for fixes. Luis ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-23 9:19 ` Steven Rostedt ` (3 preceding siblings ...) 2024-10-24 3:59 ` Michael Ellerman @ 2024-10-31 19:08 ` Shuah Khan 2024-10-31 19:19 ` Steven Rostedt 4 siblings, 1 reply; 92+ messages in thread From: Shuah Khan @ 2024-10-31 19:08 UTC (permalink / raw) To: Steven Rostedt, Geert Uytterhoeven Cc: Christoph Hellwig, Kees Cook, Sasha Levin, torvalds, ksummit, linux-kernel, Shuah Khan On 10/23/24 03:19, Steven Rostedt wrote: > On Wed, 23 Oct 2024 10:36:20 +0200 > Geert Uytterhoeven <geert@linux-m68k.org> wrote: > >>> To put it this way. The bugs I'm fixing was for code in linux-next >>> where the bugs were never found. They only appeared when they went into >>> Linus's tree. So why put the fixes in linux-next, if it didn't catch >>> the bugs I fixed in the first place? >> >> Hmmm... >> >> Your arguments sound very similar to those being used in recent >> discussions about not posting patches for public review... >> >> Please follow the process! ;-) > > What process? > > Note, I probably post everything to mailing lists more than anyone > else (besides stable). All my commits come from mailing lists. Even > things I change myself. I always send out the change to a list. Then I > use patchwork to pull it into my tree. > > After the changes are tested, I send out the patches *again* with my > [for-next] tags in the subject. If it's a fix for Linus, it goes out as > a "[for-linus]" tag. These emails automatically update my patchwork > status. > > No change goes into Linus's tree from me that hasn't been sent out > publicly. > > But pushing to linux-next for a day or two, what does that give me? > I don't send pull requests without soaking it in next for 2 to 3 days. It helps me find problems related to things something breaking on an architecture and/or config. I find next very helpful in finding merge conflicts and build/test breakages. thanks, -- Shuah ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-31 19:08 ` Shuah Khan @ 2024-10-31 19:19 ` Steven Rostedt 0 siblings, 0 replies; 92+ messages in thread From: Steven Rostedt @ 2024-10-31 19:19 UTC (permalink / raw) To: Shuah Khan Cc: Geert Uytterhoeven, Christoph Hellwig, Kees Cook, Sasha Levin, torvalds, ksummit, linux-kernel On Thu, 31 Oct 2024 13:08:12 -0600 Shuah Khan <skhan@linuxfoundation.org> wrote: > > But pushing to linux-next for a day or two, what does that give me? > > > > I don't send pull requests without soaking it in next for 2 to 3 days. > It helps me find problems related to things something breaking on an > architecture and/or config. > > I find next very helpful in finding merge conflicts and build/test > breakages. I have a 13 hour test suite that I run before pushing anything. And since it's going into the rc release, any merge conflict that happens in next is likely something that isn't even applicable for Linus's tree. Sure, it will need to be addressed in the next merge window, but that would have been found after getting in Linus's tree anyway, because really a fix to Linus's tree should have no merge conflicts. -- Steve ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-23 8:20 ` Steven Rostedt 2024-10-23 8:36 ` Geert Uytterhoeven @ 2024-10-23 9:32 ` Vlastimil Babka 2024-10-23 10:18 ` Thorsten Leemhuis 2024-10-23 11:41 ` James Bottomley 2 siblings, 1 reply; 92+ messages in thread From: Vlastimil Babka @ 2024-10-23 9:32 UTC (permalink / raw) To: Steven Rostedt, Christoph Hellwig Cc: Kees Cook, Sasha Levin, torvalds, ksummit, linux-kernel On 10/23/24 10:20, Steven Rostedt wrote: > To put it this way. The bugs I'm fixing was for code in linux-next > where the bugs were never found. They only appeared when they went into > Linus's tree. So why put the fixes in linux-next, if it didn't catch > the bugs I fixed in the first place? The fix might be in a different part of the code, one that's stressed by -next testing even if the code with the original bug wasn't. So I don't think you can always assume that -next not catching the original bug means it can't catch a bug in the fix? ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-23 9:32 ` Vlastimil Babka @ 2024-10-23 10:18 ` Thorsten Leemhuis 0 siblings, 0 replies; 92+ messages in thread From: Thorsten Leemhuis @ 2024-10-23 10:18 UTC (permalink / raw) To: Vlastimil Babka, Steven Rostedt, Christoph Hellwig Cc: Kees Cook, Sasha Levin, torvalds, ksummit, linux-kernel On 23.10.24 11:32, Vlastimil Babka wrote: > On 10/23/24 10:20, Steven Rostedt wrote: >> To put it this way. The bugs I'm fixing was for code in linux-next >> where the bugs were never found. They only appeared when they went into >> Linus's tree. So why put the fixes in linux-next, if it didn't catch >> the bugs I fixed in the first place? > > The fix might be in a different part of the code, one that's stressed by > -next testing even if the code with the original bug wasn't. So I don't > think you can always assume that -next not catching the original bug means > it can't catch a bug in the fix? +1 to this and the "compile failures on obscure architectures or configs" from Geert. A -fixes branch in -next also makes a few things easier for regression tracking: * I only have to check *one* place instead of one or two hundred to see if a regression fix is heading towards mainline or stuck somewhere. * I can see if people accidentally queued regression fix for the current or the next cycle when it should be the former (some subsystems make this hard or impossible). Ciao, Thorsten ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-23 8:20 ` Steven Rostedt 2024-10-23 8:36 ` Geert Uytterhoeven 2024-10-23 9:32 ` Vlastimil Babka @ 2024-10-23 11:41 ` James Bottomley 2 siblings, 0 replies; 92+ messages in thread From: James Bottomley @ 2024-10-23 11:41 UTC (permalink / raw) To: Steven Rostedt, Christoph Hellwig Cc: Kees Cook, Sasha Levin, torvalds, ksummit, linux-kernel On Wed, 2024-10-23 at 04:20 -0400, Steven Rostedt wrote: [...] > I did push urgent branches to linux-next some time back, but never > found any advantage in doing so, so I stopped doing it. As the code > in my urgent branches are just fixing the stuff already in Linus's > tree, they seldom ever have any effect on other subsystems. My new > work does benefit from being in linux-next. But since I don't find > more testing in linux-next for things that are already in Linus's > tree, I still don't see how its worth the time to put my urgent work > there. What do you mean "push" to linux-next? You just give Stephen a list of branches and he pulls. I do have a single for-next tag that he pulls so I merge both fixes and collecting merge window stuff into that, but I do this so I can see immediately if we have an internal conflict, which is the most common problem. If you don't want any work at all, just name your fixes branch and tell Stephen and then he'll tell you if there's a problem. In this model you don't have to do *anything*. Regards, James ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-22 6:48 ` Christoph Hellwig 2024-10-22 8:12 ` Steven Rostedt @ 2024-10-22 9:37 ` Sasha Levin 2024-10-23 5:50 ` Christoph Hellwig 2024-10-22 10:52 ` Sasha Levin 2024-10-28 22:46 ` Sasha Levin 3 siblings, 1 reply; 92+ messages in thread From: Sasha Levin @ 2024-10-22 9:37 UTC (permalink / raw) To: Christoph Hellwig; +Cc: Kees Cook, torvalds, ksummit, linux-kernel On Mon, Oct 21, 2024 at 11:48:34PM -0700, Christoph Hellwig wrote: >On Mon, Oct 21, 2024 at 09:54:53PM -0700, Kees Cook wrote: >> > 1. Composed of pull requests sent directly to Linus >> > >> > 2. Contains branches destined for imminent inclusion by Linus >> >> But this means hours or a day or 2 at most. > >Yeah. During the -rc cycles, sure. However, folks have been consistently sending content for the next release early - usually a week or two before the merge window even opens. For that matter, we've already seen pull requests destined for 6.13 getting pulled into linus-next. >> >> > 3. Higher code quality expectation (these are pull requests that >> > maintainers expect Linus to pull) >> >> Are people putting things in linux-next that they don't expect to send to Linus? That seems like the greater problem. > >They shouldn't. If they do we do indeed have a problem. Not in the sense that it's not expected to be sent to Linus, but more in the sense that folks are shoving things in -next before they passed all the "local" tests a maintainer can run. We end up with content that is destined to Linus, but is immature. >> > 4. Continuous tree (not daily tags like in linux-next), >> > facilitating easier bisection >> >> I'm not sure how useful that is given the very small time window to find bugs. > >Same. > >> >The linus-next tree aims to provide a more stable and testable >> >integration point compared to linux-next, >> >> Why not just use linux-next? I don't understand how this is any >> different except that it provides very little time to do testing and >> will need manual conflict resolutions that have already been done in >> linux-next. > >Exactly! We had multiple issues just this release cycle that would have been caught by this tree and not by linux-next. >> How about this, instead: no one sends -rc1 PRs to Linus that didn't go >> through -next. Just have a bot that replies to all PRs with a health >> check, and Linus can pull it if he thinks it looks good. > >Not just -rc1, otherwise agreed. > >> For example, for a given PR, the bot can report: >> >> - Were the patches CCed to a mailing list? >> - A histogram of how long the patches were in next (to show bake times) >> - Are any patches associated with test failures? (0day and many other >> CIs are already running tests against -next; parse those reports) >> >> We could have a real pre-submit checker! :) > >That would be very useful. Items 1 and 2 should be trivial, 3 would >require a bit of work but would still be very useful. We could add a report for the above, but: 1. Linus consistently pulls patches that haven't seen the light of day. 2. Linus explicitly objected to making a linux-next a must have. So unless these results would be actually used, what's the point in writing all of that? -- Thanks, Sasha ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-22 9:37 ` Sasha Levin @ 2024-10-23 5:50 ` Christoph Hellwig 2024-10-23 17:47 ` Paul E. McKenney 0 siblings, 1 reply; 92+ messages in thread From: Christoph Hellwig @ 2024-10-23 5:50 UTC (permalink / raw) To: Sasha Levin; +Cc: Christoph Hellwig, Kees Cook, torvalds, ksummit, linux-kernel On Tue, Oct 22, 2024 at 05:37:38AM -0400, Sasha Levin wrote: > We could add a report for the above, but: > > 1. Linus consistently pulls patches that haven't seen the light of day. > 2. Linus explicitly objected to making a linux-next a must have. > > So unless these results would be actually used, what's the point in > writing all of that? Yes, without Linus caring we're not going to get our process worked out. Not sure how a tree that probably won't have much better latency than linux-next is going to fix that, though. ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-23 5:50 ` Christoph Hellwig @ 2024-10-23 17:47 ` Paul E. McKenney 2024-10-23 18:05 ` Guenter Roeck 2024-10-23 18:06 ` Linus Torvalds 0 siblings, 2 replies; 92+ messages in thread From: Paul E. McKenney @ 2024-10-23 17:47 UTC (permalink / raw) To: Christoph Hellwig; +Cc: Sasha Levin, Kees Cook, torvalds, ksummit, linux-kernel On Tue, Oct 22, 2024 at 10:50:04PM -0700, Christoph Hellwig wrote: > On Tue, Oct 22, 2024 at 05:37:38AM -0400, Sasha Levin wrote: > > We could add a report for the above, but: > > > > 1. Linus consistently pulls patches that haven't seen the light of day. > > 2. Linus explicitly objected to making a linux-next a must have. > > > > So unless these results would be actually used, what's the point in > > writing all of that? > > Yes, without Linus caring we're not going to get our process worked out. > Not sure how a tree that probably won't have much better latency than > linux-next is going to fix that, though. If I recall correctly, one thing Linus asked us to do earlier this year (ARM Summit) is to CC him on -next failures. I have been failing to do this, so I will post myself a note or something to remind me. After all, if Linus doesn't know of a problem with a set of commits, how does he know not to pull it? Thanx, Paul ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-23 17:47 ` Paul E. McKenney @ 2024-10-23 18:05 ` Guenter Roeck 2024-10-23 18:09 ` Linus Torvalds 2024-10-23 18:06 ` Linus Torvalds 1 sibling, 1 reply; 92+ messages in thread From: Guenter Roeck @ 2024-10-23 18:05 UTC (permalink / raw) To: paulmck, Christoph Hellwig Cc: Sasha Levin, Kees Cook, torvalds, ksummit, linux-kernel On 10/23/24 10:47, Paul E. McKenney wrote: > On Tue, Oct 22, 2024 at 10:50:04PM -0700, Christoph Hellwig wrote: >> On Tue, Oct 22, 2024 at 05:37:38AM -0400, Sasha Levin wrote: >>> We could add a report for the above, but: >>> >>> 1. Linus consistently pulls patches that haven't seen the light of day. >>> 2. Linus explicitly objected to making a linux-next a must have. >>> >>> So unless these results would be actually used, what's the point in >>> writing all of that? >> >> Yes, without Linus caring we're not going to get our process worked out. >> Not sure how a tree that probably won't have much better latency than >> linux-next is going to fix that, though. > > If I recall correctly, one thing Linus asked us to do earlier this year > (ARM Summit) is to CC him on -next failures. I have been failing to do > this, so I will post myself a note or something to remind me. > > After all, if Linus doesn't know of a problem with a set of commits, > how does he know not to pull it? > As of right now: Build results: total: 158 pass: 144 fail: 14 Failed builds: arm:axm55xx_defconfig csky:defconfig i386:allyesconfig i386:allmodconfig microblaze:defconfig mips:allmodconfig mips:mtx1_defconfig mips:db1xxx_defconfig openrisc:allmodconfig parisc:allmodconfig parisc64:generic-64bit_defconfig sh:defconfig sh:shx3_defconfig xtensa:allmodconfig Qemu test results: total: 556 pass: 528 fail: 28 Unit test results: pass: 463943 fail: 0 And that is a good day. Sometimes dozens of builds and hundreds of boot tests fail. Analyzing those failures would be a full-time job. Who do you expect would or should do that ? Guenter ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-23 18:05 ` Guenter Roeck @ 2024-10-23 18:09 ` Linus Torvalds 2024-10-23 18:50 ` Geert Uytterhoeven 0 siblings, 1 reply; 92+ messages in thread From: Linus Torvalds @ 2024-10-23 18:09 UTC (permalink / raw) To: Guenter Roeck Cc: paulmck, Christoph Hellwig, Sasha Levin, Kees Cook, ksummit, linux-kernel On Wed, 23 Oct 2024 at 11:05, Guenter Roeck <linux@roeck-us.net> wrote: > > And that is a good day. Sometimes dozens of builds and hundreds > of boot tests fail. Analyzing those failures would be a full-time job. > Who do you expect would or should do that ? Yeah, this is the problem. I think it's only useful if some automation (not humans! That would make people burn out immediately) can actually pinpoint the trees that introduced the failures. And I think that would be absolutely lovely. But I suspect the testing requirements then have latencies long enough that getting to that point might not be entirely realistic. Linus ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-23 18:09 ` Linus Torvalds @ 2024-10-23 18:50 ` Geert Uytterhoeven 0 siblings, 0 replies; 92+ messages in thread From: Geert Uytterhoeven @ 2024-10-23 18:50 UTC (permalink / raw) To: Linus Torvalds Cc: Guenter Roeck, paulmck, Christoph Hellwig, Sasha Levin, Kees Cook, ksummit, linux-kernel Hi Linus, On Wed, Oct 23, 2024 at 8:10 PM Linus Torvalds <torvalds@linux-foundation.org> wrote: > On Wed, 23 Oct 2024 at 11:05, Guenter Roeck <linux@roeck-us.net> wrote: > > And that is a good day. Sometimes dozens of builds and hundreds > > of boot tests fail. Analyzing those failures would be a full-time job. > > Who do you expect would or should do that ? > > Yeah, this is the problem. I think it's only useful if some automation > (not humans! That would make people burn out immediately) can actually > pinpoint the trees that introduced the failures. > > And I think that would be absolutely lovely. But I suspect the testing > requirements then have latencies long enough that getting to that > point might not be entirely realistic. At least for the build failures, zero day does a good job, and does inform the author and appropriate maintainer. Unfortunately maintainers can still ignore any reported issues... Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-23 17:47 ` Paul E. McKenney 2024-10-23 18:05 ` Guenter Roeck @ 2024-10-23 18:06 ` Linus Torvalds 2024-10-23 18:37 ` Paul E. McKenney ` (2 more replies) 1 sibling, 3 replies; 92+ messages in thread From: Linus Torvalds @ 2024-10-23 18:06 UTC (permalink / raw) To: paulmck; +Cc: Christoph Hellwig, Sasha Levin, Kees Cook, ksummit, linux-kernel On Wed, 23 Oct 2024 at 10:47, Paul E. McKenney <paulmck@kernel.org> wrote: > > > Yes, without Linus caring we're not going to get our process worked out. > > Not sure how a tree that probably won't have much better latency than > > linux-next is going to fix that, though. > > If I recall correctly, one thing Linus asked us to do earlier this year > (ARM Summit) is to CC him on -next failures. Yes. I definitely care about failures in linux-next, but I often don't _know_ about them unless I'm told. The linux-next automation sends notifications to the owners of the trees, but not to me. And that is as it should be - I don't want to be spammed by everything that is found in linux-next. So failures should normally be fixed by the owners of the trees when they get detected, and those trees should not even make it as pull requests until the problem has been resolved. After all, that's kind of the point of linux-next - finding problems *before* they become pull requests. But that does mean that if some failure has been detected in linux-next, and the maintainer has *not* corrected it, I don't even know about it. And most maintainers are very good about this, and point to things like the resolution reports (which are not actual problems, just heads-up). So automation that says "this tree does not actually work" would very much be appreciated. I'd prefer them to be the same kind of "before the pull request has even been sent" situation, of course, but if problems _remain_ in linux-next, and pr-bot sees the pull request, I'd actually like automation that says "Oh, this tree has these issues: ..." IOW, I very much do care. linux-next has improved our build test coverage and is a big deal. The more "problem coverage" it has, even outside of just build issues, the better. And yes, I know some people do functional testing on linux-next already. The message at the maintainer summit was a bit mixed with some people saying linux-next tends to work even for that, others saying it's often too broken to be useful. Linus ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-23 18:06 ` Linus Torvalds @ 2024-10-23 18:37 ` Paul E. McKenney 2024-10-23 19:24 ` Linus Torvalds 2024-10-23 21:20 ` Theodore Ts'o 2024-10-23 21:24 ` Mark Brown 2 siblings, 1 reply; 92+ messages in thread From: Paul E. McKenney @ 2024-10-23 18:37 UTC (permalink / raw) To: Linus Torvalds Cc: Christoph Hellwig, Sasha Levin, Kees Cook, ksummit, linux-kernel On Wed, Oct 23, 2024 at 11:06:59AM -0700, Linus Torvalds wrote: > On Wed, 23 Oct 2024 at 10:47, Paul E. McKenney <paulmck@kernel.org> wrote: > > > > > Yes, without Linus caring we're not going to get our process worked out. > > > Not sure how a tree that probably won't have much better latency than > > > linux-next is going to fix that, though. > > > > If I recall correctly, one thing Linus asked us to do earlier this year > > (ARM Summit) is to CC him on -next failures. > > Yes. I definitely care about failures in linux-next, but I often don't > _know_ about them unless I'm told. > > The linux-next automation sends notifications to the owners of the > trees, but not to me. OK, then I guess I was inadvertently doing the right thing by forgetting to CC you on all -next issues my testing has located. ;-) [ . . . ] > And yes, I know some people do functional testing on linux-next > already. The message at the maintainer summit was a bit mixed with > some people saying linux-next tends to work even for that, others > saying it's often too broken to be useful. Functional testing? Me, I do rcutorture *stress* testing on -next, and it usually passes. Yes, there is the occasional spectacular exception, like the version last month where rcutorture found the better part of ten bugs. Two of which were ugly heisenbugs that are still being chased down. (Full disclosure: One of those bugs is in RCU, but that bug is already in mainline. Much of my time over the past two weeks has gone into moving it from a once-per-year heisenbug to more than ten failures per hour. This bug does not happen without lots of CPU hotplug, as in a 50-millisecond delay between successive CPU-hotplug operations.) What I do is to carry patches against -next, and this week I am down from two to one of them. But most of the time, my list of -next-fix patches is of length zero. Now, I freely admit that rcutorture doesn't hammer all that much of the kernel: mostly just RCU, timers, the scheduler, and CPU hotplug. So I could easily imagine that -next testing of other parts of the kernel might be more failure-prone. Except that the correct answer to that is *more* -next testing, not less of it. Thanx, Paul ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-23 18:37 ` Paul E. McKenney @ 2024-10-23 19:24 ` Linus Torvalds 2024-10-23 20:22 ` Paul E. McKenney 0 siblings, 1 reply; 92+ messages in thread From: Linus Torvalds @ 2024-10-23 19:24 UTC (permalink / raw) To: paulmck; +Cc: Christoph Hellwig, Sasha Levin, Kees Cook, ksummit, linux-kernel On Wed, 23 Oct 2024 at 11:37, Paul E. McKenney <paulmck@kernel.org> wrote: > > Functional testing? Yes. Things like the stuff that Guenter does every -rc, and that invariably finds several issues every single merge window. Like actually booting up the kernel on multiple different odd architectures. But also much more complex things than just running a torture test for a very small piece of the kernel. The same way linux-next does the build testing on many different architectures, and that often finds things that developers missed simply because the bulk of developers are still purely on x86-64. Linus ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-23 19:24 ` Linus Torvalds @ 2024-10-23 20:22 ` Paul E. McKenney 0 siblings, 0 replies; 92+ messages in thread From: Paul E. McKenney @ 2024-10-23 20:22 UTC (permalink / raw) To: Linus Torvalds Cc: Christoph Hellwig, Sasha Levin, Kees Cook, ksummit, linux-kernel On Wed, Oct 23, 2024 at 12:24:05PM -0700, Linus Torvalds wrote: > On Wed, 23 Oct 2024 at 11:37, Paul E. McKenney <paulmck@kernel.org> wrote: > > > > Functional testing? > > Yes. Things like the stuff that Guenter does every -rc, and that > invariably finds several issues every single merge window. > > Like actually booting up the kernel on multiple different odd > architectures. But also much more complex things than just running a > torture test for a very small piece of the kernel. > > The same way linux-next does the build testing on many different > architectures, and that often finds things that developers missed > simply because the bulk of developers are still purely on x86-64. Fair point, my testing is still strictly x86-64. Thanx, Paul ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-23 18:06 ` Linus Torvalds 2024-10-23 18:37 ` Paul E. McKenney @ 2024-10-23 21:20 ` Theodore Ts'o 2024-10-23 21:24 ` Mark Brown 2 siblings, 0 replies; 92+ messages in thread From: Theodore Ts'o @ 2024-10-23 21:20 UTC (permalink / raw) To: Linus Torvalds Cc: paulmck, Christoph Hellwig, Sasha Levin, Kees Cook, ksummit, linux-kernel On Wed, Oct 23, 2024 at 11:06:59AM -0700, Linus Torvalds wrote: > > So automation that says "this tree does not actually work" would very > much be appreciated. I'd prefer them to be the same kind of "before > the pull request has even been sent" situation, of course, but if > problems _remain_ in linux-next, and pr-bot sees the pull request, I'd > actually like automation that says "Oh, this tree has these issues: > ..." As I think I mentioned at the Maintainer's Summit, for the past 2 or 3 months, I've been running xfstests autmation for ext4, xfs, f2fs, and btrfs on the fs-next branch of the linux-next tree, and it's actually been quite stable. That's because most of the fs developers are pretty careful about running tests *before* publishing their branches to linux-next, so it hasn't had the boot failures whichhas caused fs testing on the full linux-next branch to be more painful. Yes, I know that solution doesn't scale but it works for us. :-) An example of how this has worked out is a regression which popped up a few days ago, causing generic/564 to fail for ext4, xfs, f2fs, and btrfs, and which was fixed by reverting "vfs: Fix implicit conversion problem when testing overflow case". I expect Christian will be dropping that commit (or replacing it with a fixed patch) from the vfs tree long before he sends a pull request to you. - Ted ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-23 18:06 ` Linus Torvalds 2024-10-23 18:37 ` Paul E. McKenney 2024-10-23 21:20 ` Theodore Ts'o @ 2024-10-23 21:24 ` Mark Brown 2024-10-24 2:51 ` Paul E. McKenney 2 siblings, 1 reply; 92+ messages in thread From: Mark Brown @ 2024-10-23 21:24 UTC (permalink / raw) To: Linus Torvalds Cc: paulmck, Christoph Hellwig, Sasha Levin, Kees Cook, ksummit, linux-kernel [-- Attachment #1: Type: text/plain, Size: 1521 bytes --] On Wed, Oct 23, 2024 at 11:06:59AM -0700, Linus Torvalds wrote: > And yes, I know some people do functional testing on linux-next > already. The message at the maintainer summit was a bit mixed with > some people saying linux-next tends to work even for that, others > saying it's often too broken to be useful. It very much depends on what you're trying to get out of the testing - -next does work well most of the time, but it will absolutely just blow up catastrophically on you from time time to time so you have to be prepared to cope with loosing some or all of your coverage sometimes. Usually anything major gets fixed fairly promptly, but sometimes you'll be missing coverage for extended periods especially if it's something like a more niche platform that's been broken or there's some problem getting people to actually apply the fixes. Submaintainer trees that people don't want to add to -next can be an issue too. You're also going to run into issues that are nothing to do with whatever you're actually working on yourself and need to consider what you're covering based on your tolerance for dealing with that. The rate of change can also be an issue if the tests you're intersted in are expensive. OTOH if you're doing things that are likely to be affected by changes in a broad set of trees (eg, maintaining some embedded platform where you care about all the various subsystems breaking platform specific drivers) it can be a lot easier to cover -next rather than all the individual subsystems. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-23 21:24 ` Mark Brown @ 2024-10-24 2:51 ` Paul E. McKenney 0 siblings, 0 replies; 92+ messages in thread From: Paul E. McKenney @ 2024-10-24 2:51 UTC (permalink / raw) To: Mark Brown Cc: Linus Torvalds, Christoph Hellwig, Sasha Levin, Kees Cook, ksummit, linux-kernel On Wed, Oct 23, 2024 at 10:24:29PM +0100, Mark Brown wrote: > On Wed, Oct 23, 2024 at 11:06:59AM -0700, Linus Torvalds wrote: > > > And yes, I know some people do functional testing on linux-next > > already. The message at the maintainer summit was a bit mixed with > > some people saying linux-next tends to work even for that, others > > saying it's often too broken to be useful. > > It very much depends on what you're trying to get out of the testing - > -next does work well most of the time, but it will absolutely just blow > up catastrophically on you from time time to time so you have to be > prepared to cope with loosing some or all of your coverage sometimes. > Usually anything major gets fixed fairly promptly, but sometimes you'll > be missing coverage for extended periods especially if it's something > like a more niche platform that's been broken or there's some problem > getting people to actually apply the fixes. Submaintainer trees that > people don't want to add to -next can be an issue too. > > You're also going to run into issues that are nothing to do with > whatever you're actually working on yourself and need to consider what > you're covering based on your tolerance for dealing with that. The rate > of change can also be an issue if the tests you're intersted in are > expensive. OTOH if you're doing things that are likely to be affected > by changes in a broad set of trees (eg, maintaining some embedded > platform where you care about all the various subsystems breaking > platform specific drivers) it can be a lot easier to cover -next rather > than all the individual subsystems. You said it much better than I did, thank you! For me, -next is a convenient point to test much of what will be going in. Yes, it can be frustrating, finding problems just as someone else fixed them, finding problems irrelevant to any of my use cases, and so on. But sometimes I find something that would have been quite painful to deal with later in process that others don't find. Overall, it is well worth the my effort. Thanx, Paul ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-22 6:48 ` Christoph Hellwig 2024-10-22 8:12 ` Steven Rostedt 2024-10-22 9:37 ` Sasha Levin @ 2024-10-22 10:52 ` Sasha Levin 2024-10-22 11:50 ` Mark Brown 2024-10-28 22:46 ` Sasha Levin 3 siblings, 1 reply; 92+ messages in thread From: Sasha Levin @ 2024-10-22 10:52 UTC (permalink / raw) To: Christoph Hellwig; +Cc: Kees Cook, torvalds, ksummit, linux-kernel On Mon, Oct 21, 2024 at 11:48:34PM -0700, Christoph Hellwig wrote: >On Mon, Oct 21, 2024 at 09:54:53PM -0700, Kees Cook wrote: >> For example, for a given PR, the bot can report: >> >> - Were the patches CCed to a mailing list? >> - A histogram of how long the patches were in next (to show bake times) >> - Are any patches associated with test failures? (0day and many other >> CIs are already running tests against -next; parse those reports) >> >> We could have a real pre-submit checker! :) > >That would be very useful. Items 1 and 2 should be trivial, 3 would >require a bit of work but would still be very useful. So I've ended up writing something hacky that does (1) and (2) above, and ran it on the existing (already merged) PRs on the mailing list to give it a spin. The script tripped on the very first PR it looked at: https://lore.kernel.org/all/20241021171728.274997-1-pbonzini@redhat.com/ And in particular, this commit: afa9b48f327c ("KVM: arm64: Shave a few bytes from the EL2 idmap code") (sorry, not trying to pick on anyone/anything, just an example...) The commit can't be found on lore.kernel.org, it was never in -next, and yet Linus pulled it promptly without questioning anything. So yes, we could argue that a bot sending out this information would have informed Linus of this issue, but somehow I suspect that Linus is not an idiot and he has enough scripts in place already to alert him of these issues, which he chooses to ignore in some cases. -- Thanks, Sasha ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-22 10:52 ` Sasha Levin @ 2024-10-22 11:50 ` Mark Brown 2024-10-22 14:47 ` Sasha Levin 0 siblings, 1 reply; 92+ messages in thread From: Mark Brown @ 2024-10-22 11:50 UTC (permalink / raw) To: Sasha Levin; +Cc: Christoph Hellwig, Kees Cook, torvalds, ksummit, linux-kernel [-- Attachment #1: Type: text/plain, Size: 734 bytes --] On Tue, Oct 22, 2024 at 06:52:51AM -0400, Sasha Levin wrote: > On Mon, Oct 21, 2024 at 11:48:34PM -0700, Christoph Hellwig wrote: > The script tripped on the very first PR it looked at: > https://lore.kernel.org/all/20241021171728.274997-1-pbonzini@redhat.com/ > And in particular, this commit: afa9b48f327c ("KVM: arm64: Shave a few > bytes from the EL2 idmap code") > (sorry, not trying to pick on anyone/anything, just an example...) > The commit can't be found on lore.kernel.org, it was never in -next, and > yet Linus pulled it promptly without questioning anything. That was on the list at least, but buried in the replies to a thread rather than posted separately: https://lore.kernel.org/86msjc56mi.wl-maz@kernel.org [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-22 11:50 ` Mark Brown @ 2024-10-22 14:47 ` Sasha Levin 2024-10-22 15:25 ` Mark Brown 0 siblings, 1 reply; 92+ messages in thread From: Sasha Levin @ 2024-10-22 14:47 UTC (permalink / raw) To: Mark Brown; +Cc: Christoph Hellwig, Kees Cook, torvalds, ksummit, linux-kernel On Tue, Oct 22, 2024 at 12:50:50PM +0100, Mark Brown wrote: >On Tue, Oct 22, 2024 at 06:52:51AM -0400, Sasha Levin wrote: >> On Mon, Oct 21, 2024 at 11:48:34PM -0700, Christoph Hellwig wrote: > >> The script tripped on the very first PR it looked at: >> https://lore.kernel.org/all/20241021171728.274997-1-pbonzini@redhat.com/ > >> And in particular, this commit: afa9b48f327c ("KVM: arm64: Shave a few >> bytes from the EL2 idmap code") > >> (sorry, not trying to pick on anyone/anything, just an example...) > >> The commit can't be found on lore.kernel.org, it was never in -next, and >> yet Linus pulled it promptly without questioning anything. > >That was on the list at least, but buried in the replies to a thread >rather than posted separately: > > https://lore.kernel.org/86msjc56mi.wl-maz@kernel.org If folks are interested in collaborating around -next analysis and maybe adding a bot/dashboard/etc, I've pushed my scripts to https://git.kernel.org/pub/scm/linux/kernel/git/sashal/next-analysis.git/ Right now they're enough to generate a histogram showing how many patches spent N days in -next: $ git log --format="%H" --no-merges origin/master..next/master | shuf | head -n500 | xargs histo.sh ~/next-analysis/db/ Days in -next: ---------------------------------------- 0 | 1 | ████████████████████ (40) 2 | ███████████████████████████████ (62) 3 | █████████████ (27) 4 | █████████████ (27) 5 | ███████████████████ (39) 6 | ██████████████ (28) 7 | ████████ (16) 8 | ██████████████████ (37) 9 | ██████ (12) 10 | █████████████████████ (42) 11 | █████████████████████████ (50) 12 | ██████ (12) 13 | █████ (10) 14+ | █████████████████████████████████████████████████ (98) As well as find commits that did not appear on lore: $ git log --format="%H" --no-merges origin/master..next/master | shuf | head -n100 | xargs no-lore.sh ~/next-analysis/db/ c88414f56c37f XArray: Prevent node leaks in xas_alloc() -- Thanks, Sasha ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-22 14:47 ` Sasha Levin @ 2024-10-22 15:25 ` Mark Brown 0 siblings, 0 replies; 92+ messages in thread From: Mark Brown @ 2024-10-22 15:25 UTC (permalink / raw) To: Sasha Levin; +Cc: Christoph Hellwig, Kees Cook, torvalds, ksummit, linux-kernel [-- Attachment #1: Type: text/plain, Size: 342 bytes --] On Tue, Oct 22, 2024 at 10:47:01AM -0400, Sasha Levin wrote: > If folks are interested in collaborating around -next analysis and maybe > adding a bot/dashboard/etc, I've pushed my scripts to > https://git.kernel.org/pub/scm/linux/kernel/git/sashal/next-analysis.git/ Those look interesting, it'd be good to get some licensing on the repo. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-22 6:48 ` Christoph Hellwig ` (2 preceding siblings ...) 2024-10-22 10:52 ` Sasha Levin @ 2024-10-28 22:46 ` Sasha Levin 2024-10-29 8:10 ` Thorsten Leemhuis ` (4 more replies) 3 siblings, 5 replies; 92+ messages in thread From: Sasha Levin @ 2024-10-28 22:46 UTC (permalink / raw) To: Christoph Hellwig; +Cc: Kees Cook, torvalds, ksummit, linux-kernel On Mon, Oct 21, 2024 at 11:48:34PM -0700, Christoph Hellwig wrote: >On Mon, Oct 21, 2024 at 09:54:53PM -0700, Kees Cook wrote: >> For example, for a given PR, the bot can report: >> >> - Were the patches CCed to a mailing list? >> - A histogram of how long the patches were in next (to show bake times) >> - Are any patches associated with test failures? (0day and many other >> CIs are already running tests against -next; parse those reports) >> >> We could have a real pre-submit checker! :) > >That would be very useful. Items 1 and 2 should be trivial, 3 would >require a bit of work but would still be very useful. If you've been following so far, there is a bot that is capable of doing most of the above (https://git.kernel.org/pub/scm/linux/kernel/git/sashal/next-analysis.git/). Here's a histogram that describes v6.12-rc4..v6.12-rc5 as far as how long commits spent in -next: Days in linux-next: ---------------------------------------- 0 | +++++++++++++++++++++++++++++++++++++++++++++++++ (89) <1 | +++++++++++ (21) 1 | +++++++++++ (21) 2 | +++++++++++++++++++++++++ (45) 3 | ++++++++++++++ (25) 4 | +++++ (10) 5 | 6 | + (2) 7 | 8 | + (3) 9 | ++ (4) 10 | 11 | +++ (6) 12 | 13 | 14+| ++++++++ (15) This is where I think the value of linus-next comes during the -rc cycles: the (89 + 21) commits that haven't gone through the -next workflow before being pulled. I'm not looking to delay the process and add latency, I'm looking to plug a hole where code would flow directly to Linus's tree bypassing -next. With linus-next, we can at least squeeze in build tests as well as some rudimentary testing if we get a few hours before Linus pulls (and we usually do). -- Thanks, Sasha ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-28 22:46 ` Sasha Levin @ 2024-10-29 8:10 ` Thorsten Leemhuis 2024-10-29 11:30 ` Sasha Levin 2024-10-29 8:20 ` Geert Uytterhoeven ` (3 subsequent siblings) 4 siblings, 1 reply; 92+ messages in thread From: Thorsten Leemhuis @ 2024-10-29 8:10 UTC (permalink / raw) To: Sasha Levin, Christoph Hellwig; +Cc: Kees Cook, torvalds, ksummit, linux-kernel On 28.10.24 23:46, Sasha Levin wrote: > On Mon, Oct 21, 2024 at 11:48:34PM -0700, Christoph Hellwig wrote: >> On Mon, Oct 21, 2024 at 09:54:53PM -0700, Kees Cook wrote: >>> For example, for a given PR, the bot can report: >>> >>> - Were the patches CCed to a mailing list? >>> - A histogram of how long the patches were in next (to show bake times) >>> - Are any patches associated with test failures? (0day and many other >>> CIs are already running tests against -next; parse those reports) >>> >>> We could have a real pre-submit checker! :) >> >> That would be very useful. Items 1 and 2 should be trivial, 3 would >> require a bit of work but would still be very useful. > > If you've been following so far, there is a bot that is capable of doing > most of the above > (https://git.kernel.org/pub/scm/linux/kernel/git/sashal/next- > analysis.git/). > > Here's a histogram that describes v6.12-rc4..v6.12-rc5 as far as how > long commits spent in -next: I took a quick look at that tree and histo.sh that lead to a few questions here the code had no obvious answers to (or I missed them due to the "quick" aspect): * How does histo.sh handle changes where the commit-id changed between the first time in -next and their merge into Linus' tree (while the patch itself did not change)? For example due to a rebase or workflows where the commit-id changes regularly, such as those used by the bluetooth tree (for -fixes, as it queues them in their -next branch first) or the -mm tree (for most of it iirc -- this made things hard in a script of mine that looks up the arrival in -next)? * Do those lore scripts detect if a committer adjusted the subject of a patch that has been on lore? * How do the scripts handle patches that changed a lot while they were in -next? I know of one subsystem that regularly drops whole patch-sets from their trees included in -next to replace them with newer versions of said patch-sets -- and then the timer maybe should restart. > This is where I think the value of linus-next comes during the -rc > cycles: the (89 + 21) commits that haven't gone through the -next > workflow before being pulled. > > I'm not looking to delay the process and > add latency, I'm looking to plug a hole where code would flow directly > to Linus's tree bypassing -next. Overall after all the discussions in this thread I still fail to see why we need a new tree for that. Why not make pending-fixes a bit more prominent while motivating maintainers to have proper -fixes branches included there? Ciao, Thorsten ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-29 8:10 ` Thorsten Leemhuis @ 2024-10-29 11:30 ` Sasha Levin 2024-10-29 12:46 ` Thorsten Leemhuis 0 siblings, 1 reply; 92+ messages in thread From: Sasha Levin @ 2024-10-29 11:30 UTC (permalink / raw) To: Thorsten Leemhuis Cc: Christoph Hellwig, Kees Cook, torvalds, ksummit, linux-kernel On Tue, Oct 29, 2024 at 09:10:25AM +0100, Thorsten Leemhuis wrote: >On 28.10.24 23:46, Sasha Levin wrote: >> On Mon, Oct 21, 2024 at 11:48:34PM -0700, Christoph Hellwig wrote: >>> On Mon, Oct 21, 2024 at 09:54:53PM -0700, Kees Cook wrote: >>>> For example, for a given PR, the bot can report: >>>> >>>> - Were the patches CCed to a mailing list? >>>> - A histogram of how long the patches were in next (to show bake times) >>>> - Are any patches associated with test failures? (0day and many other >>>> CIs are already running tests against -next; parse those reports) >>>> >>>> We could have a real pre-submit checker! :) >>> >>> That would be very useful. Items 1 and 2 should be trivial, 3 would >>> require a bit of work but would still be very useful. >> >> If you've been following so far, there is a bot that is capable of doing >> most of the above >> (https://git.kernel.org/pub/scm/linux/kernel/git/sashal/next- >> analysis.git/). >> >> Here's a histogram that describes v6.12-rc4..v6.12-rc5 as far as how >> long commits spent in -next: > >I took a quick look at that tree and histo.sh that lead to a few >questions here the code had no obvious answers to (or I missed them due >to the "quick" aspect): > >* How does histo.sh handle changes where the commit-id changed between >the first time in -next and their merge into Linus' tree (while the >patch itself did not change)? For example due to a rebase or workflows >where the commit-id changes regularly, such as those used by the >bluetooth tree (for -fixes, as it queues them in their -next branch >first) or the -mm tree (for most of it iirc -- this made things hard in >a script of mine that looks up the arrival in -next)? The "database" the scripts use stores 3 things: - commit ID - git patch-id - subject line We try to match by either of the three. It means that maintainers can rebase, change the subject, or even change the patch slightly, but as long as one of the above stays the same we treat the commit the same. >* Do those lore scripts detect if a committer adjusted the subject of a >patch that has been on lore? Yes, they also look up by patch-id, so if only the subject was adjusted then we will still find the commit. >* How do the scripts handle patches that changed a lot while they were >in -next? I know of one subsystem that regularly drops whole patch-sets >from their trees included in -next to replace them with newer versions >of said patch-sets -- and then the timer maybe should restart. The timer should just restart, right? If we uploaded patches that look different from older ones, then their timer starts from 0 again. >> This is where I think the value of linus-next comes during the -rc >> cycles: the (89 + 21) commits that haven't gone through the -next >> workflow before being pulled. >> >> I'm not looking to delay the process and >> add latency, I'm looking to plug a hole where code would flow directly >> to Linus's tree bypassing -next. > >Overall after all the discussions in this thread I still fail to see why >we need a new tree for that. Why not make pending-fixes a bit more >prominent while motivating maintainers to have proper -fixes branches >included there? Because that will add latency: my understanding that we don't want to necessarily add another day or two between when fixes are ready and the time it would take to get them through linux-next. -- Thanks, Sasha ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-29 11:30 ` Sasha Levin @ 2024-10-29 12:46 ` Thorsten Leemhuis 2024-10-29 15:07 ` Sasha Levin 0 siblings, 1 reply; 92+ messages in thread From: Thorsten Leemhuis @ 2024-10-29 12:46 UTC (permalink / raw) To: Sasha Levin; +Cc: Christoph Hellwig, Kees Cook, torvalds, ksummit, linux-kernel On 29.10.24 12:30, Sasha Levin wrote: > On Tue, Oct 29, 2024 at 09:10:25AM +0100, Thorsten Leemhuis wrote: >> * How does histo.sh handle changes where the commit-id changed between >> the first time in -next and their merge into Linus' tree [... > The "database" the scripts use stores 3 things: > [...] Ahh, many thx. And sorry, I should have taken a closer look at query.db, that is pretty obvious now that I look at it again. >>> This is where I think the value of linus-next comes during the -rc >>> cycles: the (89 + 21) commits that haven't gone through the -next >>> workflow before being pulled. >>> >>> I'm not looking to delay the process and >>> add latency, I'm looking to plug a hole where code would flow directly >>> to Linus's tree bypassing -next. >> >> Overall after all the discussions in this thread I still fail to see why >> we need a new tree for that. Why not make pending-fixes a bit more >> prominent while motivating maintainers to have proper -fixes branches >> included there? > > Because that will add latency: my understanding that we don't want to > necessarily add another day or two between when fixes are ready and the > time it would take to get them through linux-next. Hmmm. After all those mails in this thread improving (and maybe even separating & somewhat automating[1]) pending-fixes to me still sounds like time better spend, as then more things could tested before they even read a PR; but yes, I understand, the timing/order of merges can mess things up, so testing on PR time has benefits, too. Maybe I'm just biased, as I could need a better working pending-fixes for regression tracking[2], as that allows me to ensure regression fixes are on the right track (which usually is the current merge window and not the next). Thx again for the answer! Ciao, Thorsten [1] yes, I known, there will be conflicts, so some human will need to be involved [2] subsystems without -fixes trees or workflows like the one Jiri suggested recently elsewhere in this thread[3] break this :-/ [3] https://lore.kernel.org/all/nycvar.YFH.7.76.2410252303270.20286@cbobk.fhfr.pm/ ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-29 12:46 ` Thorsten Leemhuis @ 2024-10-29 15:07 ` Sasha Levin 2024-10-30 6:46 ` Thorsten Leemhuis 0 siblings, 1 reply; 92+ messages in thread From: Sasha Levin @ 2024-10-29 15:07 UTC (permalink / raw) To: Thorsten Leemhuis Cc: Christoph Hellwig, Kees Cook, torvalds, ksummit, linux-kernel On Tue, Oct 29, 2024 at 01:46:23PM +0100, Thorsten Leemhuis wrote: >Hmmm. After all those mails in this thread improving (and maybe even >separating & somewhat automating[1]) pending-fixes to me still sounds >like time better spend, as then more things could tested before they >even read a PR; but yes, I understand, the timing/order of merges can >mess things up, so testing on PR time has benefits, too. Automating how? Having it be generated more often? >Maybe I'm just biased, as I could need a better working pending-fixes >for regression tracking[2], as that allows me to ensure regression fixes >are on the right track (which usually is the current merge window and >not the next). I'd love to throw the linus-next away once I find it useless :) -- Thanks, Sasha ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-29 15:07 ` Sasha Levin @ 2024-10-30 6:46 ` Thorsten Leemhuis 2024-10-30 14:10 ` Sasha Levin 0 siblings, 1 reply; 92+ messages in thread From: Thorsten Leemhuis @ 2024-10-30 6:46 UTC (permalink / raw) To: Sasha Levin; +Cc: Christoph Hellwig, Kees Cook, torvalds, ksummit, linux-kernel On 29.10.24 16:07, Sasha Levin wrote: > On Tue, Oct 29, 2024 at 01:46:23PM +0100, Thorsten Leemhuis wrote: >> Hmmm. After all those mails in this thread improving (and maybe even >> separating & somewhat automating[1]) pending-fixes to me still sounds >> like time better spend, as then more things could tested before they >> even read a PR; but yes, I understand, the timing/order of merges can >> mess things up, so testing on PR time has benefits, too. > Automating how? Having it be generated more often? Have the list of -fixes trees which a "no rebases" policy somewhere and a script that regularly merges them into a tree. But as indicated, it's not that easy in practice and can't be fully automated, as there will be merge conflicts occasionally. But Linus wants to see them, so they will happen at pull requests time, too -- doing it constantly has the benefit that you can notice and resolve them ahead of time. How much work this is: no idea, maybe Stephen could help answering that from experiences for pending-fixes. But I expect conflicts should not happen as often as they do when it comes to merging -for-next branches. But that obviously only helps outside of merge windows. Ciao, Thorsten ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-30 6:46 ` Thorsten Leemhuis @ 2024-10-30 14:10 ` Sasha Levin 2024-10-31 8:13 ` Thorsten Leemhuis 0 siblings, 1 reply; 92+ messages in thread From: Sasha Levin @ 2024-10-30 14:10 UTC (permalink / raw) To: Thorsten Leemhuis Cc: Christoph Hellwig, Kees Cook, torvalds, ksummit, linux-kernel On Wed, Oct 30, 2024 at 07:46:40AM +0100, Thorsten Leemhuis wrote: >On 29.10.24 16:07, Sasha Levin wrote: >> On Tue, Oct 29, 2024 at 01:46:23PM +0100, Thorsten Leemhuis wrote: >>> Hmmm. After all those mails in this thread improving (and maybe even >>> separating & somewhat automating[1]) pending-fixes to me still sounds >>> like time better spend, as then more things could tested before they >>> even read a PR; but yes, I understand, the timing/order of merges can >>> mess things up, so testing on PR time has benefits, too. >> Automating how? Having it be generated more often? > >Have the list of -fixes trees which a "no rebases" policy somewhere and >a script that regularly merges them into a tree. But as indicated, it's >not that easy in practice and can't be fully automated, as there will be >merge conflicts occasionally. But Linus wants to see them, so they will >happen at pull requests time, too -- doing it constantly has the benefit >that you can notice and resolve them ahead of time. > >How much work this is: no idea, maybe Stephen could help answering that >from experiences for pending-fixes. But I expect conflicts should not >happen as often as they do when it comes to merging -for-next branches. > >But that obviously only helps outside of merge windows. Do you want to give it ago? I've pushed something to https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linus-next.git/log/?h=auto-pending-fixes , and scripted a bit around it to try and keep it updated. We can try a model where it tries to avoid rebases as much as it can, and if it needs to rebase it will tag the old HEAD before re-creating the branch? -- Thanks, Sasha ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-30 14:10 ` Sasha Levin @ 2024-10-31 8:13 ` Thorsten Leemhuis 0 siblings, 0 replies; 92+ messages in thread From: Thorsten Leemhuis @ 2024-10-31 8:13 UTC (permalink / raw) To: Sasha Levin; +Cc: Christoph Hellwig, Kees Cook, torvalds, ksummit, linux-kernel On 30.10.24 15:10, Sasha Levin wrote: > On Wed, Oct 30, 2024 at 07:46:40AM +0100, Thorsten Leemhuis wrote: >> On 29.10.24 16:07, Sasha Levin wrote: >>> On Tue, Oct 29, 2024 at 01:46:23PM +0100, Thorsten Leemhuis wrote: >>>> Hmmm. After all those mails in this thread improving (and maybe even >>>> separating & somewhat automating[1]) pending-fixes to me still sounds >>>> like time better spend, as then more things could tested before they >>>> even read a PR; but yes, I understand, the timing/order of merges can >>>> mess things up, so testing on PR time has benefits, too. >>> Automating how? Having it be generated more often? >> >> Have the list of -fixes trees which a "no rebases" policy somewhere and >> a script that regularly merges them into a tree. But as indicated, it's >> not that easy in practice and can't be fully automated, as there will be >> merge conflicts occasionally. But Linus wants to see them, so they will >> happen at pull requests time, too -- doing it constantly has the benefit >> that you can notice and resolve them ahead of time. >> >> How much work this is: no idea, maybe Stephen could help answering that >> from experiences for pending-fixes. But I expect conflicts should not >> happen as often as they do when it comes to merging -for-next branches. >> >> But that obviously only helps outside of merge windows. > > Do you want to give it ago? > > I've pushed something to > https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linus-next.git/ > log/?h=auto-pending-fixes > , and scripted a bit around it to try and keep it updated. Cool! > We can try a model where it tries to avoid rebases as much as it can, > and if it needs to rebase it will tag the old HEAD before re-creating > the branch? So here is the thing: with regression tracking I'm already having a huge never ending and hard task that creates a lot of work every day -- work I'm not getting payed for now since months with no concrete funding solution yet on the horizon. So I don't want to put even more work on my shoulders with helping in other areas currently, sorry. That being said: I'm willing to help with creating improvements for our docs (something along the lines of "you should have a -fixes branches that is never rebased that is included in the -pending-fixes branch of -next and -auto-pending-fixes") and even trying to talk maintainers into that do not yet have such a branch into maintaining one. Ciao, Thorsten ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-28 22:46 ` Sasha Levin 2024-10-29 8:10 ` Thorsten Leemhuis @ 2024-10-29 8:20 ` Geert Uytterhoeven 2024-10-30 17:08 ` Paul E. McKenney ` (2 subsequent siblings) 4 siblings, 0 replies; 92+ messages in thread From: Geert Uytterhoeven @ 2024-10-29 8:20 UTC (permalink / raw) To: Sasha Levin; +Cc: Christoph Hellwig, Kees Cook, torvalds, ksummit, linux-kernel Hi Sasha, On Mon, Oct 28, 2024 at 11:46 PM Sasha Levin <sashal@kernel.org> wrote: > On Mon, Oct 21, 2024 at 11:48:34PM -0700, Christoph Hellwig wrote: > >On Mon, Oct 21, 2024 at 09:54:53PM -0700, Kees Cook wrote: > >> For example, for a given PR, the bot can report: > >> > >> - Were the patches CCed to a mailing list? > >> - A histogram of how long the patches were in next (to show bake times) > >> - Are any patches associated with test failures? (0day and many other > >> CIs are already running tests against -next; parse those reports) > >> > >> We could have a real pre-submit checker! :) > > > >That would be very useful. Items 1 and 2 should be trivial, 3 would > >require a bit of work but would still be very useful. > > If you've been following so far, there is a bot that is capable of doing > most of the above > (https://git.kernel.org/pub/scm/linux/kernel/git/sashal/next-analysis.git/). > > Here's a histogram that describes v6.12-rc4..v6.12-rc5 as far as how > long commits spent in -next: > > Days in linux-next: > ---------------------------------------- > 0 | +++++++++++++++++++++++++++++++++++++++++++++++++ (89) > <1 | +++++++++++ (21) > 1 | +++++++++++ (21) > 2 | +++++++++++++++++++++++++ (45) > 3 | ++++++++++++++ (25) > 4 | +++++ (10) > 5 | > 6 | + (2) > 7 | > 8 | + (3) > 9 | ++ (4) > 10 | > 11 | +++ (6) > 12 | > 13 | > 14+| ++++++++ (15) > > This is where I think the value of linus-next comes during the -rc > cycles: the (89 + 21) commits that haven't gone through the -next > workflow before being pulled. I'm not looking to delay the process and > add latency, I'm looking to plug a hole where code would flow directly > to Linus's tree bypassing -next. > > With linus-next, we can at least squeeze in build tests as well as some > rudimentary testing if we get a few hours before Linus pulls (and we > usually do). [Oops, I misread "linus-next"-with-an-S in the last two paragraphs, and only noticed _after_ I wrote my comments below. Anyway, I am still sending them as they (partly) explain the histogram's shape.] Linux-next releases are not created automatically. The last linux-next release happens on Friday (AU time), while Linus creates the -rc on Sunday (US time), so most PRs sent during the second half of the week would miss linux-next until Monday... "Release early" still matters... Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-28 22:46 ` Sasha Levin 2024-10-29 8:10 ` Thorsten Leemhuis 2024-10-29 8:20 ` Geert Uytterhoeven @ 2024-10-30 17:08 ` Paul E. McKenney 2024-10-30 17:15 ` Sasha Levin 2024-11-04 8:49 ` Joel Granados 2024-11-25 20:05 ` Joel Granados 4 siblings, 1 reply; 92+ messages in thread From: Paul E. McKenney @ 2024-10-30 17:08 UTC (permalink / raw) To: Sasha Levin; +Cc: Christoph Hellwig, Kees Cook, torvalds, ksummit, linux-kernel On Mon, Oct 28, 2024 at 06:46:19PM -0400, Sasha Levin wrote: > On Mon, Oct 21, 2024 at 11:48:34PM -0700, Christoph Hellwig wrote: > > On Mon, Oct 21, 2024 at 09:54:53PM -0700, Kees Cook wrote: > > > For example, for a given PR, the bot can report: > > > > > > - Were the patches CCed to a mailing list? > > > - A histogram of how long the patches were in next (to show bake times) > > > - Are any patches associated with test failures? (0day and many other > > > CIs are already running tests against -next; parse those reports) > > > > > > We could have a real pre-submit checker! :) > > > > That would be very useful. Items 1 and 2 should be trivial, 3 would > > require a bit of work but would still be very useful. > > If you've been following so far, there is a bot that is capable of doing > most of the above > (https://git.kernel.org/pub/scm/linux/kernel/git/sashal/next-analysis.git/). Nice!!! What does this make of these commits of mine? 744e87210b1ae rcu: Finer-grained grace-period-end checks in rcu_dump_cpu_stacks() cbe644aa6fe17 rcu: Stop stall warning from dumping stacks if grace period ends 26ff1fb02991e rcu: Delete unused rcu_gp_might_be_stalled() function > Here's a histogram that describes v6.12-rc4..v6.12-rc5 as far as how > long commits spent in -next: > > Days in linux-next: > ---------------------------------------- > 0 | +++++++++++++++++++++++++++++++++++++++++++++++++ (89) > <1 | +++++++++++ (21) > 1 | +++++++++++ (21) > 2 | +++++++++++++++++++++++++ (45) > 3 | ++++++++++++++ (25) > 4 | +++++ (10) > 5 | > 6 | + (2) > 7 | > 8 | + (3) > 9 | ++ (4) > 10 | > 11 | +++ (6) > 12 | > 13 | > 14+| ++++++++ (15) > > This is where I think the value of linus-next comes during the -rc > cycles: the (89 + 21) commits that haven't gone through the -next > workflow before being pulled. I'm not looking to delay the process and > add latency, I'm looking to plug a hole where code would flow directly > to Linus's tree bypassing -next. > > With linus-next, we can at least squeeze in build tests as well as some > rudimentary testing if we get a few hours before Linus pulls (and we > usually do). OK, if linus-next is only active just before the merge window opens, then I have fewer testing-bandwidth concerns. Thanx, Paul ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-30 17:08 ` Paul E. McKenney @ 2024-10-30 17:15 ` Sasha Levin 2024-10-30 17:32 ` Paul E. McKenney 0 siblings, 1 reply; 92+ messages in thread From: Sasha Levin @ 2024-10-30 17:15 UTC (permalink / raw) To: Paul E. McKenney Cc: Christoph Hellwig, Kees Cook, torvalds, ksummit, linux-kernel On Wed, Oct 30, 2024 at 10:08:57AM -0700, Paul E. McKenney wrote: >On Mon, Oct 28, 2024 at 06:46:19PM -0400, Sasha Levin wrote: >> On Mon, Oct 21, 2024 at 11:48:34PM -0700, Christoph Hellwig wrote: >> > On Mon, Oct 21, 2024 at 09:54:53PM -0700, Kees Cook wrote: >> > > For example, for a given PR, the bot can report: >> > > >> > > - Were the patches CCed to a mailing list? >> > > - A histogram of how long the patches were in next (to show bake times) >> > > - Are any patches associated with test failures? (0day and many other >> > > CIs are already running tests against -next; parse those reports) >> > > >> > > We could have a real pre-submit checker! :) >> > >> > That would be very useful. Items 1 and 2 should be trivial, 3 would >> > require a bit of work but would still be very useful. >> >> If you've been following so far, there is a bot that is capable of doing >> most of the above >> (https://git.kernel.org/pub/scm/linux/kernel/git/sashal/next-analysis.git/). > >Nice!!! > >What does this make of these commits of mine? > >744e87210b1ae rcu: Finer-grained grace-period-end checks in rcu_dump_cpu_stacks() >cbe644aa6fe17 rcu: Stop stall warning from dumping stacks if grace period ends >26ff1fb02991e rcu: Delete unused rcu_gp_might_be_stalled() function Days in linux-next: ---------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | +++ (3) -- Thanks, Sasha ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-30 17:15 ` Sasha Levin @ 2024-10-30 17:32 ` Paul E. McKenney 0 siblings, 0 replies; 92+ messages in thread From: Paul E. McKenney @ 2024-10-30 17:32 UTC (permalink / raw) To: Sasha Levin; +Cc: Christoph Hellwig, Kees Cook, torvalds, ksummit, linux-kernel On Wed, Oct 30, 2024 at 01:15:39PM -0400, Sasha Levin wrote: > On Wed, Oct 30, 2024 at 10:08:57AM -0700, Paul E. McKenney wrote: > > On Mon, Oct 28, 2024 at 06:46:19PM -0400, Sasha Levin wrote: > > > On Mon, Oct 21, 2024 at 11:48:34PM -0700, Christoph Hellwig wrote: > > > > On Mon, Oct 21, 2024 at 09:54:53PM -0700, Kees Cook wrote: > > > > > For example, for a given PR, the bot can report: > > > > > > > > > > - Were the patches CCed to a mailing list? > > > > > - A histogram of how long the patches were in next (to show bake times) > > > > > - Are any patches associated with test failures? (0day and many other > > > > > CIs are already running tests against -next; parse those reports) > > > > > > > > > > We could have a real pre-submit checker! :) > > > > > > > > That would be very useful. Items 1 and 2 should be trivial, 3 would > > > > require a bit of work but would still be very useful. > > > > > > If you've been following so far, there is a bot that is capable of doing > > > most of the above > > > (https://git.kernel.org/pub/scm/linux/kernel/git/sashal/next-analysis.git/). > > > > Nice!!! > > > > What does this make of these commits of mine? > > > > 744e87210b1ae rcu: Finer-grained grace-period-end checks in rcu_dump_cpu_stacks() > > cbe644aa6fe17 rcu: Stop stall warning from dumping stacks if grace period ends > > 26ff1fb02991e rcu: Delete unused rcu_gp_might_be_stalled() function > > Days in linux-next: > ---------------------------------------- > 1 | > 2 | > 3 | > 4 | > 5 | > 6 | +++ (3) Very good! Any indications of errors for any of them? Thanx, Paul ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-28 22:46 ` Sasha Levin ` (2 preceding siblings ...) 2024-10-30 17:08 ` Paul E. McKenney @ 2024-11-04 8:49 ` Joel Granados 2024-11-04 11:01 ` Sasha Levin 2024-11-25 20:05 ` Joel Granados 4 siblings, 1 reply; 92+ messages in thread From: Joel Granados @ 2024-11-04 8:49 UTC (permalink / raw) To: Sasha Levin; +Cc: Christoph Hellwig, Kees Cook, torvalds, ksummit, linux-kernel On Mon, Oct 28, 2024 at 06:46:19PM -0400, Sasha Levin wrote: > On Mon, Oct 21, 2024 at 11:48:34PM -0700, Christoph Hellwig wrote: > >On Mon, Oct 21, 2024 at 09:54:53PM -0700, Kees Cook wrote: > >> For example, for a given PR, the bot can report: > >> > >> - Were the patches CCed to a mailing list? > >> - A histogram of how long the patches were in next (to show bake times) > >> - Are any patches associated with test failures? (0day and many other > >> CIs are already running tests against -next; parse those reports) > >> > >> We could have a real pre-submit checker! :) > > > >That would be very useful. Items 1 and 2 should be trivial, 3 would > >require a bit of work but would still be very useful. > > If you've been following so far, there is a bot that is capable of doing > most of the above > (https://git.kernel.org/pub/scm/linux/kernel/git/sashal/next-analysis.git/). > > Here's a histogram that describes v6.12-rc4..v6.12-rc5 as far as how > long commits spent in -next: > > Days in linux-next: > ---------------------------------------- > 0 | +++++++++++++++++++++++++++++++++++++++++++++++++ (89) > <1 | +++++++++++ (21) > 1 | +++++++++++ (21) > 2 | +++++++++++++++++++++++++ (45) > 3 | ++++++++++++++ (25) > 4 | +++++ (10) > 5 | > 6 | + (2) > 7 | > 8 | + (3) > 9 | ++ (4) > 10 | > 11 | +++ (6) > 12 | > 13 | > 14+| ++++++++ (15) This looks super nice. Sometimes I need to answer how long a commit/series has been in next to either take it out of the PR or to at least have a comment to Linus. I see that I can use the script like `histo.sh /PATH/TO/DB COMMIT-ID`, which is exactly what I would expect. Is the idea to run the scripts from https://git.kernel.org/pub/scm/linux/kernel/git/sashal/next-analysis.git or to populate ones own DB in linux-next and then run histo? thx Best -- Joel Granados ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: Re: linus-next: improving functional testing for to-be-merged pull requests 2024-11-04 8:49 ` Joel Granados @ 2024-11-04 11:01 ` Sasha Levin 0 siblings, 0 replies; 92+ messages in thread From: Sasha Levin @ 2024-11-04 11:01 UTC (permalink / raw) To: Joel Granados Cc: Christoph Hellwig, Kees Cook, torvalds, ksummit, linux-kernel On Mon, Nov 04, 2024 at 09:49:15AM +0100, Joel Granados wrote: >On Mon, Oct 28, 2024 at 06:46:19PM -0400, Sasha Levin wrote: >> On Mon, Oct 21, 2024 at 11:48:34PM -0700, Christoph Hellwig wrote: >> >On Mon, Oct 21, 2024 at 09:54:53PM -0700, Kees Cook wrote: >> >> For example, for a given PR, the bot can report: >> >> >> >> - Were the patches CCed to a mailing list? >> >> - A histogram of how long the patches were in next (to show bake times) >> >> - Are any patches associated with test failures? (0day and many other >> >> CIs are already running tests against -next; parse those reports) >> >> >> >> We could have a real pre-submit checker! :) >> > >> >That would be very useful. Items 1 and 2 should be trivial, 3 would >> >require a bit of work but would still be very useful. >> >> If you've been following so far, there is a bot that is capable of doing >> most of the above >> (https://git.kernel.org/pub/scm/linux/kernel/git/sashal/next-analysis.git/). >> >> Here's a histogram that describes v6.12-rc4..v6.12-rc5 as far as how >> long commits spent in -next: >> >> Days in linux-next: >> ---------------------------------------- >> 0 | +++++++++++++++++++++++++++++++++++++++++++++++++ (89) >> <1 | +++++++++++ (21) >> 1 | +++++++++++ (21) >> 2 | +++++++++++++++++++++++++ (45) >> 3 | ++++++++++++++ (25) >> 4 | +++++ (10) >> 5 | >> 6 | + (2) >> 7 | >> 8 | + (3) >> 9 | ++ (4) >> 10 | >> 11 | +++ (6) >> 12 | >> 13 | >> 14+| ++++++++ (15) >This looks super nice. Sometimes I need to answer how long a >commit/series has been in next to either take it out of the PR or to at >least have a comment to Linus. >I see that I can use the script like `histo.sh /PATH/TO/DB COMMIT-ID`, >which is exactly what I would expect. Thanks! >Is the idea to run the scripts from >https://git.kernel.org/pub/scm/linux/kernel/git/sashal/next-analysis.git >or to populate ones own DB in linux-next and then run histo? You can use the DB in the git repo, but prep.sh is provided in case you want to create your own or if I stop updating the repo for some reason. -- Thanks, Sasha ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-28 22:46 ` Sasha Levin ` (3 preceding siblings ...) 2024-11-04 8:49 ` Joel Granados @ 2024-11-25 20:05 ` Joel Granados 4 siblings, 0 replies; 92+ messages in thread From: Joel Granados @ 2024-11-25 20:05 UTC (permalink / raw) To: Sasha Levin; +Cc: Christoph Hellwig, Kees Cook, torvalds, ksummit, linux-kernel On Mon, Oct 28, 2024 at 06:46:19PM -0400, Sasha Levin wrote: > On Mon, Oct 21, 2024 at 11:48:34PM -0700, Christoph Hellwig wrote: > >On Mon, Oct 21, 2024 at 09:54:53PM -0700, Kees Cook wrote: > >> For example, for a given PR, the bot can report: > >> > >> - Were the patches CCed to a mailing list? > >> - A histogram of how long the patches were in next (to show bake times) > >> - Are any patches associated with test failures? (0day and many other > >> CIs are already running tests against -next; parse those reports) > >> > >> We could have a real pre-submit checker! :) > > > >That would be very useful. Items 1 and 2 should be trivial, 3 would > >require a bit of work but would still be very useful. > > If you've been following so far, there is a bot that is capable of doing > most of the above > (https://git.kernel.org/pub/scm/linux/kernel/git/sashal/next-analysis.git/). > > Here's a histogram that describes v6.12-rc4..v6.12-rc5 as far as how > long commits spent in -next: > > Days in linux-next: > ---------------------------------------- > 0 | +++++++++++++++++++++++++++++++++++++++++++++++++ (89) > <1 | +++++++++++ (21) > 1 | +++++++++++ (21) > 2 | +++++++++++++++++++++++++ (45) > 3 | ++++++++++++++ (25) > 4 | +++++ (10) > 5 | > 6 | + (2) > 7 | > 8 | + (3) > 9 | ++ (4) > 10 | > 11 | +++ (6) > 12 | > 13 | > 14+| ++++++++ (15) I kept working on this for this release and ended up with something that answers the question how much time has my PR been in linux-next. Not sure if it is useful to anyone, but decided to share it just in case. # The command ``` bash ./pr-hist.sh -d ./db --linux-next ~/src/linux-next --pr /tmp/pull_request.txt ``` * here [1] are the script sources * pull_request.txt is a file that contains a PR created with the `git request-pull` command. # The output ``` bash Histogram of Counts by Date 120 +-------------------------------------------------------------------+ | * * | 100 | * * | | ** * * | 80 | * ** * * | 60 | * * * ** * * | | * * * * * ** * * | 40 | * * * * * * * * * ** * * | | * * * * * * * * * * * * * * ** * * | 20 | * * * * * * * * * * * * * * ** * * | | * * * * * * * * * * * * * * ** * * | 0 +-------------------------------------------------------------------+ 1017 1024 1031 1107 1114 1121 Date ``` # Command help ``` bash Usage: pr-hist.sh ARGS [OPTIONS] Lists the databases where the <commit_ids> are found Args: [-c <list> | -p <pr>] -d <db_dir> -c, --commit-ids <list> Comma separated list of commits to query -p, --pr <pr> Pull request file (generated by request-pull) -d, --db <db_dir> Database directory Options: -n, --linux-next <next_dir> The linux-next directory -h, --help Display this help ``` Best [1] https://git.kernel.org/pub/scm/linux/kernel/git/joel.granados/next-analysis.git/tree/pr-hist.sh?h=jag/master -- Joel Granados ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-22 4:54 ` Kees Cook 2024-10-22 6:48 ` Christoph Hellwig @ 2024-10-22 7:02 ` Geert Uytterhoeven 2024-10-22 8:41 ` Benjamin Tissoires 2 siblings, 0 replies; 92+ messages in thread From: Geert Uytterhoeven @ 2024-10-22 7:02 UTC (permalink / raw) To: Kees Cook; +Cc: Sasha Levin, torvalds, ksummit, linux-kernel On Tue, Oct 22, 2024 at 6:55 AM Kees Cook <kees@kernel.org> wrote: > On October 21, 2024 9:07:13 AM PDT, Sasha Levin <sashal@kernel.org> wrote: > >In an attempt to address the concerns, we're trying out a new "linus-next" > >tree is being created and maintained with the following characteristics: > > > > 1. Composed of pull requests sent directly to Linus > > > > 2. Contains branches destined for imminent inclusion by Linus > > But this means hours or a day or 2 at most. > > > 3. Higher code quality expectation (these are pull requests that > > maintainers expect Linus to pull) > > Are people putting things in linux-next that they don't expect to send to Linus? That seems like the greater problem. Exactly. > > 4. Continuous tree (not daily tags like in linux-next), > > facilitating easier bisection > > I'm not sure how useful that is given the very small time window to find bugs. > > >The linus-next tree aims to provide a more stable and testable > >integration point compared to linux-next, > > Why not just use linux-next? I don't understand how this is any different except that it provides very little time to do testing and will need manual conflict resolutions that have already been done in linux-next. And many actual issues have been seen/worked around in linux-next a few weeks before. In addition, this might make people laxer w.r.t. linux-next, thus increasing Stephen's work load, and making linux-next worse for actual testing. > How about this, instead: no one sends -rc1 PRs to Linus that didn't go through -next. Just have a bot that replies to all PRs with a health check, and Linus can pull it if he thinks it looks good. > > For example, for a given PR, the bot can report: > > - Were the patches CCed to a mailing list? This check would be good to have for linux-next, too. > - A histogram of how long the patches were in next (to show bake times) > - Are any patches associated with test failures? (0day and many other CIs are already running tests against -next; parse those reports) > > We could have a real pre-submit checker! :) Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds ^ permalink raw reply [flat|nested] 92+ messages in thread
* Re: linus-next: improving functional testing for to-be-merged pull requests 2024-10-22 4:54 ` Kees Cook 2024-10-22 6:48 ` Christoph Hellwig 2024-10-22 7:02 ` Geert Uytterhoeven @ 2024-10-22 8:41 ` Benjamin Tissoires 2 siblings, 0 replies; 92+ messages in thread From: Benjamin Tissoires @ 2024-10-22 8:41 UTC (permalink / raw) To: Kees Cook; +Cc: Sasha Levin, torvalds, ksummit, linux-kernel On Oct 21 2024, Kees Cook wrote: > > > On October 21, 2024 9:07:13 AM PDT, Sasha Levin <sashal@kernel.org> wrote: > >In an attempt to address the concerns, we're trying out a new "linus-next" > >tree is being created and maintained with the following characteristics: > > > > 1. Composed of pull requests sent directly to Linus > > > > 2. Contains branches destined for imminent inclusion by Linus > > But this means hours or a day or 2 at most. Yeah :/ > > > 3. Higher code quality expectation (these are pull requests that > > maintainers expect Linus to pull) > > Are people putting things in linux-next that they don't expect to send to Linus? That seems like the greater problem. > > > 4. Continuous tree (not daily tags like in linux-next), > > facilitating easier bisection > > I'm not sure how useful that is given the very small time window to find bugs. I think there is some value for this tree, but the target is not what Sasha explained (or what I understood at least). The linus-next (or whatever linus-pr) is seems to me to be solely targetting Linus, for running pre-merge checks. And that is *very* interesting for him, so yes, I'd vote for a plus one on this. IMO this new tree shouldn't be advertised as a: "please run as many possible tests on this before Linus pulls it", but as a: "we are gathering all PR, run a dedicated sets of tests on it, and if they passes, Linus will look at your PR. If not, your PR will be automatically put on hold". Think of it as a pre-merge testing, and if a PR fails, the maintainer has to sort it out instead of having Linus to sort it out. > > >The linus-next tree aims to provide a more stable and testable > >integration point compared to linux-next, > > Why not just use linux-next? I don't understand how this is any different except that it provides very little time to do testing and will need manual conflict resolutions that have already been done in linux-next. Agree. Gathering general tests should not come *after* the PR has been sent, but before. It could be interesting IMO to have a linux-current-fixes tree which gather trees that are meant to be sent to this current cycle (fixes only basically). In my small subsystem we sometime gather fixes that are not urgent but could go into the current cycle but are not send them right away. They could be integrated in such a tree, but OTOH, they are tested in linux-next already, so it's more of a matter for testers to decide if they want to have a "current tree + upcoming fixes" or not. > > How about this, instead: no one sends -rc1 PRs to Linus that didn't go through -next. Just have a bot that replies to all PRs with a health check, and Linus can pull it if he thinks it looks good. > > For example, for a given PR, the bot can report: > > - Were the patches CCed to a mailing list? > - A histogram of how long the patches were in next (to show bake times) > - Are any patches associated with test failures? (0day and many other CIs are already running tests against -next; parse those reports) > > We could have a real pre-submit checker! :) As long as it only helps making an educated guess (or catch obvious failures) I'm all for it. In the same way stable receives emails from testers before Greg tags the new tree. Cheers, Benjamin ^ permalink raw reply [flat|nested] 92+ messages in thread
end of thread, other threads:[~2024-11-25 20:05 UTC | newest] Thread overview: 92+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2024-10-21 16:07 linus-next: improving functional testing for to-be-merged pull requests Sasha Levin 2024-10-21 17:18 ` Matthieu Baerts 2024-10-21 17:36 ` Sasha Levin 2024-10-22 9:11 ` Matthieu Baerts 2024-10-21 17:24 ` Bart Van Assche 2024-10-21 17:30 ` Sasha Levin 2024-10-21 18:10 ` Luis Chamberlain 2024-10-21 18:36 ` Liam R. Howlett 2024-10-21 19:44 ` Sasha Levin 2024-10-21 22:56 ` Linus Torvalds 2024-10-21 21:41 ` Mark Brown 2024-10-22 9:10 ` Thorsten Leemhuis 2024-10-22 13:19 ` Mark Brown 2024-10-31 19:22 ` Shuah Khan 2024-10-21 23:39 ` Paul E. McKenney 2024-10-22 12:06 ` Jiri Kosina 2024-10-22 14:22 ` Paul E. McKenney 2024-10-22 14:36 ` Sasha Levin 2024-10-22 14:46 ` Paul E. McKenney 2024-10-22 4:54 ` Kees Cook 2024-10-22 6:48 ` Christoph Hellwig 2024-10-22 8:12 ` Steven Rostedt 2024-10-22 9:55 ` Vlastimil Babka 2024-10-22 11:51 ` James Bottomley 2024-10-22 12:47 ` Mark Brown 2024-10-22 19:33 ` Kees Cook 2024-10-23 2:24 ` Guenter Roeck 2024-10-23 5:47 ` Christoph Hellwig 2024-10-23 8:20 ` Steven Rostedt 2024-10-23 8:36 ` Geert Uytterhoeven 2024-10-23 9:19 ` Steven Rostedt 2024-10-23 9:23 ` Geert Uytterhoeven 2024-10-23 10:11 ` Dan Carpenter 2024-10-23 17:51 ` Paul E. McKenney 2024-10-24 3:59 ` Michael Ellerman 2024-10-24 5:01 ` Steven Rostedt 2024-10-24 5:16 ` Guenter Roeck 2024-10-24 6:49 ` Steven Rostedt 2024-10-24 7:01 ` Geert Uytterhoeven 2024-10-24 9:21 ` Steven Rostedt 2024-10-24 9:24 ` Christoph Hellwig 2024-10-24 9:49 ` Steven Rostedt 2024-10-24 11:08 ` Mark Brown 2024-10-24 11:14 ` Christoph Hellwig 2024-10-25 21:04 ` Jiri Kosina 2024-10-24 14:39 ` Guenter Roeck 2024-10-25 1:11 ` Steven Rostedt 2024-10-25 3:52 ` Guenter Roeck 2024-10-25 11:18 ` Mark Brown 2024-10-25 17:23 ` Paul E. McKenney 2024-10-24 17:53 ` Luis Chamberlain 2024-10-25 1:17 ` Steven Rostedt 2024-10-25 2:07 ` Luis Chamberlain 2024-10-31 19:08 ` Shuah Khan 2024-10-31 19:19 ` Steven Rostedt 2024-10-23 9:32 ` Vlastimil Babka 2024-10-23 10:18 ` Thorsten Leemhuis 2024-10-23 11:41 ` James Bottomley 2024-10-22 9:37 ` Sasha Levin 2024-10-23 5:50 ` Christoph Hellwig 2024-10-23 17:47 ` Paul E. McKenney 2024-10-23 18:05 ` Guenter Roeck 2024-10-23 18:09 ` Linus Torvalds 2024-10-23 18:50 ` Geert Uytterhoeven 2024-10-23 18:06 ` Linus Torvalds 2024-10-23 18:37 ` Paul E. McKenney 2024-10-23 19:24 ` Linus Torvalds 2024-10-23 20:22 ` Paul E. McKenney 2024-10-23 21:20 ` Theodore Ts'o 2024-10-23 21:24 ` Mark Brown 2024-10-24 2:51 ` Paul E. McKenney 2024-10-22 10:52 ` Sasha Levin 2024-10-22 11:50 ` Mark Brown 2024-10-22 14:47 ` Sasha Levin 2024-10-22 15:25 ` Mark Brown 2024-10-28 22:46 ` Sasha Levin 2024-10-29 8:10 ` Thorsten Leemhuis 2024-10-29 11:30 ` Sasha Levin 2024-10-29 12:46 ` Thorsten Leemhuis 2024-10-29 15:07 ` Sasha Levin 2024-10-30 6:46 ` Thorsten Leemhuis 2024-10-30 14:10 ` Sasha Levin 2024-10-31 8:13 ` Thorsten Leemhuis 2024-10-29 8:20 ` Geert Uytterhoeven 2024-10-30 17:08 ` Paul E. McKenney 2024-10-30 17:15 ` Sasha Levin 2024-10-30 17:32 ` Paul E. McKenney 2024-11-04 8:49 ` Joel Granados 2024-11-04 11:01 ` Sasha Levin 2024-11-25 20:05 ` Joel Granados 2024-10-22 7:02 ` Geert Uytterhoeven 2024-10-22 8:41 ` Benjamin Tissoires
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox