Fix memory leak in debug_info functions.
cache_inode_lookup_impl needs to grab exclusive content_lock when CACHE_INODE_TRUST_CONTENT
flag is set.
Remove two pool constructors that just zero memory

pool_alloc by default zeroes memory, no need to duplicate.

constructor_nfs_request_data_t was showing as a significant
function in some gprof runs and is pointless. Also get rid of
constructor_request_data_t.

Signed-off-by: Frank Filz <ffilz@us.ibm.com>
Convert latency stats to msec and use clock_gettime

msec is plenty of granularity for latency statistics.

clock_gettime (which is Linux specific) using the CLOCK_MONOTONIC_COARSE
timer avoids making a system call so it should be much more efficient
for statistics collection.

by having the timer value be an int64_t count of msec since epoch
begin, it becomes something that can be atomically stored and fetched
which eliminates a mutex protecting long running thread detection.
Also, the atomic will be compiled out if stat exporter is not used.

Also reduce calls to nfs_stat_update

Also, since preqnfs->time_queued is not currently set or used,
ifdef out all code related to queue wait time.

Signed-off-by: Frank Filz <ffilz@us.ibm.com>
configure.ac wasn't including -lrt for the new use of clock_gettime().
Compile out stats only used by stat exporter thread if not configured

Signed-off-by: Frank Filz <ffilz@us.ibm.com>
Fix up min/max stats calc and move avg to script

Min/Max must only be accumulated from worker threads that
have at least one request processed of the type.

Average latency is easily calculated by the processing script.

Signed-off-by: Frank Filz <ffilz@us.ibm.com>
Moving to duplex-7 new git repo + fix for thie crash in xdr_CREATE3args

Signed-off-by: Venkateswararao Jujjuri "<jvrao@linux.vnet.ibm.com>
Merge branch 'tp/ibm_next_pt_merge_from_gpfs' into ibm_next_pt_tmp
Fix warnings
Merge branch 'tp/ibm_next_pt_merge_from_gpfs' into ibm_next_pt_tmp
Merge branch 'tp/ibm_next_pt_w_warn_fix' into ibm_next_pt_tmp
This adds an additional requirement for handle closing
eligibility, the m_outstanding_io_count.  This counter
should be zero before closing a handle to prevent a
handle from being closed with IO is still being performed
on it in the server.  There is a corresponding fix in the
server code that is required for this: 81023015.

Signed-off-by: Matthew Cleveland <mgclevel@us.ibm.com>
This adds an additional requirement for handle closing
eligibility, the m_outstanding_io_count.  This counter
should be zero before closing a handle to prevent a
handle from being closed while IO is still being performed
on it in the server.  There is a corresponding fix in the
server code that is required for this: 81023015.

Additionally, the logic for find_oldest_handle has
been moved to the CCL to enable synchronization with
the mutexes internal to that layer.

Signed-off-by: Matthew Cleveland <mgclevel@us.ibm.com>
This adds an additional requirement for handle closing
eligibility, the m_outstanding_io_count.  This counter
should be zero before closing a handle to prevent a
handle from being closed while IO is still being performed
on it in the server.  There is a corresponding fix in the
server code that is required for this: e0af940.

Additionally, the logic for find_oldest_handle has
been moved to the CCL to enable synchronization with
the mutexes internal to that layer.  Timeout value lowered
from 300 to 10.

Signed-off-by: Matthew Cleveland <mgclevel@us.ibm.com>
Merge branch 'tp/81023015' into ibm_next_pt_tmp