Messages in this thread | | | Subject | RE: [PATCH][2.6.23-rc2-mm2] small fix for ia64 icache sync patch | Date | Tue, 21 Aug 2007 14:12:02 -0700 | From | "Luck, Tony" <> |
| |
> + if (pte_present(pteval) &&// swap out ? > + pte_exec(pteval) && // flush only new executable page. > pte_user(pteval) && // ignore kernel page > (!pte_present(*ptep) ||// do_no_page or swap in, migration, > pte_pfn(*ptep) != pte_pfn(pteval))) // do_wp_page(), page copy
David Mosberger was concerned about the increase in code size from this inline function. We can reduce the bloat a bit by defining a macro that tests for "present && executable && user-mode" in one go:
#define pte_pux(pte) ((pte_val(pte) & (_PAGE_P|_PAGE_PL_MASK|_PAGE_AR_RX)) == \ (_PAGE_P|_PAGE_PL_3|_PAGE_AR_RX))
Perhaps there is a better name than "pte_pux"? I don't know whether the code that this generates is faster, but it is smaller (bloat is only 3k instead of 4k).
One last cleanup needed ... don't use C-99/C++ style comments.
-Tony - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |