On Wed, Oct 27, 2021 at 1:38 AM Pasha Tatashin <pasha.tatashin@xxxxxxxxxx> wrote:
The problems with page->_refcount are hard to debug, because usually when they are detected, the damage has occurred a long time ago. Yet, the problems with invalid page refcount may be catastrophic and lead to memory corruptions. Reduce the scope of when the _refcount problems manifest themselves by adding checks for underflows and overflows into functions that modify _refcount. Signed-off-by: Pasha Tatashin <pasha.tatashin@xxxxxxxxxx>
I found some atomic_add/dec are replaced with atomic_add/dec_return, those helpers with return value imply a full memory barrier around it, but others without return value do not. Do you have any numbers to show the impact? Maybe atomic_add/dec_return_relaxed can help this. Thanks.