Re: avoiding duplicate icache flushing of shared maps on nommu

From: Mike Frysinger
Date: Sat Nov 28 2009 - 13:54:01 EST


On Sat, Nov 28, 2009 at 10:40, Mike Frysinger wrote:
> when working with FDPIC, there are many shared maps of read only text
> regions (the C library, applet packages like busybox, ...) between
> applications. Âbut the current mm/nommu.c:do_mmap_pgoff() function
> will issue an icache flush whenever a vma is added to a mm instead of
> only doing it when the map is initially created. Âam i missing
> something obvious here, or would a change like below be OK ? Âthis
> easily cuts the number of icache flushes during boot by 50% if not
> more.

for some actual numbers, my default boot iflushes 18,562,124 bytes.
with this fix, it's down to 4,528,580 bytes (a 75% shrink). with the
stack fix, it's down to 989,636 bytes (a 95% shrink).
-mike
--
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/