From: Boaz Harrosh <bharrosh@panasas.com>
To: Benny Halevy <bhalevy@tonian.com>
Cc: <tao.peng@emc.com>, <Trond.Myklebust@netapp.com>,
<linux-nfs@vger.kernel.org>, <honey@citi.umich.edu>,
<rees@umich.edu>
Subject: Re: [PATCH 2/3] pnfs: introduce pnfs private workqueue
Date: Wed, 21 Sep 2011 14:42:07 +0300 [thread overview]
Message-ID: <4E79CD8F.6050901@panasas.com> (raw)
In-Reply-To: <4E79CA34.3060602@tonian.com>
On 09/21/2011 02:27 PM, Benny Halevy wrote:
>> Unless we do following:
>> 1. preallocate memory for extent state convertion
>> 2. use nfsiod/rpciod to handle bl_write_cleanup
>> 3. for pnfs error case, create a kthread to recollapse and resend to MDS
>> I don't quite understand. How do you use nfs state manager to do other tasks?
>
> You need to keep a list of things to do hanging off of the nfs client structure
> and set a bit in cl_state telling the state manager it has work to do
> and wake it up. It then needs to go over the list of, say nfs_inodes
> and call into the layout driver to handle the errors.
>
> Benny
Good god, Is it not already too complicated?
The LD is out of the picture. You all seemed to agree that
the LD has reported an io_done on the nfsiod/rpciod, and in the error case
Generic layer needs to do it's coalescing on some other thread. So
your description above is not correct, the LD is out of the picture.
It all looks too complicated for me. A pnfs workqueue for both 2 and 3
above is very good. Specially since the workqueue also shares global
pool threads, No? I like it that there is a preallocated thread for
the error-case, think about it.
Thanks
Boaz
next prev parent reply other threads:[~2011-09-21 11:43 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-09-20 3:18 [PATCH 0/3] replacement for "introduce pnfs private workqueue" Jim Rees
2011-09-20 3:18 ` [PATCH 1/3] pnfsblock: add missing rpc_put_mount and path_put Jim Rees
2011-09-20 3:18 ` [PATCH 2/3] pnfs: introduce pnfs private workqueue Jim Rees
2011-09-20 22:41 ` Trond Myklebust
2011-09-21 0:29 ` Jim Rees
2011-09-21 2:44 ` tao.peng
2011-09-21 4:20 ` Myklebust, Trond
2011-09-21 5:16 ` tao.peng
2011-09-21 7:04 ` Benny Halevy
2011-09-21 10:23 ` tao.peng
2011-09-21 10:38 ` Boaz Harrosh
2011-09-21 11:04 ` tao.peng
2011-09-21 10:56 ` Benny Halevy
2011-09-21 11:10 ` tao.peng
2011-09-21 11:27 ` Benny Halevy
2011-09-21 11:42 ` Boaz Harrosh [this message]
2011-09-21 11:50 ` Benny Halevy
2011-09-21 13:56 ` Boaz Harrosh
2011-09-21 15:45 ` Peng Tao
2011-09-21 16:03 ` Trond Myklebust
2011-09-22 3:30 ` tao.peng
2011-09-22 7:17 ` Boaz Harrosh
2011-09-21 4:22 ` Myklebust, Trond
2011-09-20 3:18 ` [PATCH 3/3] SQUASHME: pnfs: simplify and clean up pnfsiod workqueue Jim Rees
2011-09-21 11:52 ` [PATCH 0/3] replacement for "introduce pnfs private workqueue" Benny Halevy
2011-09-21 12:32 ` Jim Rees
-- strict thread matches above, loose matches on Subject: below --
2011-09-10 17:41 [PATCH 0/3] pnfs private workqueue, and two cleanups Jim Rees
2011-09-10 17:41 ` [PATCH 2/3] pNFS: introduce pnfs private workqueue Jim Rees
2011-09-11 14:51 ` Benny Halevy
2011-09-11 15:15 ` Benny Halevy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4E79CD8F.6050901@panasas.com \
--to=bharrosh@panasas.com \
--cc=Trond.Myklebust@netapp.com \
--cc=bhalevy@tonian.com \
--cc=honey@citi.umich.edu \
--cc=linux-nfs@vger.kernel.org \
--cc=rees@umich.edu \
--cc=tao.peng@emc.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).