Google是當之無愧的Linux最大用戶,但這位大客戶如何用Linux, 外界卻并不知曉多少。在上周舉行的東京Linux Kernel峰會上,Google工程師Mike Waychison透露了一些使用Linux的信息: Google主要用Perforce管理內核代碼;開發(fā)者固定在單一tree上;每17月,Google會換一個內核版本,最初是Kernel 2.4.18,接著是2.6.11,2.6.18,2.6.26,顯然Google一直落后于內核版本的開發(fā)進度;Google kernel開發(fā)者共30人,一般他們會去檢查自己在tree上的變動,然后18個月后再檢查一次,這造成了嚴重的維護問題;對于最初的2.4.18,他 們打了2000多個補丁,加入了49.2萬行代碼,在最新的2.6.26上他們打了1200多個補丁,加入了30萬行代碼;Google試圖改變這一切, 試圖與內核開發(fā)社區(qū)更好的合作,他們正遷移到Git版本管理系統(tǒng),計劃跟上內核開發(fā)進度;四分之三的Google代碼與core kernel有關,設備支持代碼只有很小的一部分;社區(qū)的開發(fā)太快了,這讓Google與社區(qū)的交流越加困難。
Linus 問Google為什么不愿意公開代碼,Waychison承認他們的代碼并不漂亮,他們并不清楚自己的修改是否對外界有用。對于CPU調度,Google 發(fā)現(xiàn)使用完全公平調度器(completely fair scheduler)會帶來問題,因此在2.6.26上運行的舊的O(1)調度器