On Fri, 11 Jun 2010 11:41:02 +0530 Balbir Singh <balbir@xxxxxxxxxxxxxxxxxx> wrote: > * KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> [2010-06-09 15:59:40]: > > > + if (consume_stock(mem)) { > > + /* > > + * It seems dagerous to access memcg without css_get(). > > + * But considering how consume_stok works, it's not > > + * necessary. If consume_stock success, some charges > > + * from this memcg are cached on this cpu. So, we > > + * don't need to call css_get()/css_tryget() before > > + * calling consume_stock(). > > + */ > > + rcu_read_unlock(); > > + goto done; > > + } > > + if (!css_tryget(&mem->css)) { > > If tryget fails, can one assume that this due to a race and the mem is > about to be freed? > Yes. it's due to a race and "mem" will be no longer used. This does the same thing which try_get_mem_cgrou_from_mm() does now. Thanks, -Kame -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>