HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
torvalds
linux
C2010–2026
torvalds / linux

linux

Linux kernel source tree

742Distinct people
940Mentions
5Explicit recommenders
255.5KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Linux kernel source tree

GitHub

Where it is used

  • Ubuntu — Ubuntu uses the Linux kernel at the core of the operating system to manage and control hardware resources like I/O, memory, and CPU. Source
  • Android — Android uses the upstream Linux LTS kernel as the base of its Android kernel. Google then adds Android-specific patches to produce Android Common Kernels. Source
  • 1 more documented example

What people are saying

For critical applications, I for one would like to know the story behind a commit, preferably in the commit itself and not a reference to an external system like idk, Jira. My…

Cthulhu_ used a recommendation phrase. 5 indexed comments match. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 2:59:53 AM UTC.

GitHub Down Again? direct repository linkCritical

Users report that GitHub's official status page inaccurately claims all systems are operational while widespread 504 gateway timeouts and download failures disrupt CI/CD pipelines and software distribution. The conversation highlights significant frustration with the platform's reliability and transparency, leading to debates about migrating to self-hosted or alternative services like Codeberg.

57 readable replies · Supporting reply 1 · Supporting reply 2 · Supporting reply 3 · Supporting reply 4

Mentions over time

HN mentions by year940 dated mentions

Observed mentions: 2010-07-15 18:39:05 UTC to 2026-10-29 13:46:22 UTC.

02550751002010-01-01 00:00:00 UTC to 2011-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20102011-01-01 00:00:00 UTC to 2012-01-01 00:00:00 UTC (exclusive): 13 mentions; 3 submissions, 10 comments2012-01-01 00:00:00 UTC to 2013-01-01 00:00:00 UTC (exclusive): 24 mentions; 2 submissions, 22 comments2013-01-01 00:00:00 UTC to 2014-01-01 00:00:00 UTC (exclusive): 23 mentions; 5 submissions, 18 comments2014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 31 mentions; 7 submissions, 24 comments2015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 42 mentions; 4 submissions, 38 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 55 mentions; 9 submissions, 46 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 72 mentions; 8 submissions, 64 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 57 mentions; 8 submissions, 49 comments20182019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 66 mentions; 6 submissions, 60 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 80 mentions; 6 submissions, 74 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 91 mentions; 8 submissions, 83 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 104 mentions; 8 submissions, 96 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 76 mentions; 3 submissions, 73 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 76 mentions; 6 submissions, 70 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 72 mentions; 7 submissions, 65 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 57 mentions; 8 submissions, 49 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20102010-01-01 00:00:00 UTC2011-01-01 00:00:00 UTC101
20112011-01-01 00:00:00 UTC2012-01-01 00:00:00 UTC13310
20122012-01-01 00:00:00 UTC2013-01-01 00:00:00 UTC24222
20132013-01-01 00:00:00 UTC2014-01-01 00:00:00 UTC23518
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC31724
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC42438
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC55946
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC72864
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC57849
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC66660
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC80674
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC91883
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC104896
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC76373
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC76670
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC72765
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC57849

What Hacker News says

