Re: [PATCH 3 of 5] x86/pgtable.h: demacro ptep_set_access_flags

From: Ingo Molnar
Date: Sat Feb 02 2008 - 04:32:23 EST



* Jeremy Fitzhardinge <jeremy@xxxxxxxx> wrote:

> +static inline int ptep_set_access_flags(struct vm_area_struct *vma,
> + unsigned long address, pte_t *ptep,
> + pte_t entry, int dirty)
> +{
> + int changed = !pte_same(*ptep, entry);
> + if (changed && dirty) {
> + *ptep = entry;
> + pte_update_defer(vma->vm_mm, address, ptep);
> + flush_tlb_page(vma, address);
> + }
> + return changed;
> +}

another thing: these inlines are a bit fat and they are used in more
than one place. Please move them into pgtable.c. The rule of thumb is:
if an inline is more than 2 lines big, it is a likely candidate for
uninlining. (and even many 2-liners, and even some 1-liners are
candidates) Especially under paravirt the MMU inlines grow these update
notifiers so they become even fatter.

having functions instead of inlines also simplifies the type
dependencies by quite a degree.

Ingo
--
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/