folio_clear_swapbacked 和 __folio_clear_swapbacked 区别是什么?
区别在于写 bit 是不是 atomic 的,这个差别非常重要。 这意味着,一个位置如果使用 __folio_clear_swapbacked ,那么当时就是保证 这个位置只有已经持有了什么 lock
static __always_inline void folio_clear_swapbacked(struct folio *folio) {
clear_bit(PG_swapbacked, folio_flags(folio, FOLIO_PF_NO_TAIL));
}
static __always_inline void __folio_clear_swapbacked(struct folio *folio) {
__clear_bit(PG_swapbacked, folio_flags(folio, FOLIO_PF_NO_TAIL));
}
本站所有文章转发 CSDN 将按侵权追究法律责任,其它情况随意。