在上周的一次非正式谈话中,我偶然听同事说:Linux 的网络栈太慢了!你别指望每秒在每个核上传输超过 5 万的数据包。 这让我陷入了沉思,虽然对于任意的实际应用来说,每个核 5 万的速率可能是极限了,但 Linux 的网络栈究竟可能达到多少呢?我们换一种更有趣的方式来问: 在 Linux 上,编写一个每秒接收 100 万 UDP 数据包的程序究竟有多难? 我希望,通过对这个问题的解答,我们将获得关于如何设计现代网络栈很好的一课。 首先,我们假设: 测量每秒的数据包(pps)比测量每秒字节数(Bps)更有意思。您可以通过更好的管道输送以及发送更
2015-06-30 08:23 Marek Majkowski, jasper
最近在向Linux内核提交一些驱动程序,在提交的过程中,发现自己的代码离Linux内核的coding style要求还是差很多。当初自己对内核文档里的CodingStyle一文只是粗略的浏览,真正写代码的时候在很多细节上会照顾不周。不过,在不遵守规则的程序员队伍里,我并不是孤独的。如果去看drivers/staging下的代码,就会发现很多驱动程序都没有严格遵守内核的coding style,而且在很多驱动程序的TODO文件里,都会把"checkpatch.pl fixes"作为自己的目标之一(checkpatch.pl是用来检查代码是否符合coding style的脚本)。 不可否认,coding style是仁
2015-07-30 08:42 wwang
今天是 Linux 的 24 岁生日。 在 1991 年 4月,芬兰的赫尔辛基大学年仅 21 岁的学生Linus Torvalds 开始做一个他自己的操作系统。在 24 年前的今天,即1991年8月25日,他在 usenet 的 comp.os.minix 新闻组中发布了 Linux 的第一个公告,宣布了 Linux 的诞生。以下是当年Torvalds 写的邮件: Path: gmdzi!unido!fauern!ira.uka.de!sol.ctr.columbia.edu!zaphod.mps.ohio-state.edu!wupost!uunet!mcsun!news.funet.fi!hydra!klaava!torvalds From: torv...@klaava.Helsinki.FI (Linus Benedict Torvalds) Newsgroups: comp.os.minix Subje
2015-08-25 22:10 wxy
随着Linux服务器越来越多了,底层系统内核想要保持版本统一就需要定制专门的二进制安装包来便捷的升级和管理。 RedHat系那当然就是使用rpmbuild来做定制化管理了。 今天我们分俩个部分(root和普通用户)来讲解如何制作内核的二进制rpm包。 Building主机系统环境约定: OS : CentOS release 6.6 Arch : i686 一,rpm包简单定制 注意: 这里我们首先要预留至少20GB的临时文件空间。 1、rpm 制作前的环境准备: yum -y groupinstall "Development Tools" yum -y install ncurses-devel qt-devel yum -y install rpm-build redhat-rpm-c
2015-07-20 16:18 扁豆焖面先生
Linux 内核 4.2已经发布了。Linus Torvalds 在 lkml.org 上写到: 通过这周这么小的变动,看来在最后一周 发布 4.2 版本应该不会有问题,当然还有几个修正,但是看起来也并不需要延迟一周。 所以这就到了,而且 4.3 的合并窗口现已打开。我已经有了几个等待处理的合并请求,明天我开始处理它们,然后在适当的时候放出来。 从 rc8 以来的简短日志很小,已经附加。这个补丁也很小... 新内核 4.2 有哪些改进?: 重写英特尔的x86汇编代码 支持新的 ARM 板和 SoC 对 F2FS 的 per-file 加密 AMDGPU 的内核 DRM 驱动程序 对 Radeon DRM 驱动的
2015-09-03 07:30 Ji m, strugglingyouth
目前的 Linux 内核的开发速度是前所未有的,大概每2到3个月就会有一个主要的版本发布。每个发布都带来几个的新的功能和改进,可以让很多人的处理体验更快、更有效率、或者其它的方面更好。 问题是,你不能在这些内核发布的时候就用它们,你要等到你的发行版带来新内核的发布。我们先前讲到定期更新内核的好处,所以你不必等到那时。让我们来告诉你该怎么做。 免责声明: 我们先前的一些文章已经提到过,升级内核有(很小)的风险可能会破坏你系统。如果发生这种情况,通常可以通过使用旧内核来使系统保持工作,但是有时还是不行。因此我们
2015-08-15 08:44 Danny Stieben, geekpi
一个新的Linux内核已经发布了 - 全世界为之心跳(我们想把它说的诗意一些)。 Linus Torvalds(除了他不会有谁了)在Linux邮件列表(当然不会在别的地方)中宣布,在大概两个月后迎来了第一个4.x系列的Linux内核的发布。 像每次发布前那样,Linux 4.1带来了很多的改变。它们包括了硬件兼容性、电源管理、文件系统性能、以及你从没听说过的处理器的技术修复。 Linux 4.1 已经进入将在10月发布的 Ubuntu 15.10 。 Linux 4.1 有哪些新东西 Tux 收到了邮件 这个标题只是说说而已,我们不是简单地将发布公告贴到这里。 我们会从(大量、冗长以
2015-06-28 16:19 Joey-Elijah Sneddon, geekpi
当Linux驱动程序开发到一定阶段,向kernel.org提交代码是一个很好的选择。对于很多没有向上游提交过代码的开发者来说,还是有很多疑问需要解决的。比如,究竟我们向哪里提交驱动程序?提交时我们的代码应该处于什么状态?提交的过程又如何呢? 向哪里提交 Linux staging tree是Greg KH建立的用于提交驱动程序的git仓库。我们可以把staging tree看作是代码进入mainline内核之前的一个预科班,新增的驱动程序首先需要放到这里供社区review和测试。Staging tree是Greg KH于2008年建立的一棵kernel tree,其建立之目的是用来放置一些未充分测
2015-07-31 10:09 wwang
Linux内核即将发布4.2版RC版(候选版),Linux之父Linus Torvalds表示,如果单从程序代码改变的数量来看的话,4.2的RC版应该是有史以来最大一次更新总共新增了100万行程序代码,同时删除了25万行程序代码。远超越了过去的冠军Linux 3.11RC版本。相比而言,Linux 4.0版本只是小幅更新,而4.1版本修改的程序代码数量是一般平均值。 Linux内核4.2 RC程序代码新增百万行 删25万行 Linus Torvalds解释称,新版本的100万行程序代码中41万行来自支持AMD新的GPU暂存器的描述表头文件(description header),而新的AMD GPU驱动程序也占了8万行左右的程
2015-07-08 18:39
正在开发中的 Linux 4.3已经确定会移除EXT3 文件系统的驱动。 这个移除 EXT3 驱动的代码请求今天早上发给了内核主线。上个月的EXT3 文件系统驱动将从 Linux 内核中移除一文中有更多的细节。 长话短说,EXT4 驱动已经稳定有年,而且它向后兼容 EXT2/EXT3 文件系统。SUSE 的Jan Kara 从 Linux 4.3 中去除 EXT3 驱动将会让内核减少两万八千行代码。同时,内核的 VM 和块设备层的 EXT3 特定的修复也会被移除。 (LCTT 译注:所以不用担心,你的 ext3 文件系统的分区依旧可以使用,ext4 驱动会兼容它们的。) 这个代码请求现在可以在LKML上看
2015-08-31 23:15 Michael Larabel, wxy
分享到微信
打开微信,点击顶部的“╋”,
使用“扫一扫”将网页分享至微信。