跳到主要內容

發表文章

目前顯示的是 10月, 2016的文章

[LKML] Linus的PDCA - BUG_ON() 的使用方式

[BUG_ON()] It's not a "let's check that  everybody did things right", it's a "this is a major design rule in  this core code". "good BUG_ON() in solid code that has been around forever" and "bad BUG_ON() checking something that we know we might be getting wrong".                                                                                                   by Linus Torvald Linus Torvalds 在釋出 4.8 後,很快地發現 kernel 在開啟 CONFIG_DEBUG_VM 時,容易會讓 kernel panic。[1] 原因是因為在 VM 的程式碼中,在檢查到某個異常情況時, VM_BUG_ON()會 使用 BUG_ON()。 根據該筆修改的  Johannes Weiner  說法,他的程式碼只會在 CONFIG_DEBUG_VM 時使用 BUG_ON(),所以認為對一般使用者不會有影響才對。 並且,作者認為,如果已經遇到了異常情況,卻不用 BUG_ON() 將系統停住,不就讓系統的行為更無法預期、更難 debug 了嗎? [ 2 ] Linus 很快地回了一封 mail ,說明 BUG_ON() 的...