Author Archives: admin

The Microsoft C++ Compiler Turns 20!

This month, we enter the third decade of C++ at Microsoft. It was twenty years ago, in February of 1992, that we released our first C++ compiler: Microsoft C/C++ 7.0. Before then, we already worked with several of the C++ … Continue reading

Posted in Uncategorized | Tagged , | Comments Off

fcgi vs. gunicorn vs. uWSGI

uwsgi is the latest and greatest WSGI server and promising to be the fastest possible way to run Nginx + Django. Proof here But! Is it that simple? Especially if you’re involving Django herself. So I set out to benchmark … Continue reading

Posted in Uncategorized | Tagged , | Comments Off

Critical PHP Remote Vulnerability Introduced in Fix for PHP Hashtable Collision DOS

Today, Stefan Esser (@i0n1c) reported a critical remotely exploitable vulnerability in PHP 5.3.9 (updateassigned CVE-2012-0830). The funny thing is that this vulnerability was introduced in the fix for the hash collision DOS (CVE-2011-4885) reported in December. The Vulnerable Fix The fix to … Continue reading

Posted in Bug, php | Tagged , , | Comments Off

Understanding Linux CPU Load – when should you be worried?

You might be familiar with Linux load averages already. Load averages are the three numbers shown with the uptime and top commands – they look like this: load average: 0.09, 0.05, 0.01 Most people have an inkling of what the load averages mean: the … Continue reading

Posted in CPU, Linux | Tagged , , | Comments Off

Linux Local Privilege Escalation via SUID /proc/pid/mem Write

Introducing Mempodipper, an exploit for CVE-2012-0056. /proc/pid/mem is an interface for reading and writing, directly, process memory by seeking around with the same addresses as the process’s virtual memory space. In 2.6.39, the protections against unauthorized access to /proc/pid/mem were … Continue reading

Posted in Kernel, Linux | Tagged , , | Comments Off

EXT4 vs XFS: large volumes with low-end RAID controller

Some months ago, I wrote an article comparing EXT3, EXT4, XFS and BTRFS filesystem performances with a Fedora 14 x86_64 installation done on a Dell Latitude D620 laptop. While the results were quite interesting (especially to evaluate BTRFS performance), they … Continue reading

Posted in FileSystem, RAID | Tagged , , , | Comments Off

alloc_sem of Ext4 block group

Yesterday Amir Goldstein sent me an email for a deadlock issue. I was in Chinese New Year vacation, could not have time to check the code (also I know I can not answer his question with ease). Thanks to Ted, … Continue reading

Posted in FileSystem | Tagged , , | Comments Off

Three Practical System Workloads of Taobao

Days ago, I gave a talk on an academic seminar at ACT of Beihang University (http://act.buaa.edu.cn/). In my talk, I introduced three typical system workloads we (a group of system software developers inside Taobao) observed from the most heavily used/deployed … Continue reading

Posted in Uncategorized | Tagged | Comments Off

Don’t waste your SSD blocks

These days, one of my colleagues asked me a question, he formatted an ~80G Ext3 file system on SSD. After mounted the file system, the df output was, Filesystem 1K-blocks Used Available Use% Mounted on /dev/sdb1 77418272 184216 73301344 1 … Continue reading

Posted in SSD | Tagged , | Comments Off

Random I/O — Is raw device always faster than file system ?

For some implementations of distributed file systems, like TFS [1], developers think storing data on raw device directly (e.g. /dev/sdb, /dev/sdc…) might be faster than on file systems. Their choice is reasonable, 1, Random I/O on large file cannot get … Continue reading

Posted in Uncategorized | Tagged , , , | Comments Off