
One MEEELION lines…
Does this mean we jump to version 5.0 now?
Linus Torvalds has loosed Linux 4.2-rc1 upon a waiting world, and rates it the biggest release candidate ever in terms of the volume of new code it contains. The Linux Lord writes that “if you count the size in pure number of lines changed, this really seems to be the biggest rc we've ever had, with over a million lines added …
"...leaving you without a sane way of interrupting a failing boot in order to get into safe mode "
Other than pressing F8 you mean?
Or letting it fail three times in which case it will jump to recovery itself.
But yeah, those things - as well as changing the boot order in the BIOS to recovery media (PXE, USB, optical etc.) - aside it's really, really hard to get into safe mode. /s
@Steve:
F8 is disabled by default in Windows 8/8.1/10. It is my opinion that the person who thought disabling F8 was a good idea needs to be smacked in the head every day for the rest of his life.
Also, sometimes the three time fail does not get you into a recovery console. This is especially true if you get a blue screen. The only guaranteed way to get to the recovery console is to hold shift after you click on the shutdown icon. But Windows has to be running for that to work.
"The "improved" boot times of Windows 8(.1) is actually one of the biggest pieces of carp introduced, leaving you without a sane way of interrupting a failing boot in order to get into safe mode and try to fix whatever an update has botched..."
Millions of users get a powerful real-world improvement, but a few tech support people have a slightly harder time and you think it's a big piece of "carp"?
Trouble is when you get a failed machine still under warranty with a warranty seal.
Do you break the seal or not? In the past you didnt have to, you could choose an alternate boot source, and run your repair tools. Now you have to fight with the system to get the UEFI option screen.
Not a nice situation, when you discover the drive is failing and you lost valuble time in trying to recover their prized memories. (Its the Old Dears that generally loose the most)
Not quite the same thing. The kernel is not a complete OS. In this case, the kernel is available - but to make the comparison closer, it is released to the distribution packagers that get to do the testing... Once they finish, then the users get to test the completed OS.
So this is more just releasing the kernel. Not what MS released.
So is this driver code hard-baked into the kernel? What if I don't have an AMD GPU? Do I still get to use up RAM for what sounds like a large chunk of driver code? Or is it actually an optional kernel loadable module?
As with all drivers, that's up to whomever builds the kernel. For most distros, that means it's a loadable module - you only get it if it can do you some good.
But if you want to bake it into the kernel, that's a build-time option you can choose if you think it makes sense for you. Most people won't.
Vic.
All those lines of source code don't end up as object code in a final installation unless they're needed to run devices and filesystems on the target, surely? For a typical domestic or 'professional' installation, I'm wondering what percentage of the full source code actually ends up being installed. I'd also assume that people who 'roll their own' can make a very small final installation.
OpenWRT comes immediately to mind. I think their kernel on most architectures isn't that much more than a few meg.
Debian on i386 has a kernel that on its own is only about 3MB. The driver modules occupy 81MB, most of those aren't loaded unless required.
If your storage is a 256MB SD card or flash chip, then I can see why 81MB is a problem. Most users haven't had this problem for about 20 years.
> If your storage is a 256MB SD card or flash chip, then I can see why 81MB is a problem
For microcontroller programming storage is often measured in kb not meg (and not big numbers). Some consumer routers also don't come with 80 meg of flash even today. I looked and without the modules the OpenWRT kernel itself is only about 1 meg. Good enough to boot a router but not much else.
Yep, I agree there. I once wrote code for a machine that had 512 BYTES of RAM. (Not kB, bytes)
Microcontrollers with a few kB of storage are not going to run a Linux kernel. Anything that runs a consumer or server edition of Windows however, will probably not have a problem storing 100MB+ of kernel driver modules.
>For microcontroller programming storage is often measured in kb not meg (and not big numbers).
The sort of microcontrollers that Linux can run on (like the H8300 port that has just been reintroduced) can access megabytes of RAM (and usually have 32bit address spaces) so their storage would be measured in megabytes.
>Some consumer routers also don't come with 80 meg of flash even today.
You don't need to have every driver that Linux has.. you probably can't even select most of the drivers on non-x86 arches.
>I looked and without the modules the OpenWRT kernel itself is only about 1 meg.
>Good enough to boot a router but not much else.
Surely the 1MB kernel is enough to boot the router and load smallish modules like iptables etc to make it function as a router... otherwise you need to tell the openwrt guys they have been wasting their time for however many years they've been working on it.
>The sort of microcontrollers that Linux can run on (like the H8300 port that has just been reintroduced) can access megabytes of RAM (and usually have 32bit address spaces) so their storage would be measured in megabytes.
Yes was just reminding original poster that not every computing device is a laptop made in the last four years. But yeah to run the linux kernel you are going to need megs of memory at least.
>You don't need to have every driver that Linux has.. you probably can't even select most of the drivers on non-x86 arches.
Again well aware of that but original poster was saying why worry about storage for linux modules at all when many embedded devices do use Linux and yet don't have massive storage.
>Surely the 1MB kernel is enough to boot the router and load smallish modules like iptables etc to make it function as a router... otherwise you need to tell the openwrt guys they have been wasting their time for however many years they've been working on it.
I think you can get a fully functional basic router for less than 3 meg with the newest kernel (used to be under 2 on older kernels) but the modules, libs and progs (such as dnsmasq) needed for even a fairly basic router usually are as big as the kernel itself.
ll those lines of source code don't end up as object code in a final installation unless they're needed to run devices and filesystems on the target, surely?
They will most assuredly end up as object code on an installation. They just won't actually be loaded unless the relevant hardware is detected. This is marginally inefficient in terms of disk space use[1], but means that a major change of hardware between boots of the same drive doesn't cause problems.
For a typical domestic or 'professional' installation, I'm wondering what percentage of the full source code actually ends up being installed.
If you mean the object code built from that source, then substantially all of it gets installed, so it's available if needed.
I'd also assume that people who 'roll their own' can make a very small final installation.
Yes, if that makes sense to them. That's usually only the case when disk space is at a premium.
Vic.
[1] For example, the machine I am typing this on uses an Intel processor. That means that the AMD MC support driver (amd64_edac_mod) is wasting nearly 39K of my disk space. I think I can live with that.
OK so extra code for GPAs &c going in. Most 'stock' compilations of the kernel will simply leave that code out or provide it as a binary module for dynamic loading as others have said.
Anyone have an idea about how much code came out? The x86 changes for instance could be replacing older crufty code with newer code thus eliminating some exploits (and perhaps introducing new ones).
"One of my most productive days was throwing away 1000 lines of code." -- Ken Thompson
"When the Lisa team was pushing to finalize their software in 1982, project managers started requiring programmers to submit weekly forms reporting on the number of lines of code they had written. Bill Atkinson thought that was silly. For the week in which he had rewritten QuickDraw’s region calculation routines to be six times faster and 2000 lines shorter, he put "-2000" on the form. After a few more weeks the managers stopped asking him to fill out the form, and he gladly complied."
http://programmers.stackexchange.com/questions/103807/what-is-negative-code
So, I had a look at that single large commit (removed 9,838 ; added 453,818 lines) in 4.2-rc1 and it's interesting one, here, because of the following 2 new drivers:
This is going to be useful.
Good comeback.. I guess I should have written 'windows programs' !
As for the four morons that downvoted, I thought it was pretty obvious without knowing my posting history that this was an intentionally stupid tongue-in-cheek post.
So obvious, that I thought the "JOKE ALERT" icon an insult to readers intelligence.
It seems that at least four of you don't know sarcasm when it hits you in the face
I understand that Linus is far above us mortals, but this volume of code seems a little scary to me. Look at the AMD driver files for example, like atombios.h. 8000+ lines of magic numbers. After reviewing the first few hundred lines your eyes go squiggly and it would be easy to mistake a 0x08 for a 0x00. I'm not sure even the many eyeballs/shallow bugs theory would hold here.
If was a government employee of a certain three letter agency, I would be eyeing this level of change with much interest. We already know that people have tried to slip in one-character exploits to people's source code servers...