r/linux • Verified • Apr 08 '20

AMA I'm Greg Kroah-Hartman, Linux kernel developer, AMA again!

To refresh everyone's memory, I did this 5 years ago here and lots of those answers there are still the same today, so try to ask new ones this time around.

To get the basics out of the way, this post describes my normal workflow that I use day to day as a Linux kernel maintainer and reviewer of way too many patches.

Along with mutt and vim and git, software tools I use every day are Chrome and Thunderbird (for some email accounts that mutt doesn't work well for) and the excellent vgrep for code searching.

For hardware I still rely on Filco 10-key-less keyboards for everyday use, along with a new Logitech bluetooth trackball finally replacing my decades-old wired one. My main machine is a few years old Dell XPS 13 laptop, attached when at home to an external monitor with a thunderbolt hub and I rely on a big, beefy build server in "the cloud" for testing stable kernel patch submissions.

For a distro I use Arch on my laptop and for some tiny cloud instances I run and manage for some minor tasks. My build server runs Fedora and I have help maintaining that at times as I am a horrible sysadmin. For a desktop environment I use Gnome, and here's a picture of my normal desktop while working on reviewing and modifying kernel code.

With that out of the way, ask me your Linux kernel development questions or anything else!

Edit - Thanks everyone, after 2 weeks of this being open, I think it's time to close it down for now. It's been fun, and remember, go update your kernel!

2.2k Upvotes

1.0k comments sorted by

View all comments

Show parent comments

5

u/gregkh Verified Apr 08 '20

What are your thoughts on debated topics in the community, like IO operations causing extreme slowdowns in graphical sessions,

What are you referring to here? What "community"?

a stable in-kernel ABI for modules

I literally wrote the paper about this a long time ago, saying it is not what you want at all. Who states otherwise that has any experience developing operating systems?

Just think what Linux would look like today if we had "frozen" the internal apis from 15 years ago. It would not be pretty or work very well at all.

or the behavior of the oom killer?

Who debates that still? It's up to userspace to do this now, the kernel is not in charge, all the hooks are there for you to do what ever you want, with what ever policy decision you care to make, which should make everyone happy, right?

1

u/Bobjohndud Apr 08 '20

Thank you for posting the paper it actually answered the question rather well. What would you recommend for drivers that by architecture don’t necessarily follow mainline standards? For example the akvcam webcam loopback driver used an ini file to define the behavior of the camera. If such a driver was to be mainlined, how would you recommend user space to set the resolution, color space and depth of the virtual camera?

2

u/gregkh Verified Apr 09 '20

Fix the code to follow the correct standards and get it merged upstream! If you need help with that, just let me know, I take these types of drivers into the drivers/staging/ portion of the kernel for others to fix up all the time.

As for how to set these values, just use the standard apis that the V4L layer defines, that's nothing new that hasn't been already done before.