14

I'm not talking about generic hardware questions (e.g. how Linux names a disk device), I'm talking about the handling of very specific hardware details and interactions1.

The main problem I see is that the level of knowledge required to answer these questions is the same of somebody programming an LKM, or directly the kernel, to control said hardware details and interactions.

I'm not sure if this community accepts such questions as on topic.


1 To contextualise, I'm willing to ask a question about MMIO remapping for the devices behind a node's local PCIe interface on a NUMA system. Particularly the interactions with Source Address Decoders, the SRAT ACPI table and Linux behaviour for cross-node IO requests.

3
  • Parts of that kind of problem might be on topic on EE ? Commented Aug 2, 2019 at 21:03
  • @rackandboneman I think EE is too low level, it's more of a Computer Architecture kind of question. Commented Aug 4, 2019 at 12:07
  • 1
    If you want to include Unix/Linux system programming questions into the scope, It is a request by more than just you. Please keep up the push, because changes always happen from the bottom up, and give some upvote here unix.meta.stackexchange.com/questions/5697, so that it can become visible again or avoid becoming invisible again.
    – Tim
    Commented Dec 15, 2020 at 16:06

2 Answers 2

11

I'm going to suggest that programming questions are in-scope at Stack Overflow. It seems to me that you're "below" the level of the API, which was covered a few years ago in: What is the current consensus on programming questions?

Happily, there are several Linux kernel MMIO questions there already, indicating some (potentially larger) community there than here:

https://stackoverflow.com/search?q=%5Blinux-kernel%5D+MMIO+&mixed=0

There is also a Meta Stack Overflow post Are questions about the internals of the Linux kernel on-topic for Stack Overflow? whose question quotes the linux-kernel tag:

This tag is for questions about the internals of the Linux kernel itself - particularly about writing code that runs within the context of the kernel (like kernel modules or drivers)

and whose upvoted and accepted Answer says, in part:

Would it take a programmer to understand answers to this?

where "yes" means on-topic at Stack Overflow.

1
  • Thank you Jeff, very clear and concise. Commented Jul 30, 2019 at 15:12
0

It’s been established that a question can be on-topic on multiple Stack Exchange sites simultaneously.  Jeff’s answer here focuses on whether certain questions are on-topic at Stack Overflow, which is not what this question asks.  Gilles’s answer to What is the current consensus on programming questions? does not, in my interpretation, really support Jeff’s answer here.  Gilles says,

Power users tend to have a working knowledge of some low-level interfaces (through strace, by reading source code that they half-understand to understand why a program is behaving [sic], …), so questions involving these are also ok here.  Questions requiring serious knowledge of an “advanced” programming language (pointers in C, objects in Perl, etc.) are off-topic.

This (meta-)question (i.e., Margaret Bloom’s question) mentions “a question about MMIO remapping for the devices behind a node’s local PCIe interface on a NUMA system.”  This seems to fall under Gilles’s category of “reading source code … to understand … a program …” and not “serious knowledge of an ‘advanced’ programming language (pointers in C, …)”.  Therefore, I believe that the answer to Margaret Bloom’s question is “yes, questions about the behavior / functionality of Linux are on-topic at U&L.”  And I believe that Gilles’s answer supports this position.

FWIW, I had this exchange with bwDraco four years ago:

Is there a SE site on the Linux Kernel?  Do questions about the Linux kernel get answered on Stack Overflow? – G-Man

@G-Man: Unix & Linux – bwDraco

I can’t see it now, because it’s been deleted, but I had the foresight to bookmark it and keep a copy.  10K users (on Super User) should be able to verify it.

I’ve been bothered by Tim Post’s answer to Are questions about the internals of the Linux kernel on-topic for Stack Overflow? (again, not the same as what Margaret Bloom is asking) ever since I first saw it.  Sure, “Would it take a programmer to understand answers to this?” (or even to understand the question itself) is highly relevant.  But imagine this hypothetical dialog:

I have cataracts and need eye surgery.  Who should I get to do it?

Well, a surgeon, of course.

Sure, if your choices are an auto mechanic, a surgeon, and a taxi Uber driver, you should choose the surgeon.  But, if your choices include a brain surgeon, an eye surgeon (ophthalmologist), and a heart surgeon, you should pick the eye surgeon.

By the same token, “Would it take a Unix system programmer to address this question?” is equally or more important.  I don’t spend a lot of time at SO, but a glance at their tags page shows a concentration in Java, JavaScript, jQuery, PHP, Python and HTML — and, yes, C++ and C#.  C comes in as the 16th tag.  I don’t know how many SO users are going to be able to understand a question about a device driver, memory-mapped I/O, or other kernel code, but it seems like there are going to be a lot of people there who will be unable to answer such a question.  Logically, we should have the highest concentration of Unix experts here at U&L, and so I believe that questions about details of how Unix behaves are on-topic at U&L.

And, if we don’t have the highest concentration of Unix experts here at U&L, that may be because they feel like they’re not wanted here, because questions in their wheelhouse keep getting kicked out.  And, IMHO, that would be a shame.

If Stack Overflow has lots of Unix system programmers, that’s great.  But we should encourage such experts to spend time in U&L by allowing questions about the behavior / functionality of Unix & Linux on the U&L site, no matter how low-level they are.  (Of course questions that are about programming, like  “What’s the difference between i++ and ++i?”, are off-topic here.)

1
  • 2
    I'm sorry, but I disagree with your interpretation of my answer. MMIO remapping is not something that a system administrator would configure by tuning kernel parameters, it's something that only a programmer would interact with. A Linux kernel programmer is a programmer. This is not about reading source code to understand the behavior of a program in order to use this program, but in order to extend this program. It's a question from a programmer, not a question from a user. Commented Aug 5, 2019 at 20:51

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .