最新 | 最热门 | 最高评价

+0  clang优化器的一个问题

Tag: *nix and Win32 Kernel
Xin LI 发于 2015年08月27日 12:38 | 点击: 2230 | 展开摘要
今天的一个偶然的发现。FreeBSD clang version 3.6.1 (tags/RELEASE_361/final 237755) 20150525。clang 3.8 2015/07/20 的版本同样有此问题。

之前, FreeBSD 上 strndup(3) 的实现是这样的:

char *
strndup(const char *str, size_t n)
{
size_t len;
char *copy;

len = strnlen(str, n

查看全文: http://www.udpwork.com/item/14551.html

+0  关于闰秒

Tag: *nix and Win32 Kernel
Xin LI 发于 2015年07月07日 06:07 | 点击: 2537 | 展开摘要
phk 老大如此 吐槽:

One week until the leap-second. If you haven't tested your IT-system already, it is too late now. Good luck if you're in California or Japan.

背景

关于时间,A core 几年前写过一个 时间是什么? 的系列: 序言 续一 续二 续三。

为了兼顾天文观测获得的时间 UT1 (更符合普通人的需要)和由铯

查看全文: http://www.udpwork.com/item/14348.html

+0  tcp_keepalive_time and rst Flag in NAT Environment

Tag: *nix | ipvs | kernel | mongodb | tcp
jaseywang 发于 2015年04月27日 14:39 | 点击: 2315 | 展开摘要
Here, I'm not going to explain the details of what is TCP keepalive, what are the 3 related parameters tcp_keepalive_time, tcp_keepalive_intvl, tcp_keepalive_probes mean.

You need to know, the default value of these 3 parameters with

查看全文: http://www.udpwork.com/item/14150.html

+0  通过 tcpcopy(pf_ring) 对 BCM 5719 小包做的多组 benchmark

Tag: *nix | benchmark | kernel | networking | nic | tcp
jaseywang 发于 2015年02月28日 17:19 | 点击: 2163 | 展开摘要
tcpcopy 在文档化、用户参与方式方面有很大的提升空间这个问题在之前已经专门说过。最终,在我们自己阅读代码的情况下,结合 pf_ring,坚持跑通了整个流程,用其对目前 BCM 5719 型号的网卡做了多组对比,结论见结尾。

使用 tcpcopy 做 benchmark,务必确定 tcpcopy 语法使用的正确性, 尽管互联网上绝大多数的文档以及官方文档都写的含糊不清。

比如,我们之前把过滤条件 -F "tcp and dst port 80"

查看全文: http://www.udpwork.com/item/13907.html

+0  FreeBSD -CURRENT随机数发生器问题

Tag: *nix and Win32 Kernel | Security
Xin LI 发于 2015年02月18日 02:52 | 点击: 2317 | 展开摘要
今天 John-Mark Gurney 修正了一个影响过去4个月左右的 FreeBSD -CURRENT 的随机数发生器问题,具体受影响的版本是 r273872(引入问题)到 r278907 (修正)。

由于问题只影响 -CURRENT,因此我们不会就此发表安全公告。

问题的影响:在对随机数发生器 (/dev/random)进行重构的过程中,原先为内核 arc4random(9) API 进行初始化(seeding)的部分没有正确地在新的随机数处理器上线(randomde

查看全文: http://www.udpwork.com/item/13876.html

+0  PF_RING 对网络抓包性能的提升不仅仅是 30% – 40%

Tag: *nix | kernel | tcp
jaseywang 发于 2015年01月22日 21:42 | 点击: 11669 | 展开摘要
pf_ring 由于涉及的东西比较多,最初看的时候可能会云里雾里,不过多看几遍官方文档应该就能大致理解含义了。

安装的步骤可以看这里。 我建议还是自己跑一遍,这样能熟悉每个零部件的作用。要是实在没空,也可以直接用官方提供的 rpm, deb 安装。

这里提示下,除了编译出来的 pf_ring.ko 之外,如果你的 NIC 不支持 PF_RING™-aware driver,那么只能使用 mode 0,如果支持的话,可以使用 mode 1 以及 mode 2

查看全文: http://www.udpwork.com/item/13785.html

+0  不要乱用 TCP ENC flag

Tag: *nix | infrastucture | kernel | tcp
jaseywang 发于 2014年11月15日 13:03 | 点击: 1785 | 展开摘要
前段时间处理了一个 case,现象很简单,同网络环境下的机器,绝大多数的机器都无法 curl 访问 example.com,仅有少部分的可以 curl 访问,并且他们的 mtr 的路径一模一样,机器的配置应该也有一样。

对比一下,可以访问的:

$ curl -IL "http://example.com:80/rest"

-v

* About to connect() to example.com port 80 (#0)



查看全文: http://www.udpwork.com/item/13528.html

+0  最近半个月的工作[14P]

Tag: *nix | around my life | fun | infrastucture | kernel | life | nginx | operations | outage | storm | tcp
jaseywang 发于 2014年09月15日 22:08 | 点击: 1999 | 展开摘要
5 月发生的事,6 月补充完,9 月发出来 ;-)

5 月 13 日周二

开始我们另外一个核心 IDC 最后一次常规性 10G 升级,下面的一部分我们后来把他总结成了《5 月故障总结(post-mortem)》

回家睡了会儿,3:00 am 起床,4:00am 开始连续干了 6h

回公司休息了 1h,塞了点巧克力复活

中午去水立方进行了常规的 1h 训练

回来面(对了,我们目前招高级应用运维工程师 PE,有兴趣的给我简历,邮箱是 w 在 umeng 点

查看全文: http://www.udpwork.com/item/13257.html

+0  不重启更新kernel (kernel hot patch)

Tag: kernel
ricky.bo 发于 2014年08月12日 22:27 | 点击: 2674 | 展开摘要
KernelCare

CloudLinux的KernelCare:更新kernel patch而无需重启。(支持CentOS 6, RHEL 6, CloudLinux OS 6 and OpenVZ (64-bit only).) KernelCare是基于开源代码(Linux kernel mode的)和私有代码组合而成。后续可能开源。

另一个更新的工具是Kpatch,目前仍在开发中。

RHEL有类似的服务(Ksplice services),Oracle也有类似的

查看全文: http://www.udpwork.com/item/12906.html

+0  Redhat & Ubuntu systemtap 安装及使用

Tag: *nix | kernel
jaseywang 发于 2014年07月12日 15:16 | 点击: 2324 | 展开摘要
原本以为是个比较简单的活儿,后来忙了一个晚上加半个白天差不多五六个小时的时间才搞定,主要时间都花在 Ubuntu 上了,归结起来是 Ubuntu 在商业化技术支持方面跟 Redhat 比还是有不少差距的。不管是哪个发行版本,默认都不会安装 debuginfo 的包,所以最重要的是搞定这几个包。

Redhat 的安装教程直接参照官方的说明。

RedHat 默认的 Subscription 里面的 Base-Channel(Red Hat Enterprise Linux

查看全文: http://www.udpwork.com/item/12730.html

+0  FreeBSD 10.0-RELEASE

Tag: *nix and Win32 Kernel
Xin LI 发于 2014年01月21日 10:28 | 点击: 1989 | 展开摘要
这是我加入 FreeBSD Release Engineering Team (re@) 之后,我们发布的第一个主要(X.0)版本。

这个版本对整个系统进行了大量的改进。其中的重要变化包括在基本系统中用 clang 取代了 gcc(所有 Tier-1平台)、新增了 unbound(用于取代BIND的部分功能,后者十分复杂,且支持计划经常与 FreeBSD 的发生冲突)、基本系统中提供了转码API iconv(3) (我在2010年指导的 Summer of Code项目)、

查看全文: http://www.udpwork.com/item/11605.html

+0  OpenZFS Developer Summit

Tag: *nix and Win32 Kernel
Xin LI 发于 2013年11月19日 12:49 | 点击: 1701 | 展开摘要
今天去 San Francisco 的 Delphix 参加了 OpenZFS Developer Summit,今天这会太充实了,先记一笔。

ZFS Channel Program:目前的 ZFS 应用程序需要以多次系统调用来完成一项功能。为了实现原子性,用户态部分实现起来比较复杂,而且最终内核中的 sync task 可能会导致长时间的延迟。提出的解决方案是在 ZFS 内核部分引入一个 Lua 字节码解释器,用户态一次灌一个脚本进去,通过脚本逻辑实现原子性,从而减少上下

查看全文: http://www.udpwork.com/item/11150.html
|<<<1234567>>>| 一共7页, 84条记录