On Tue, 27 Sep 2011, Gilad Ben-Yossef wrote: > My hope is to come up with a way to do more code on the CPU doing the > flush_all (which > as you said is a rare and none performance critical code path anyway) > and by that gain the ability > to do the job without interrupting CPUs that do not need to flush > their per cpu pages. You may not need that for the kmem_cache_destroy(). At close time there are no users left and no one should be accessing the cache anyways. You could flush the whole shebang without IPIs. Problem is that there is no guarantee that other processes will not still try to access the cache. If you want to guarantee that then change some settings in either struct kmem_cache or struct kmem_cache_cpu that makes allocation and freeing impossible before flushing the per cpu pages. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>