>>> On 20.08.18 at 07:14, <jgr...@suse.com> wrote:
> @@ -148,14 +150,14 @@ static inline void pud_clear(pud_t *pudp)
>  #ifdef CONFIG_SMP
>  static inline pte_t native_ptep_get_and_clear(pte_t *ptep)
>  {
> -     pte_t res;
> +     union {
> +             pte_t pte;
> +             long long val;
> +     } res;

Why the union? pte_t already is one, with the pte field being what
you're after ...

> -     /* xchg acts as a barrier before the setting of the high bits */
> -     res.pte_low = xchg(&ptep->pte_low, 0);
> -     res.pte_high = ptep->pte_high;
> -     ptep->pte_high = 0;
> +     res.val = arch_atomic64_xchg((atomic64_t *)ptep, 0);

... here.

Jan



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to