back to article Linus Torvalds to kernel devs: Grow up and stop pulling all-nighters just before deadline

Linux kernel boss Linus Torvalds has released the first release candidate for version 6.1 of the project and added an appeal for developers to make his life easier by adding code earlier in the development cycle. Work on each new cut of the kernel commences with a two week "merge window" during which developers are encouraged …

  1. A Non e-mouse Silver badge

    I'm sure Linus can knock up a script to scan his emails and reject patches from people who regularly send in patches late.

    1. Anonymous Coward
      Anonymous Coward

      It seems he understands that using technology to solve social problems is inferior to education.

      1. Anonymous Coward
        Anonymous Coward

        It's like he actually wants the contributions, just on a reasonable schedule.

        The knee-jerk "just chuck it away if it's too late" reaction is typical of the OS community but not our new Linus.

      2. stiine Silver badge
        Mushroom

        But education is not as effective as the ban hammer. As some dumbass college folks learned earlier...

        1. theblackhand

          Ban hammer?

          What you need is the BOFHs patented clue hammer.

          Repeated application either imparts the required clue or permanently fixes the problem.

          Tried and tested on hardware. Tempted but untested on westward.

  2. spireite Silver badge
    Holmes

    Success!!!

    30+ years in development, and I've never had a failure after pulling a 1-nighter the evening before release.....

    </sarcasm>

    In dev, we've all done it at least once, or we've put in a simple non-destructive tweak overnight - without telling someone - and then paid the price the following day/week.

    If we've done it more than once it's because of the following options

    1. we're never involved in cleaning up the mess it leaves behind.

    2. we're brain-dead and never learn.

    3. we like like self-flagellation

    4. the day job is usually boring, so let's disrupt the system, for shits and giggles/entertainment/something interesting to do.

    1. David Robinson 1

      Re: Success!!!

      At one place I worked at, the team rule was that Friday afternoon fixes were never rolled out until the following Monday.

      I got to hone some of my Linux skills by making a "simple" change to my personal Linux systems before going to bed. Two hours later, I'd still be unpicking the fallout from the "simple" change.

      1. Yet Another Anonymous coward Silver badge

        Re: Success!!!

        For bonus points decide to 'effectively utilise' that spare 10mins during a compile cycle at 4:00am to do some maintenance on the raid config on main file server......

      2. Henry Wertz 1 Gold badge

        Re: Success!!!

        Good policy! I think every single time on my recent projects when I was like "Oh, it's a 1-line change, and simple, I'll just put it in" and skip doing any testing, I've manage to have a typo in the single line of code -- and when I didn't, Python decided I was mixing tabs and spaces!!! (Idle has that thing to fix this, either switch to all tabs or all spaces. I'm not sure why this comes up since I *always* use tabs, i.e. what is deciding to spontaneously turn some tabs back into spaces. But OK...)

        1. inouthack

          Re: Success!!!

          fixing python spaces is the equivalent of right-click refresh on windoze ?

      3. lbgr

        Re: Success!!!

        That is a good rule - one my current supervisor implemented, too. Actually, changes are discouraged on Mondays, too, because he figured people are not always on their best on a Monday. (No, not the worse for alcohol, most of us are beyond the age of drinking through the weekend ...).

      4. stiine Silver badge
        Linux

        Re: Success!!!

        You too? Thank god for snapshots and one-click backups of /etc/

  3. This post has been deleted by its author

    1. malfeasance

      Re: Err

      You have a merge window, and because you're a kernel dev you know when it's gonna start. You can submit your merge requests on (merge window start +1) or you submit your merge requests on (merge window close -1)

      Which of these is going to get you the best experience out of your interaction with Mr T; he who has been known to pity the fool.

      I don't think that what happens after the merge window closes is relevant to the point that Linus is making; "punctuality is the courtesy of kings" and all that.

      1. This post has been deleted by its author

        1. sten2012

          Re: Err

          I'm with you on this to be honest. One week merge window and one week merge review window sounds like it put this to bed.

        2. Will Godfrey Silver badge
          Meh

          Re: Err

          Well, if I was on the developer team (some hope) I would, as a matter of courtesy, regard it as one week for normal merge requests and one for "Oops! We've just found a nasty bug."

        3. malfeasance

          Re: Err

          Sounds like you're reading into it as though Mr T is (already) having an apoplectic fit. That's not how I'm reading it, so we can agree to disagree about that.

          He's given us fairly clear direction as to his expectations about the merge window; do it early so he has time to review code and understand the wider ramifications of it (if any). If we choose to still give him our merge requests in the way he finds disappointing (merge-window-close - 1) then we won't the best experience and shouldn't be surprised if things don't go our way.

          Anyone vaguely related to a release process will have seen the pain of seeing someone commit a change on the release branch late in the day before go-live. It generally doesn't end well.

          1. This post has been deleted by its author

            1. Anonymous Coward
              Anonymous Coward

              Re: Err

              "The merge window shouldn't end the day before release."

              Why not? Final code is final code. Merging is the final step, all things should be taken care of prior to this "stable" merge, this is not a "testing" release.

              What's ironic is that apparently if you merge on the last day then, Linus himself has to perform an all nightier. In a very real way, he's complaining about doing his job :-/. All of this might be 1 reason nobody wants his job.

          2. Anonymous Coward
            Anonymous Coward

            Re: Err

            I've never thought of Linus as Mr. T, but now I have a wonderful image of B.A. Baracas sat at a keyboard.

            "I ain't merging your regressive change, fool!"...

            1. Uncle Slacky Silver badge

              Re: Err

              "I ain't getting on no (back)plane!"

            2. JT_3K

              Re: Err

              Having never seen a picture of Linus Torvalds (despite being in the industry for a very long time, just generally not doing Linuxy things) I've now got a mental image of a cross between Mr T and Linus from Linus Tech Tips, again at your keyboard.

          3. FlaSheridn

            Re: late in the day & all-nighters

            Yes, and anyone who has done static analysis will have seen lots of bad code written by bright developers with too little sleep.

            1. A.P. Veening Silver badge

              Re: late in the day & all-nighters

              The primary reason I prefer to avoid overtime, generally it takes me twice as much time the next day to fix those mistakes.

        4. Roland6 Silver badge

          Re: Err

          It's a window, not a deadline. Which does raise a question as to what is happening during the merge window:

          How the development process works

          From this we see that it isn't just about submission but a timeboxed activity in which changes are assessed and merged, resulting in the production of a release candidate. Because this activity involves humans, there is a limit on the number of changes that can be merged in a single day ...

          So I am inclined to agree with Linus, you have advance warning of when the merge window is going to happen, plan accordingly because it is unreasonable to expect others to put in extra effort just because you can't be bothered to be disciplined and organised.

          However, perhaps, Linus does need to set a deadline for change submissions and then conduct the two week merge activity.

          1. werdsmith Silver badge

            Re: Err

            Because this activity involves humans, there is a limit on the number of changes that can be merged in a single day ...

            Then don’t merge them in a single day. Allow enough time and merge as many as is comfortable in the time available. Then next day, do some more.

        5. Spazturtle Silver badge

          Re: Err

          Because sometimes there are urgent things that need fixing, or a hardware vendor might have just released some new hardware and the drivers need merging before the next version as that is the version that a load of distros will use for the next year.

        6. georgezilla

          Re: Err

          And you need to either suck it up, or .............................. go the fuck away.

          It's NOT about YOU! And you need to learn and except it.

          It's called reality. And you're just not that damn special.

      2. Roland6 Silver badge

        Re: Err

        An example of Linus being polite to a consistent late submitter, giving details of what the problems are with their late submission.

        https://yarchive.net/comp/linux/merge_window.html

    2. Brewster's Angle Grinder Silver badge

      Re: Err

      I'm with you on this. I'm annoyed by people who set deadlines and then complain that stuff arrives five minutes before the deadline expires. It's human nature. As a perfectionist, I get stressed before submitting and will naturally use all the time available to make sure it's perfect. (I've one more day, so I'll put it on the side today and look over it again tomorrow.) If you need more time to process it, set the deadline earlier.

      And the trouble with these de facto deadlines that close before the formal deadline is that I have no idea how long you will need. Everybody is different. It can vary according to the individual who is handling the request that week/month/cycle, or even what else is going on in their life. I kind of expect it in the touchy-feely departments, but you'd expect more rigour from engineers. If you can say I can run the CPU at xGHz I expect to be able to do so. Likewise, if the deadline closes on Y, I expect to be able to submit up to Y without whining. If you need more time, make a smaller merge window.

      The whole world works smoother when your expectations are is in black and white and I don't have to try and second guess you.

      1. Flocke Kroes Silver badge

        Re: Err x2

        If Intel/AMD can say I can run the CPU at xGHz I expect I can run it at xGHz for a few seconds if it has been idle for the last 10 minutes, is fitted with a bigger heat sink than the one supplied and I need to wear gloves to avoid frostbite. If I complain I expect to be told that the promise applied to the model 1OIl0 I saw reviewed, not the 10lIO that was delivered.

      2. emfiliane

        Re: Err

        You as a new contributor would get a pass, if anything it's almost expected. You as a regular contributor would be held to higher standards.

        The message is telling you to step up your professionalism and step back from absolute deadline-oriented perfectionism, so that you get extra review time. Because unlike an essay deadline, your code is going to be reviewed throughout the RC process and you will have an opportunity to fix bugs, but preferably not rewrite the entire thing from scratch to solve an undiscovered problem. (That's a push to next release.)

        I get it, I'm this way too, but sometimes your boss has to set appropriate expectations to manage timelines properly.

      3. Dave 126 Silver badge

        Re: Err

        > The whole world works smoother when your expectations are is in black and white

        The whole world is comprised of phenomena that we can't measure completely (uncertainty) and even if we could we couldn't calculate accurately (chaos) - and that's long before we approach as messy as biology, humans, or their works.

        Computers are usually deterministic, but only because we've tried hard to make them that way ( those like Linus who spec ECC RAM try harder than others). Engineers working closer to the mud and stones have to embrace the mess unless they're still at school ("For the purposes of this exercise we shall ignore air resistance...")

    3. oiseau
      WTF?

      Re: Err

      ... I would say he still doesn't understand how to manage a project.

      Ahh ...

      And you are going to explain to Linus Torvalds just how to manage a project?

      I see.

      Really, do you have any idea how stupid what you have posted makes you look?

      O.

      1. This post has been deleted by its author

        1. FirstTangoInParis Bronze badge

          Re: Err

          I refer my honourable friends to the post by roland6 above. It explains the finer points of what is going on. In short, it’s not just Linus, it’s Linus and trusted and learned colleagues, and looks well organised to me (but what do I know?).

        2. Anonymous Coward
          Anonymous Coward

          Re: Err

          Your convenience store might be open from 7 in the morning till 11 at night.

          But if 200 people turn up at 10:59 wanting coffee don't expect the staff not to be pissed off and some people to go thirsty.

          All he's saying is that there are two weeks when we do merges and it's easier if we can use all those two weeks and not have 90% of the work arrive in the last five minutes.

          1. This post has been deleted by its author

            1. James Hughes 1

              Re: Err

              Bad management practices. That's funny.

              Linux being one of, if not the, most successful software projects ever, and Torvalds having been in charge of it from day one. That's over 30 years of project management.

    4. DS999 Silver badge

      Maybe he should have a one day merge window?

      Followed by 13 days for him to review submissions, and if he rejects a submission in that time allow them one chance to resubmit a fixed version before the end of that 13 days (if they can't get it right with one resubmission they can wait until kernel x.n+1)

      That way he can have a full two weeks to work on it, but it has it all submitted at once so he can organize it how he wants and look at changes to the same subsystems in one day instead of spread across two weeks.

    5. georgezilla

      Re: Err

      " ... then I would say he still doesn't understand how to manage a project. ... "

      Huh, let's see.

      It's his project. He's been doing it for what? THIRTY YEARS?

      Sorry. It's you that doesn't know how to "manage" a project. If the boss tells you that the project is due by close of business Friday, that means that if you wait until then, YOU ARE LATE. And the rest of the team isn't going to be happy with you.

      So maybe YOU should find a different job.

      1. This post has been deleted by its author

  4. Ian Johnston Silver badge

    I am impressed that Mr Torvalds can review around 12,000 changes over two weeks. That's 1 minute and 41 second each, if he doesn't eat or sleep and doubtless explains the remarkable quality of the Linux kernel and why it needs new versions so often.

    1. emfiliane

      Have you ever used git? When you merge a branch, every commit from that branch comes in, and depending on how you do things that can be anywhere from one to a thousand commits. Linux doesn't squash commits, though individual contributors can (but mostly don't), but Torvalds is only going to review the final state of the overall commit (unless something isn't right and something distinctly interesting appears in the git log of the branch).

      1. Graham 32

        If most of the commits are undoing earlier commits then the end result may be a small review. Although any change with lots of reverts along the way should be a sign that close scrutiny is required.

        For new code, and even if following the lots of small commits strategy, 1m41 is a crazy short time for review. Seems Linus is a "if it compiles it ships" kind of reviewer. I hope there are others doing the real reviews.

        1. James Hughes 1

          Please read up on Linux kernel development, your questions will all be answered.

          1. Graham 32

            I didn't ask any questions.

    2. DS999 Silver badge

      These changes have been reviewed his lieutenants. He doesn't need to (or care to) spend time on stuff that won't really affect the overall operation of the kernel. So changes to driver modules (which are the overwhelming majority) that aren't core he will probably merge without review, trusting his lieutenants. Same for very small merges that are changes to documentation/comments, or code style/cleanup type changes - he will trust his lieutenants to have looked at it and verified that's what it is and in such a case merge without review.

      So he probably only spends time looking at important changes to core functionality, or where code was rewritten.

  5. Pirate Dave Silver badge
    Pirate

    " that should have gone out the window after high school"

    I'm surprised at how "Americanized" Torvalds has become to reference "high school". Although, I guess he has kids in school here, so it's part of the day-to-day vocabulary. Still, as a dumb Mercan myself, I found it an odd phrase for a Finn to use.

    1. werdsmith Silver badge

      He is just speaking the local language. I don’t expect him to use “lukio”.

    2. Dave559

      There's not really anything specifically American about "high school". Both "secondary school" and "high school" are commonly used in the various countries of the UK (my own school, and I think most of the schools in that district, was named as a "high school"), and the term is also used in quite a number of other countries. (Gymnasium is also a fairly common term in many parts of continental Europe, but is generally only used in the 'gym hall' sense of the word in English).

  6. Kev99 Silver badge

    I really wonder how many of the "commits" actually enhance and improve the kernal.

  7. razorfishsl

    Simple reduce the merge window to a week for submitters., and use the last week for Linus.

  8. Robert Grant

    If Linus wants time to review the changes, then why not have a period of time after the merge window closes to review? Or make the merge window one week, followed by a review week? The end of a window is just as valid as the start.

  9. Ex IBMer

    Its easy to fix

    Just treat this as you would your friends who are *always* late.

    Tell everybody that the party starts at 5pm, and set the actual start of the party to 6pm. That way, when the late people turn up, they are actually on time.

    Early people get rewarded by extra nibbles :-)

    1. werdsmith Silver badge

      Re: Its easy to fix

      But everybody knows parties don’t get going properly until 9 or 10pm, so they don’t show up until at least 8 regardless of the start time.

    2. Will Godfrey Silver badge
      Happy

      Re: Its easy to fix

      "Early people get rewarded by the best nibbles :-)"

      FTFY

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Other stories you might like