get_page_light()'s use of cmpxchg() is a full barrier already anyway.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
* - it will not be called more than once without dropping the thus
* acquired reference again.
* Due to get_page() reserving one reference, this call cannot fail.
+ *
+ * Note that some callers rely on this being a full memory barrier.
*/
static void get_page_light(struct page_info *page)
{
else
{
BUG_ON(rc != -ERESTART);
- smp_wmb();
+ /* get_page_light() includes a full barrier. */
get_page_light(page);
page->u.inuse.type_info |= PGT_partial;
}