Look for Linux xattrs in sys.

The location in attr is deprecated, and the sys location looks
safe at least back through RHEL 5.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Signed-off-by: Venkateswararao Jujjuri (JV) <jvrao@linux.vnet.ibm.com>
Remove the fridge 1.5.

The thread fridge is removed on newapi.  Remove it here so that
a commit restoring and updating it applies to both branches.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Signed-off-by: Venkateswararao Jujjuri (JV) <jvrao@linux.vnet.ibm.com>
Restore updated thread fridge.

The thread fridge is now a thread pool ADT, without static
data.  Most other details are currently carried forward from
the original fridge.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Signed-off-by: Venkateswararao Jujjuri (JV) <jvrao@linux.vnet.ibm.com>
Add glist_splice_tail.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Signed-off-by: Venkateswararao Jujjuri (JV) <jvrao@linux.vnet.ibm.com>
Lookahead 1.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Signed-off-by: Venkateswararao Jujjuri "<jvrao@linux.vnet.ibm.com>
Track tirpc xp_getargs change, deadlock hotfix attempt.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>

Conflicts:
	src/tirpc.sh

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Signed-off-by: Venkateswararao Jujjuri (JV) <jvrao@linux.vnet.ibm.com>
Inverted dispatch model prototype.

In the new model, developed with input from Bruce Lucas (IBM),
request decoding is again decoupled from the worker pool.  A new
style dynamic pool of decoder threads servicing all connections
replaces the original thread-per-connection decoders.  New requests
are inserted in a global (priority) queue, sorted by a new lookahead
classification (nod to Philippe, Jim).  The queue structure is likely
to see some adjustment, but does provide new prioritization (mount,
call, high and low latency) behavior, as discussed in the development
call.

Currently, resource consumption is constrained by two decoded request
quotas, one global, and one per-xprt.  If the global limit is reached,
event threads are delayed until it clears.  If a per-xprt limit is
reached, the affected xprt is 'stalled'--i.e., is unregistered from its
event channel, and added to a queue of stalled xprts, until it clears
or idles out (or is otherwise destroyed).  When the stall queue is
non-empty, a thread from the decoder fridge is dispatched to periodically
scan and unstall cleared xprts.  (Not to Boaz, Brent.  Feedback
appreciated.)

Signed-off-by: Matt Benjamin <matt@linuxbox.com>

Conflicts:
	src/MainNFSD/nfs_worker_thread.c
	src/config_samples/pt.ganesha.nfsd.conf

Signed-off-by: Matt Benjamin <matt@linuxbox.com>

Conflicts:
      MainNFSD/nfs_worker_thread.c

Signed-off-by: Venkateswararao Jujjuri "<jvrao@linux.vnet.ibm.com>
Invert dispatch cleanups and fixes 1.

In addition to general polish, includes fixes for xprt
refcnt leak, leaked fridge mutex in fridgethr_star_routine.
Fix leak of worker 0, due to accidental edit.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>

Incremental dispatch.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Signed-off-by: Venkateswararao Jujjuri (JV) <jvrao@linux.vnet.ibm.com>
Aiee!  Dont leak sp.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Signed-off-by: Venkateswararao Jujjuri (JV) <jvrao@linux.vnet.ibm.com>
Fix wakeup check at SyncDone.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Signed-off-by: Venkateswararao Jujjuri (JV) <jvrao@linux.vnet.ibm.com>
Simplify out REQ_Q_MOUNT slot.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Signed-off-by: Venkateswararao Jujjuri (JV) <jvrao@linux.vnet.ibm.com>
Simplify queue locking some more.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>

Conflicts:
	src/MainNFSD/nfs_rpc_dispatcher_thread.c

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Signed-off-by: Venkateswararao Jujjuri (JV) <jvrao@linux.vnet.ibm.com>
Restore wait logic in fridgethr.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Signed-off-by: Venkateswararao Jujjuri (JV) <jvrao@linux.vnet.ibm.com>
Swot handoff flag logic.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Signed-off-by: Venkateswararao Jujjuri (JV) <jvrao@linux.vnet.ibm.com>
Incremental dispatch.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Signed-off-by: Venkateswararao Jujjuri (JV) <jvrao@linux.vnet.ibm.com>
Incremental dispatcher cleanup with some testing artifacts
(e.g., #if sections, inlcuding simplified dispatcher queue
for perf. baseline).

The most important change is to track TI-RPC switch to
EPOLLONESHOT style event handling.  The oneshot style gives
atomicity, and the inline call to gsh_destroy_xprt on xprt
error now -appears- safe.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>

Conflicts:
	src/MainNFSD/nfs_worker_thread.c

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Signed-off-by: Venkateswararao Jujjuri (JV) <jvrao@linux.vnet.ibm.com>
Patch to make this compile.

Signed-off-by: Venkateswararao Jujjuri "<jvrao@linux.vnet.ibm.com>
Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Fix MNT fallthrough

Signed-off-by: Adam C. Emerson <aemerson@linuxbox.com>
Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Normalize delays in dispatcher hot path, to 5ms.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>
Split slot spinlock.  Bump TI-RPC version.

Signed-off-by: Matt Benjamin <matt@linuxbox.com>

Conflicts:
	src/tirpc.sh

Signed-off-by: Matt Benjamin <matt@linuxbox.com>