Recently I experienced user space crash on kernel 2.6.32 after executables and memory foot print grow over particular size. As I found the crash reason is inconsistent I-cache which the code is correct in memory (or L2) but definitely wrong in L1 I-cache. Should I-cache invalidate happen during page reclaim? And Which cache flush hook responsible for it? The work around is ugly need invalidate I cache on every page fill.