Hello! Are the following statements safe? Is there any coherence problem? And why? /* change the instruction */ memcpy(ins_addr, ins_buf, sizeof(struct ia64_bundle)); flush_icache_range(ins_addr, ins_addr + sizeof(struct ia64_bundle)); I have make sure that just one thread changes the instruction(bundle), but maybe a lot of threads execute the instruction in the same time. Is any thread executes an error instruction(maybe an error bundle combined with old bundle and new bundle, or other) in some condition? If the statements are unsafe, how can i change a bundle safely? Best Regards! Lai Jiangshan - To unsubscribe from this list: send the line "unsubscribe linux-ia64" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |