Re: accessed/dirty bit handler tuning

From: Zoltan Menyhart <Zoltan.Menyhart_at_bull.net>
Date: 2006-03-30 04:01:44
Ken,

Can you please tell me why are the pud - pmd pointers are re-checked
in "vhpt_miss" ?

	ld8 r26=[r17]				// read *pmd again
#ifdef CONFIG_PGTABLE_4
	ld8 r19=[r28]				// read *pud again
#endif
...
	cmp.ne.or.andcm p6,p7=r26,r20		// did *pmd change
#ifdef CONFIG_PGTABLE_4
	cmp.ne.or.andcm p6,p7=r19,r29		// did *pud change
#endif

As far as I know, pud, pmd, pte pages can go away only via:

	free_pgtables()
		free_pgd_range()
			free_pud_range()
				free_pmd_range()
					free_pte_range()

If a 0xa000... stuff goes away => BUG.
For the user mode pages:

"free_pgtables()" is called only from:

- "exit_mmap()": we simply cannot have the chance to have a vhpt miss
- "unmap_region()" calls "unmap_vmas()" before "free_pgtables()":
   again, we cannot fault in that region

Have I missed something?

Thanks,

Zoltan
-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Received on Thu Mar 30 04:02:00 2006

This archive was generated by hypermail 2.1.8 : 2006-03-30 04:02:14 EST