On Tue, Jun 28, 2016 at 3:07 AM, Jeff Layton <jlayton@xxxxxxxxxx> wrote: > I'm eyeballing how to make ceph dentry revalidation occur in rcu-walk > mode in the kernel cephfs client. It looks fairly straightforward, but > for one thing: > > dentry_lease_is_valid queues an asynchronous lease renewal if we're > halfway to the next lease renewal time: > > if (session) { > ceph_mdsc_lease_send_msg(session, dir, dentry, > CEPH_MDS_LEASE_RENEW, seq); > ceph_put_mds_session(session); > } > > That can sleep, so we have to drop out of rcu walk mode in that case. > > Is this lease renewal strictly necessary? I can make the code drop out > of rcuwalk mode and try again in that case, but if this is just an > opportunistic thing, then it may be better for performance to take a > pass on renewing the lease early if we're still in RCU walk mode. > dentry_lease_is_valid is the only place that renew lease. I think it's better to drop out of rcuwalk and try again Regards Yan, Zheng > -- > Jeff Layton <jlayton@xxxxxxxxxx> > > -- > To unsubscribe from this list: send the line "unsubscribe ceph-devel" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html