80 sources
> You cam probably beat an ATMega with a STM32 of some kind. You can run Linux directly on some STM32 MCUs. No emulation required! https://github.com/torvalds/linux/tree/master/arch/arm/mach-... That being said, static operation is really less of an issue than you're implying. Modern MCUs can idle (not sleep!) at under a milliamp; it's not difficult to get them to draw less average current than the leakage current of their battery. The lack of 5V operation is a little annoying in some scenarios, but is easily worked around with a 3.3V LDO -- which is frequently required anyway for interoperability with other components. (A switching converter is hardly necessary for a USB device drawing a couple milliamps.)
In Linux on an 8-Bit Micro? (2012)
The main use case is not forgetting to free resources. It's when you do have resource-freeing code, but it's tricky to make sure you free only the resources you know for sure you have already allocated. This is common in the Linux kernel. A great example is this function I found at random from fork.c: https://github.com/torvalds/linux/blob/master/kernel/fork.c#... Notice that there are five different goto targets, each for a specific case of what has-and-has-not been allocated. The resources are memory, locks, and even TLB flushing. This code would probably be cleaner with defer.
In A Defer Mechanism for C
This is great but here are a few additions that I think are helpful when it comes to gathering information. 1. List all man pages of a specific section (e.g. section 4): `man -k -s 4 . | sort` 2. Output all possible sections: `man man | head -25` 3. Sometimes there is no man page but GNU info can be used: `info ed` `info emacs` 4. A nice website to explain comands and oneliners is explainshell.com. It can also be queried from a terminal quite conveniently. 5. If you're like me, you'll probably often list all the system calls by listing all the pages in section 2. A better way might be to look at the linux source code directly (choose the right architecture): https://github.com/torvalds/linux/blob/master/arch/x86/entry...
In Reading Manpages Like a Pro (2018)
Compare this - * Just a few spaces per indent level * To make this work, and yet allow a few indent levels, the code basically have to have small indent-levels, so I prefer to have it set to two spaces per level. To this, courtesy of the "Linux kernel coding style" [1] - 1) Indentation Tabs are 8 characters, and thus indentations are also 8 characters. There are heretic movements that try to make indentations 4 (or even 2!) characters deep, and that is akin to trying to define the value of PI to be 3. Rationale: [snip] Now, some people will claim that having 8- character indentations makes the code move too far to the right, and makes it hard to read on a 80-character terminal screen. The answer to that is that if you need more than 3 levels of indentation, you’re screwed anyway, and
Read the rest
should fix your program. Having used 8-char tabs for a very long time, I now find looking at smaller tab'ed code a somewhat unpleasant experience. It feels like the code lacks enunciation. As if it mumbles. [1] https://github.com/torvalds/linux/blob/master/Documentation/...
In I am an 80 column purist
A decent chunk of it also comprises definitions of names/addresses/values that are (presumably) automatically translated from some authoritative description. This seems to be optimized for portability and consistent mapping to the input, not optimized for size, so there's a lot of stuff like [1]: typedef enum CRC_SRC_SEL { CRC_SRC_0 = 0x00000000, CRC_SRC_1 = 0x00000001, CRC_SRC_2 = 0x00000002, CRC_SRC_3 = 0x00000003, } CRC_SRC_SEL; This might seem silly and redundant, and there are arguably better ways to express it, but the explicit approach makes a lot more sense if you skim the other definitions and see that some are 1-indexed, some have discontinuities, some have non-obvious reserved or o
Read the rest
therwise special values, some have a totally distinct meaning for each value, etc.. Some of the definitions do look questionable, but on the whole I don't think any amount of macro magic could actually make these definitions small; the feature set of a modern GPU really is massively complex. [1] https://github.com/torvalds/linux/blob/c84e1efae022071a4fcf9...
In Linus Torvalds doubts Linux will get ported to Apple M1 hardware
https://github.com/iovisor/bcc/blob/master/docs/reference_gu... lists the hook points where BPF code can be attached. Also take a look at https://blogs.oracle.com/linux/notes-on-bpf-1 (there are follow-ups - https://blogs.oracle.com/linux/notes-on-bpf-7 has the links at the bottom) and from the Linux source, https://github.com/torvalds/linux/blob/master/include/uapi/l.... https://docs.cilium.io/en/latest/bpf/ is an extensive reference but with an emphasis on the network-related areas (xdp, tc).
In My First Kernel Module: A Debugging Nightmare
That leaves out the fact that the kernel scheduler does in fact issue timed interrupts to all kernel and userspace code running on a given core, except for "critical sections" (where one or more locks are held). That being said, the scheduler is so reliable and so seamless that one need hardly ever worry about it unless a particular block of code must not be interrupted, usually for parts of parallel/multithreaded code that have shared memory or other resources, or sections within the kernel or scheduler itself. More info on the current Linux scheduler here: https://www.kernel.org/doc/html/latest/scheduler/sched-desig... Check out the code here, if you're brave: https://github.com/torvalds/linux/blob/master/kernel/sched/f...
In Windows Subsystem for Linux: The lost potential
> I don't think turning issues off is a sign of a serious project that should be used by many people in production > Above all, such behaviour signals to me that there is only 1 person making commits / merging PRs and they are kind of tired of OSS (which is fine, by the way). The linux kernel doesn't have an issue page and PRs receive a polite comment on how to send their PRs as patches outside of github. https://github.com/torvalds/linux
In Open Source does not mean “Includes Free Support”
Intersting Linux history - Do you by a chance have a link to the commit ? I picked a file from the patch index mail linked above, mm_inline.h, and went scrolling through its history at https://github.com/torvalds/linux/commits/master/include/lin... but didn't see a corresponding change there. I guess the patches might have gotten refactored before merging or something too but would be nice to have a pointer in the Linux tree history that would work as a reference. edit: tried looking for linux/container.h too but that just brings up a newer acpi container related container.h: https://github.com/torvalds/linux/commits/master/include/lin... edit 2: history for linux/cgroup.c starts in a year later in 2007, with this commit: https://github.com/torvalds/linux/commit/ddbcc7e8e50aefe467c... - it has mentions of people from OpenVZ, IBM and a bu
Read the rest
nch of unaffiliated domains in addition to the signed-off-by line from a Googler (Paul Menage).
In A Linux sysadmin's introduction to cgroups

Showing the 15 most recent of 80 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.