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