From 419e5698a02370f3aab9f2b096361123410aac65 Mon Sep 17 00:00:00 2001 From: Konstantin Belousov Date: Sun, 16 Aug 2020 20:52:24 +0000 Subject: [PATCH] Atomically update vm_object vnp_size, where atomic is available. This will be used later, where it matters on 32bit arches. Reviewed by: markj Tested by: pho Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D25968 --- sys/vm/vnode_pager.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/vm/vnode_pager.c b/sys/vm/vnode_pager.c index 0a1518e94a24..f10153235b30 100644 --- a/sys/vm/vnode_pager.c +++ b/sys/vm/vnode_pager.c @@ -520,7 +520,11 @@ vnode_pager_setsize(struct vnode *vp, vm_ooffset_t nsize) vm_page_xunbusy(m); } out: +#if defined(__powerpc__) && !defined(__powerpc64__) object->un_pager.vnp.vnp_size = nsize; +#else + atomic_store_64(&object->un_pager.vnp.vnp_size, nsize); +#endif object->size = nobjsize; VM_OBJECT_WUNLOCK(object); }