if (probe_kernel_write((void *)ip, &op, MCOUNT_INSN_SIZE))
                return -EPERM;
 
+
+       flush_icache_range(ip, ip + 8);
+
        return 0;
 }
 
        if (probe_kernel_write((void *)ip, &op, MCOUNT_INSN_SIZE))
                return -EPERM;
 
+       flush_icache_range(ip, ip + 8);
+
        return 0;
 }
 #endif /* PPC64 */
        if (probe_kernel_write((void *)ip, op, MCOUNT_INSN_SIZE * 2))
                return -EPERM;
 
+       flush_icache_range(ip, ip + 8);
+
        return 0;
 }
 #else
        if (probe_kernel_write((void *)ip, &op, MCOUNT_INSN_SIZE))
                return -EPERM;
 
+       flush_icache_range(ip, ip + 8);
+
        return 0;
 }
 #endif /* CONFIG_PPC64 */