| Date | Sat, 19 Apr 2014 18:05:53 +0200 | From | Pavel Machek <> | Subject | Re: [PATCH 09/28] nios2: Page table management |
| |
Hi!
> This patch adds support for page table management. > > Signed-off-by: Ley Foon Tan <lftan@altera.com>
> +/* > + * Initialize a new pgd / pmd table with invalid pointers. > + */ > +static void pgd_init(pgd_t *pgd) > +{ > + unsigned long *p = (unsigned long *) pgd; > + int i; > + > + for (i = 0; i < USER_PTRS_PER_PGD; i += 8) { > + p[i + 0] = (unsigned long) invalid_pte_table; > + p[i + 1] = (unsigned long) invalid_pte_table; > + p[i + 2] = (unsigned long) invalid_pte_table; > + p[i + 3] = (unsigned long) invalid_pte_table; > + p[i + 4] = (unsigned long) invalid_pte_table; > + p[i + 5] = (unsigned long) invalid_pte_table; > + p[i + 6] = (unsigned long) invalid_pte_table; > + p[i + 7] = (unsigned long) invalid_pte_table; > + }
Umm. Manual loop unrolling. Does it really improve performance? Is the code hot enough to warrant the uglyness?
Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
|