Re: [PATCH 4/4] NFSv4.1: pNFS has no business touching the slot table wait queue...

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

 



On Mon, Oct 8, 2012 at 4:04 PM, Myklebust, Trond
<Trond.Myklebust@xxxxxxxxxx> wrote:
> On Mon, 2012-10-08 at 15:59 -0400, Andy Adamson wrote:
>> On Mon, Oct 8, 2012 at 1:50 PM, Trond Myklebust
>> <Trond.Myklebust@xxxxxxxxxx> wrote:
>> > Aside from it being a layering violation, there is no point in doing so:
>> > - If slots are available, then the waitqueue will be empty.
>> > - If no slots are available, then the wake up just causes waitqueue churn
>>
>> We call rpc_wake_up so that I/O waiting on the DS session, all of
>> which needs to be re-directed to the MDS (not via the state recovery
>> machinery), will by-pass the RPC machine "try each task one at a time
>> and redirect on failure" which includes the 60 second TCP timeout on
>> DS connection failures.
>>
>> So, it doesn't just cause waitqueue churn, it significantly reduces
>> the time it takes to recover to the MDS.
>>
>
> All it does is a wake up... That will happen _ANYWAY_ as soon as a slot
> is made available.

That is true. But why wait? Especially when all tasks are I/O, and if
the application happens to be doing a heavy I/O workload, there can be
hundreds of tasks on that wait queue.

We don't care if any DS slots are available. We have given up and re
redirecting these tasks to the MDS session. The sooner, the better.

I'll re-run some tests and demonstrate the time difference
with/without the rpc_wake_up.

-->Andy

>
> So yes, it is pure churn...
>
> --
> Trond Myklebust
> Linux NFS client maintainer
>
> NetApp
> Trond.Myklebust@xxxxxxxxxx
> www.netapp.com
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[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