Linked by Eugenia Loli on Wed 10th Oct 2001 16:20 UTC
Original OSNews Interviews Today we have a special guest in the series of interviews we conducting here at OSNews. Linus Torvalds, the well known Linux founder, is with us to discuss everything about the kernel, Microsoft, the naming of GNU/Linux and the future. Read on!
Permalink for comment
To read all comments associated with this story, please click here.

(continued from previous post; silly browser, [Tab],[Space] submitted my last post!) Questions for Linus: There has been some discussion regarding the increasing proportional overhead of using 4K page sizes (x86 and most other 32-bit platforms) on large systems. If you saw a clean implementation, would you accept some patch that would make this adaptive or tunable? How would you envision reducing the overhead (memory/core and processor/cycles) for performing memory management on systems with tens of Gigabytes in RAM? Are there constraints in the common architectures that make this particularly messy? If you could influence the next generation of CPU architecture design (beyond your obvious involvement with Crusoe), what you would change to make things better for future versions of Linux? I've heard that there are still issues with Linux' robustness under extreme load; particularly with high interrupt rates driven by network traffic. Some people have proposed a significant change to the device driver interface which would implement a hybrid interrupt/polling device scheduler (either using thresholds or a simpler "first interrupt fills a queue and sets polling, queue drain re-enables interrupt" model). Have you seen any promising patches for this yet? Do you have any suggestions for any kernel hackers that might be working on this? If this made it into an early 2.5 release, would you want to see a packport into 2.4? You've talked about "the other end of scalability" on a few occasions. Do you have any thoughts on how to scale down to smaller devices (such as PDAs)? Do you think the switch to CML2 [Eric Raymond's kernel "configuration management language" which Linus has said will become standard for 2.5] will facilitate a finer granularity and greater diversity of kernel options? Will its (partially automated) support for patches and external source trees help with some of that low-end scaling? Do you think devfs might help? Would it have to be modularized? I heard of an experiment which re-defined the printk() as a macro (turned very printk() into an empty string or something of that sort). This was used by some embedded system developers to produce a run-time kernel image that was significantly smaller than a stock kernel build. If a clean patch that accomplished this was sent your way, would you merge it? What do you think of the xgcc/MetaL static code assertion testing (is that the right phrase for it) work being done by Dawson Engler's team at Stanford? [This is the project that has uncovered and submitted hundreds of bugs that then "meta language" GCC compiler patches helped discover in the Linux kernel over the course of the last year or so]. If (or when) the release their tools, would you like to see some adoption by kernel developers, perhaps by nudging them to include the meta-assertions that apply to their bits of code? Once upon a time there was a dearth of journaling/logging filesystems for Linux. Now we have an embarassment of riches with about a half dozen contenders in the field (Reiserfs, ext3, JFS, XFS, jffs, and GFS, at least). Do you have any thoughts on how some of the common code among these might be consolidated? Do you have any personal favorite features among these? What do you think is missing from the array of filesystem features available in Linux? Once upon a long time ago there were some unofficial patches to support "overlay" (or translucent, or union) filesystems under Linux. Do you see anyone updating or re-implementing those features? Is there something in the current VFS design that makes this difficult or impractical? What do you think about ACLs (filesystem and/or process)? How about the many other kernel "hardening" patches (such as Openwall, HAP, LIDS, and the NSA's SELinux)? How can we extend the Linux security features while retaining the "UNIX-ness" of Linux? Do you think that the onus for the system's security/integrity still belongs primarily in user space? Are all of these "hardening" patches destined to remain eternally "unofficial" add-ons? Have you looked at or thought about the efforts to create automated kernel test suites? Have you ever considered merging such test suites into the existing kernel sources (as make targets)? [I, for one, would love an easier way to run a newly compiled kernel through its paces for a few days before deploying it on my production systems]. One last "leading" question: What should the kernel do if the init process (PID==1) exits or dies? It seems like traditional UNIX systems rebooted (or panic()'d?) in that case. Linux seems to just silently sit there (presumably still routing, packet filtering, and handling any system calls that come it. What do you think it should do, and why? As you can see, I'm not an interviewer. I'm a techie. I want to dive into details about what the kernel does and how it does it. I'd also like to see some changes --- and I'm curious which of these Linus would consider and which ones he'd hate. The attributes which Linus exhibit that have most contributed to Linux' success are: pragmatism and "good taste." He has consistently recognized what works NOW, and what is too ugly to merge/accept even if it does work now. He doesn't get so caught up in his vision nor in his image of elegance that he fails to just make it better with every step. For example, this protracted period of 2.4.x stabilization which has left us without a 2.5 development branch for almost a year, has been inelegant. Linus has said that he didn't expect it and that he doesn't like it (it doesn't match his "vision" of how it should have been). However, he's done it and made significant progress towards a 2.4 that we can live with on our production servers for a couple years worth of 2.5 development. (BTW: 2.4.x has been a magnitude better than the early 2.2.x releases --- where filesystem corruption concerns had everyone walking on eggshells for six months). Anyway, it's a pity that interviewers don't "get down" with Linus and talk about the kinds of things that he thinks about while he's coding and merging. However, I wouldn't think of going to him and wasting his time with YADI (yet another damned interview). I'd rather leave him to do his hacking and to see the wife and kids when he feels so inclined. Linus (if you've come across this and wasted all this time reading my rants), thanks! You may be one of the better programmers in the world, but I think that pales beside your social skills and good judgement. If you ever get tired of kernel hacking; I'd love to see what you'd do with a database "kernel" (engine). If you ever get sick of UNIX, I'd love to see what you'd do with EROS.