Return to Video

Help the kernel team help you

  • 0:06 - 0:07
    Without further ado
  • 0:07 - 0:09
    the first talk this morning is by
  • 0:09 - 0:12
    our beloved kernel maintainer Ben Hutchings
  • 0:12 - 0:14
    about "Help the kernel team
    to help you".
  • 0:17 - 0:18
    Hi.
  • 0:18 - 0:24
    [Applause]
  • 0:25 - 0:27
    As Michael said, I'm one of the kernel
    maintainers.
  • 0:27 - 0:30
    I've been on the kernel team
    for about ten years now.
  • 0:36 - 0:37
    So, I'm going to talk about
  • 0:37 - 0:42
    what Debian users and developers can do
  • 0:42 - 0:43
    when interacting with the kernel team
  • 0:44 - 0:52
    to make us more effective, more able
    to deal with your requests quickly.
  • 0:56 - 0:58
    We're quite busy.
  • 0:59 - 1:01
    There are about a dozen people
  • 1:01 - 1:04
    on the kernel team, but
  • 1:04 - 1:07
    most of us have other responsibilities
    within Debian.
  • 1:13 - 1:15
    Most of us are not paid to work
    on Debian either,
  • 1:15 - 1:18
    so we only have a few hours a week
    to spend on it.
  • 1:20 - 1:22
    We get a constant stream of bug reports.
  • 1:25 - 1:26
    Some of which we can handle,
  • 1:26 - 1:28
    some of which unfortunately we can't.
  • 1:29 - 1:32
    There's a large backlog of bug reports
  • 1:32 - 1:37
    that probably won't get dealt with
    in Debian.
  • 1:38 - 1:40
    They might get fixed upstream, but
  • 1:42 - 1:44
    we won't get them.
  • 1:46 - 1:51
    One of the first things you can do
    to make our life easier is
  • 1:51 - 1:53
    report bugs upstream.
  • 1:55 - 2:00
    If you're running a recent kernel, and
    that doesn't have to be absolutely
  • 2:00 - 2:03
    the latest version that Linus released
    yesterday.
  • 2:04 - 2:08
    Any version in testing, unstable,
    or experimental
  • 2:09 - 2:12
    or the current XXX
    in backport suite
  • 2:12 - 2:14
    should be recent enough.
  • 2:14 - 2:16
    If you're running one of those versions,
  • 2:16 - 2:21
    then the upstream kernel developers
    would probably be quite pleased to
  • 2:21 - 2:23
    receive your bug report.
  • 2:25 - 2:29
    Some subsystems in the kernel use
    a bugtracker like Bugzilla
  • 2:31 - 2:33
    and many do not.
  • 2:34 - 2:36
    They just want bug reports XXX
  • 2:36 - 2:38
    to their development mailing list.
  • 2:39 - 2:42
    There's a documentation file called
    MAINTAINERS
  • 2:43 - 2:44
    which we package.
  • 2:44 - 2:46
    You're gonna find it in the linux top package
  • 2:47 - 2:49
    and that lists for each area of the kernel
  • 2:50 - 2:53
    the email addresses of maintainers,
  • 2:53 - 2:59
    the address of any relevant development
    mailing list
  • 3:00 - 3:05
    and in some cases it will say they use a
    bugtracker at this URL.
  • 3:11 - 3:14
    That doesn't mean that you shouldn't
    report a bug in Debian as well.
  • 3:14 - 3:16
    If you report a bug in Debian and upstream,
  • 3:16 - 3:21
    then use the standard 'forwarded' command
    to link them together
  • 3:21 - 3:24
    and we should be able to see
    status changes
  • 3:25 - 3:28
    if you reported in Bugzilla upstream.
  • 3:33 - 3:36
    Secondly, report bugs with the right
    information.
  • 3:38 - 3:42
    The kernel packages we build include
    some hook scripts
  • 3:42 - 3:44
    for the 'reportbug' command
  • 3:44 - 3:47
    so it can gather some diagnostic
    information
  • 3:47 - 3:52
    and we generally expect that if your are
    reporting a bug that is about
  • 3:52 - 3:55
    "This doesn't work on my machine."
  • 3:55 - 3:59
    then we want some diagnostict information
    about your machine.
  • 4:01 - 4:05
    Running some commands might be useful,
  • 4:05 - 4:10
    it's not usually as good as XXX
    diagnostic commands
  • 4:10 - 4:12
    that are in these scripts.
  • 4:13 - 4:17
    So the right way to report a bug
    in the currently running kernel
  • 4:17 - 4:19
    is just 'reportbug kernel'.
  • 4:20 - 4:23
    Reportbug knows how to look up
    the correct package for that.
  • 4:26 - 4:32
    Otherwise, you should report against
    the specific version package
  • 4:33 - 4:37
    for example,
    'linux-image-4.9.0.6-amd64'
  • 4:38 - 4:42
    would be the current kernel package
    if you're running Stretch
  • 4:42 - 4:44
    on a 64 bits PC.
  • 4:45 - 4:50
    Don't file a bug against metapackages
    like linux-image-amd64
  • 4:51 - 4:55
    because those are basically just some
    metadata saying
  • 4:55 - 4:58
    "This is the current version of the kernel
    and you should install that."
  • 4:59 - 5:03
    Don't report bugs against firmware packages
  • 5:03 - 5:06
    unless you're really sure the bug is
    in firmware
  • 5:06 - 5:08
    rather than the driver.
  • 5:09 - 5:12
    This may seem obvious but people do
    those things.
  • 5:17 - 5:18
    Adding features.
  • 5:21 - 5:26
    We do have some long-standing patches
    in the kernel and the linux package.
  • 5:30 - 5:33
    We don't really want to add to those.
  • 5:34 - 5:37
    Most of those really ought to get
    cleaned up and sent upstream
  • 5:37 - 5:39
    but it requires time
    to do that.
  • 5:41 - 5:45
    So, new features should always
    be added upstream.
  • 5:45 - 5:48
    As soon as they're accepted upstream,
  • 5:49 - 5:55
    we're happy to add them into the earlier
    versions that we have in Debian
  • 5:55 - 5:58
    because we know that they've accepted
    upstream,
  • 5:58 - 6:02
    then as soon as we get to that new
    upstream version
  • 6:02 - 6:03
    we can drop that patch,
  • 6:03 - 6:07
    so it's not adding to the long term
    burden of maintainance.
  • 6:10 - 6:15
    I've got a link there to the documentation
    on how to contribute to the kernel.
  • 6:19 - 6:22
    We would be very happy, well I would
    be very happy
  • 6:22 - 6:29
    if people would volunteer to work
    on those long standing patches
  • 6:30 - 6:34
    and get them into a state where they would
    be accepted upstream.
  • 6:39 - 6:43
    So, you reported a bug upstream,
    and it got fixed.
  • 6:44 - 6:45
    That's great.
  • 6:45 - 6:50
    But quite often that fix isn't going
    to get into a stable release
  • 6:50 - 6:53
    of the kernel for several months.
  • 6:57 - 7:02
    If the bug was actually found
    in a stable release,
  • 7:02 - 7:04
    rather than unstable or testing
  • 7:04 - 7:12
    then that fix might not get
    automatically into a stable update at all.
  • 7:14 - 7:18
    So, you probably want to tell us
    what the fix is
  • 7:18 - 7:20
    so that we can apply it now.
  • 7:22 - 7:26
    If you give a reference to the specific
    commit if you know that,
  • 7:26 - 7:28
    that is absolutely ideal.
  • 7:29 - 7:33
    We can easily then dig out that commit
    and add it.
  • 7:35 - 7:42
    There's a patch tracking system used by
    many of the kernel mailing lists
  • 7:42 - 7:49
    called "patchwork" and that will gather
    together a patch and
  • 7:49 - 7:50
    all the discussion about it.
  • 7:51 - 7:54
    XXX to get a patch series
    which is useful
  • 7:54 - 7:56
    if a fix takes multiple steps.
  • 8:00 - 8:03
    If you tell us the patch was discussed
    on a mailing list and
  • 8:03 - 8:04
    link to an archive,
  • 8:04 - 8:10
    that can work, but mailing archives often
    mangle patches
  • 8:10 - 8:12
    so then we need to undo the mangling
  • 8:12 - 8:16
    so that takes longer to deal with.
  • 8:18 - 8:23
    If you send the patch,
    simply send the patch to the bug tracker
  • 8:23 - 8:27
    without any link to "oh this is where it
    came from upstream",
  • 8:27 - 8:30
    that's actually kind of a problem because
  • 8:33 - 8:37
    we don't know whether that's really
    what you say it is.
  • 8:38 - 8:40
    If it's a signed mail
    from a Debian Developer
  • 8:40 - 8:42
    Ok, yeah, we can probably trust it.
  • 8:42 - 8:48
    If it's not a signed mail or it's from
    a Debian user,
  • 8:48 - 8:51
    then we don't know.
  • 8:51 - 8:54
    So we need to look upstream to see
  • 8:54 - 8:57
    "This is the version that got commited."
  • 8:59 - 9:06
    If you want to do a backport from upstream
    to whatever is the current version,
  • 9:06 - 9:10
    that's great, but you need to include
    the upstream reference as well.
  • 9:17 - 9:19
    Talk to us as a team.
  • 9:21 - 9:24
    From time to time, I will get mail
    directly to me, saying
  • 9:25 - 9:28
    "Oh there's this bug." or
    "Can you help me with this?"
  • 9:29 - 9:33
    or occasionally a company saying
  • 9:33 - 9:36
    "Ok, we want to update the support for
    our hardware."
  • 9:39 - 9:41
    They should not be mailing just me,
  • 9:41 - 9:46
    they should always, almost always be
    sending bug reports
  • 9:46 - 9:48
    to the regular Debian bug tracker
  • 9:48 - 9:53
    and all the mail should go to the
    Debian kernel mailing list.
  • 9:55 - 10:02
    We also have a development IRC channel,
    #debian-kernel on irc.debian.org
  • 10:02 - 10:08
    and some things can be discussed there.
  • 10:08 - 10:13
    Usually it's best to send longer messages
    as email.
  • 10:14 - 10:19
    The only reason you would want to
    not use one of those public…
  • 10:19 - 10:23
    The only reason you should not use these
    public channels is
  • 10:23 - 10:28
    if you're discussing a security issue
    that's currently not public
  • 10:28 - 10:31
    and shouldn't be made public until
    it's fixed
  • 10:31 - 10:35
    and in that case, do contact me directly
  • 10:35 - 10:38
    but also the Debian security team.
  • 10:47 - 10:52
    If you want to contribute to the packaging
    rather than
  • 10:52 - 10:55
    if you don't want to touch the kernel code
    itself
  • 10:55 - 10:57
    but you want to contribute
    to the packaging
  • 10:57 - 11:00
    maybe you want to change the configuration
  • 11:00 - 11:07
    maybe you want to make the packaging
    more suitable for its use
  • 11:07 - 11:09
    by downstreams, derivatives
  • 11:12 - 11:16
    If you simply want to improve
    the packaging in Debian
  • 11:20 - 11:25
    Patches to that are OK,
    merge requests are wonderful.
  • 11:26 - 11:31
    Since we moved to Salsa, I can take
    merge requests
  • 11:31 - 11:33
    through the Gitlab software.
  • 11:34 - 11:38
    I found I can review and comment on
    and apply these changes
  • 11:39 - 11:41
    pretty quickly.
  • 11:42 - 11:44
    It also helps so we get so we get
    a notification
  • 11:44 - 11:46
    for all the new merge requests on IRC
  • 11:47 - 11:50
    so that's pretty much instant.
  • 11:52 - 11:58
    If a team member is looking at
    the IRC channel and
  • 11:58 - 12:01
    has time available then they can
    deal with that
  • 12:03 - 12:05
    in minutes sometimes.
  • 12:07 - 12:08
    So, in the last…
  • 12:08 - 12:11
    I checked back in the git history and
    found in the last four weeks
  • 12:11 - 12:13
    that we used Alioth,
  • 12:14 - 12:17
    there appears to be only one patch
    to the linux package
  • 12:17 - 12:24
    that wasn't either picked from upstream
    or done by a team member.
  • 12:25 - 12:28
    And the last four weeks up to yesterday,
  • 12:28 - 12:32
    we accepted 14 merge requests on Salsa.
  • 12:35 - 12:46
    So, this is a massive improvement to
    the productivity of the team and
  • 12:46 - 12:50
    our ability to accept outside contributions.
  • 12:52 - 12:56
    I want again remind that feature patches
    for the kernel code itself
  • 12:56 - 12:58
    do need to go to upstream first.
  • 13:01 - 13:03
    So, that's about it.
  • 13:06 - 13:11
    I've got about five minutes for questions.
  • 13:14 - 13:20
    [Applause]
  • 13:22 - 13:24
    Are there questions?
  • 13:31 - 13:33
    [Q] Hi Ben, thanks for the lecture.
  • 13:34 - 13:38
    I am wondering what are those long
    standing patches you mentioned.
  • 13:39 - 13:41
    Can you give a few examples for that?
  • 13:42 - 13:47
    [Ben] One of the things that actually
    require the most work
  • 13:47 - 13:49
    when moving to a new kernel version is
  • 13:49 - 14:01
    we have a patch to, firstly, add specific
    log messages to the firmware loader
  • 14:02 - 14:05
    so whenever a firmware file is missing
  • 14:05 - 14:08
    it will log that in a standard format.
  • 14:09 - 14:20
    This is useful for the installer,
    which uses that to detect missing firmware
  • 14:20 - 14:21
    and warn you.
  • 14:23 - 14:26
    And then, because many drivers also
  • 14:26 - 14:29
    log firmware errors in inconsistent ways
  • 14:29 - 14:36
    there's a second patch that removes
    those redundant log messages
  • 14:36 - 14:38
    and that one keeps getting conflicts
    when we update.
  • 14:39 - 14:45
    So really, these ought to get cleaned up
    a bit and sent upstream.
  • 14:49 - 14:51
    Further questions?
  • 14:59 - 15:02
    Well, if not, then let's thank Ben again.
Title:
Help the kernel team help you
Description:

Talk given by Ben Hutchings at Minidebconf Hamburg 18
https://meetings-archive.debian.net/pub/debian-meetings/2018/miniconf-hamburg/2018-05-20/help_kernel_help.webm

more » « less
Video Language:
English
Team:
Debconf
Project:
2018_mini-debconf-hamburg
Duration:
15:13

English subtitles

Incomplete

Revisions Compare revisions