[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-ia64-devel] [PATCH 1/7][SMP] add volatile to mpt_table
On Thu, 2006-06-15 at 11:58 +0900, Isaku Yamahata wrote: > 1 / 7 > _# HG changeset patch > # User yamahata@xxxxxxxxxxxxx > # Node ID ad418fdb1981be2108d84bafbd294a9db9899396 > # Parent d33add81096b057f98fa740ab88d6c17426f8d68 > mpt_table is accessed concurrently by cpus, so it needs volatile > qualifier > PATCHNAME: volatile_mpt_table > diff -r d33add81096b -r ad418fdb1981 xen/arch/ia64/xen/xenmem.c > --- a/xen/arch/ia64/xen/xenmem.c Wed Jun 14 16:05:45 2006 -0600 > +++ b/xen/arch/ia64/xen/xenmem.c Thu Jun 15 11:33:14 2006 +0900 > @@ -35,7 +35,7 @@ unsigned long max_page; > /* > * Set up the page tables. > */ > -unsigned long *mpt_table; > +volatile unsigned long *mpt_table; > > void > paging_init (void) > @@ -140,7 +140,7 @@ create_mpttable_page_table (u64 start, u > create_mpttable_page_table (u64 start, u64 end, void *arg) > { > unsigned long address, start_page, end_page; > - unsigned long *map_start, *map_end; > + volatile unsigned long *map_start, *map_end; > pgd_t *pgd; > pud_t *pud; > pmd_t *pmd; [snip...] I don't understand why map_start and map_end need to be volatile here. They only seem to be copying volatile values for later use so there is no need for them to be volatile; did I miss something? Thanks for the clarification. -- Ciao, al ---------------------------------------------------------------------- Al Stone Alter Ego: Open Source and Linux R&D Debian Developer Hewlett-Packard Company http://www.debian.org E-mail: ahs3@xxxxxxxxx ahs3@xxxxxxxxxx ---------------------------------------------------------------------- _______________________________________________ Xen-ia64-devel mailing list Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-ia64-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |