Re: return value of ptep_get_and_clear

From: Brian Gerst
Date: Wed Apr 06 2005 - 12:10:33 EST


Kumar Gala wrote:
ptep_get_and_clear has a signature that looks something like:

static inline pte_t ptep_get_and_clear(struct mm_struct *mm, unsigned long addr,
pte_t *ptep)

It appears that its suppose to return the pte_t pointed to by ptep before its modified. Why do we bother doing this? The caller seems perfectly able to dereference ptep and hold on to it. Am I missing something here?

If not, I'll work up a set of patches to change ptep_get_and_clear and its callers for post 2.6.12 release.

- kumar

Because it is an atomic operation. If you dereference it before ptep_get_and_clear() it could change in between.

--
Brian Gerst
-
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/