Re: ptep_establish/establish_pte needs set_pte_atomic and all set_pte must be written in asm

From: Pavel Machek
Date: Tue Sep 28 2004 - 04:17:32 EST


Hi!

> > > But even ppc64 is wrong as far as C is concerned,
> >
> > Looks fine to me. From include/asm-ppc64/pgtable.h
> >
> > static inline void set_pte(pte_t *ptep, pte_t pte)
> > {
> > if (pte_present(*ptep)) {
> > pte_clear(ptep);
> > flush_tlb_pending();
> > }
> > *ptep = __pte(pte_val(pte)) & ~_PAGE_HPTEFLAGS;
> > }
>
> As far as the C language is concerned that *ptep = something can be
> implemented with 8 writes of 1 byte each (or alternatively with an
> assembler instruction that may make the written data visible not

I'd say that it is okay to do this in arch-dependend
code. Architecture controls list of compilers allowed.


Pavel
--
People were complaining that M$ turns users into beta-testers...
...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl!
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/