RE: [PATCH 2/2] nfs41: handle BLK_LAYOUT CB_RECALL_ANY

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi, 

> -----Original Message-----
> From: linux-nfs-owner@xxxxxxxxxxxxxxx [mailto:linux-nfs-owner@xxxxxxxxxxxxxxx]
> On Behalf Of tao.peng@xxxxxxx
> Sent: Tuesday, November 01, 2011 1:29 PM
> To: Trond.Myklebust@xxxxxxxxxx; rees@xxxxxxxxx
> Cc: bhalevy@xxxxxxxxxx; bergwolf@xxxxxxxxx; linux-nfs@xxxxxxxxxxxxxxx;
> nfsv4@xxxxxxxx
> Subject: RE: [PATCH 2/2] nfs41: handle BLK_LAYOUT CB_RECALL_ANY
> 
> Hi, Trond,
> 
> > -----Original Message-----
> > From: Trond Myklebust [mailto:Trond.Myklebust@xxxxxxxxxx]
> > Sent: Tuesday, November 01, 2011 2:40 AM
> > To: Jim Rees
> > Cc: Benny Halevy; Peng Tao; linux-nfs@xxxxxxxxxxxxxxx; Peng, Tao; nfsv4 list
> > Subject: Re: [PATCH 2/2] nfs41: handle BLK_LAYOUT CB_RECALL_ANY
> >
> > On Mon, 2011-10-31 at 14:31 -0400, Jim Rees wrote:
> > > Trond Myklebust wrote:
> > >
> > >   I don't necessarily disagree with what you are saying, but I have yet to
> > >   see a single server side implementation of CB_RECALL_ANY, let alone any
> > >   numbers that indicate performance or responsiveness problems resulting
> > >   from our existing client-side implementation.
> > >
> > >   I therefore find it hard to understand why optimising this particular
> > >   code is such a high priority, or why a patch that is adding per-file
> > >   layoutreturns to initiate_bulk_draining() is going to help anything at
> > >   all.
> > >
> > > Testing between the linux block layout client and the EMC block layout
> > > server revealed a deadlock when the server had handed out some number of
> > > layouts and couldn't hand out any more.  So now the EMC block layout server
> > > implements CB_RECALL_ANY.  So yes, this solves a real world problem, and
> > > yes, there is a server that implements this.
> > >
> > > We had some discussions at the time, and I don't remember if those were on
> > > the linux-nfs list or in some other forum.  We decided that the client was
> > > in the best position to decide which layouts were no longer needed, so we
> > > needed some way for the server to tell the client to return some layouts
> > > without specifying which ones.  CB_RECALL_ANY seemed custom-made for this
> > > purpose, so we used it.
> > >
> > > I don't think it would be appropriate for the server to recall all layouts
> > > when it only needs some of them back.
> >
> > As I said previously: the current client implementation deals with
> > CB_RECALL_ANY by calling initiate_file_draining(), which forgets _all_
> > layouts. If that is what we want to continue to use, then sending
> > layoutreturn with LAYOUTRETURN4_ALL is appropriate.
> > Otherwise, please fix the client to be more selective (in which case
> > LAYOUTRETURN4_FILE may be more appropriate) and please remember to
> > provide performance numbers to justify the need for optimisation.
> OK, fair enough. I will work on the selective layoutreturn approach when I have the
> time slot. And I agree it is of low priority.
I heard that there are some discussions about this in last pnfs Linux status meeting. Sorry I wasn't in the meeting but please someone update briefly what the conclusion is? Is the above solution still valid? Just don't want to go wrong direction again... :-P

Thanks,
Tao
��.n��������+%������w��{.n�����{��w���jg��������ݢj����G�������j:+v���w�m������w�������h�����٥



[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux