I have a problem about changing a bundle, help!

From: Lai Jiangshan <laijs_at_cn.fujitsu.com>
Date: 2007-12-21 16:58:12
	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@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Received on Fri Dec 21 16:58:23 2007

This archive was generated by hypermail 2.1.8 : 2007-12-21 16:58:37 EST