All of lore.kernel.org
 help / color / mirror / Atom feed
* is the renewal in dentry_lease_is_valid necessary?
@ 2016-06-27 19:07 Jeff Layton
  2016-06-27 20:11 ` Gregory Farnum
  2016-06-28 13:03 ` Yan, Zheng
  0 siblings, 2 replies; 7+ messages in thread
From: Jeff Layton @ 2016-06-27 19:07 UTC (permalink / raw)
  To: Zheng Yan; +Cc: Ceph Development

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.

-- 
Jeff Layton <jlayton@redhat.com>

--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2016-06-29 12:25 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-06-27 19:07 is the renewal in dentry_lease_is_valid necessary? Jeff Layton
2016-06-27 20:11 ` Gregory Farnum
2016-06-28 13:03 ` Yan, Zheng
2016-06-28 14:00   ` Jeff Layton
2016-06-28 18:58     ` Gregory Farnum
2016-06-29  6:53     ` Yan, Zheng
2016-06-29 12:25       ` Jeff Layton

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.