Stories
Slash Boxes
Comments

SoylentNews is people

SoylentNews is powered by your submissions, so send in your scoop. Only 16 submissions in the queue.
posted by janrinok on Sunday May 03, @07:19PM   Printer-friendly

https://www.phoronix.com/news/Linux-Kernel-Nearly-40M

Ahead of the Linux 7.1-rc1 kernel release due out later today for closing the Linux 7.1 merge window, I was curious if all the code removals would lead to a negative change in line count over Linux 7.0. The removals were not enough and Linux 7.1 Git is fast approaching 40 million lines.

With Linux 7.1 removing ISDN, ham radio, and other old network driver code that yielded a 138k lines of code reduction, I was curious how that would impact the line count for Linux Git. Plus removing some obsolete PCMCIA drivers also happened for Linux 7.1 as did removing some PCI drivers and beginning to remove support for Russia's Baikal CPUs. Linux 7.1 also began decommissioning of the Intel 486 CPU support but that doesn't have much impact on the line count yet, more removals around now useless i486 bits will come in future kernel cycles.

The Git repository for Linux v7.0 came in at 39,621,378 lines between 4,991,874 blank lines, 4,737,829 lines of code comments, and then 29,891,675 lines of detected code as measured by the cloc program.

Even with the removals, Linux 7.1 is still growing larger. Linux Git as of this morning measured by cloc came in at 39,880,636 lines -- or roughly 259k lines of code added this merge window even with all the removals that took place. That 39.8M lines is between 5,015,790 blank lines, 4,775,889 code comments, and 30,088,957 lines as measured by cloc. So Linux 7.1 crossed the threshold of 30 million lines of detected code while with the blank lines and code comments is fast approaching 40 million lines. For the Linux 7.2 cycle is presumably when it will breach 40 million lines in total.

While at it, I also took a read of the current size of the drivers/gpu/drm/amd area with AMDGPU and AMDKFD along with associated code like the display core (DC) and all the auto-generated header files for each GPU. In Linux 7.0 the modern AMD kernel graphics driver stack was at 6,049,235 lines and now rose to 6,162,946 in the current Linux 7.1 Git state.


Original Submission

 
This discussion was created by janrinok (52) for logged-in users only, but now has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 3, Touché) by turgid on Tuesday May 05, @09:08PM (2 children)

    by turgid (4318) Subscriber Badge on Tuesday May 05, @09:08PM (#1441674) Journal

    Thousands upon thousands of embedded SBC boards are supported by Linux. Many have ARM CPUs and even more exotic ones. Most of that support is in the Linux kernel tree. It's not really just a kernel, but board support too. Now, how does Windows compare? What are all those lines of code doing?

    Starting Score:    1  point
    Moderation   +1  
       Touché=1, Total=1
    Extra 'Touché' Modifier   0  
    Karma-Bonus Modifier   +1  

    Total Score:   3  
  • (Score: 2) by DadaDoofy on Wednesday May 06, @09:27PM (1 child)

    by DadaDoofy (23827) on Wednesday May 06, @09:27PM (#1441749)

    I'm not defending the indefensible Widows. My point is simply that 40 million lines is fat and bloated.

    Why do I need a Linux with code to support "thousands upon thousands of embedded SBC boards" I don't have in my environment?

    In this day and age, there is no reason why AI can't whittle away everything you don't specifically need from the kernel source code and build a slim, trim custom kernel implementation with only what's necessary in it.

    • (Score: 2) by turgid on Wednesday May 06, @09:33PM

      by turgid (4318) Subscriber Badge on Wednesday May 06, @09:33PM (#1441750) Journal

      You don't need AI to do that. The kernel comes with its own configuration tool. In fact, your distribution comes with the configuration file used to built its kernel. You can start with that, in the configuration tool, and tweak it to whatever you want. You did read the documentation, didn't you?