引用:
|
作者littleshan
不需要。SMP中的spin-lock程式碼行之多年,把它改成monitor/mwait的形式不但浪費人力,效能也不會比較好。
再者,使用spin-lock或是monitor/mwait必需根據CPU屬於真正的physical core亦或是logical core,而這部分必需交給OS來做。也就是說,這兩支指令應該只有在OS實做synchronization時才會用到的。一般的應用程式根本不需要用這麼低階的指令,而應該用OS提供的system call來達到synchronization的功能。這樣做不但簡單易懂,也不會有相容性的問題。
|
沒有人說要把spin-lock程式碼改成monitor/mwait的形式執行
而是相反,把monitor/mwait程式碼改成spin-lock的形式執行
這樣開發商只需要為P4寫一次程式碼就可以直接拿到K8執行
當然也可以用你的方法,但就必須修改程式碼了
相對於開發商來說未必是好事,因為開發時間會長了,多一個選擇給他們並不是壞事