Re: [patch 01/29] knfsd: Add infrastructure for measuring RPC service times.

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

 



On Sat, Apr 25, 2009 at 12:13 PM, J. Bruce Fields <bfields@xxxxxxxxxxxx> wrote:
> On Wed, Apr 01, 2009 at 07:28:01AM +1100, Greg Banks wrote:
>> Two new functions; svc_time_mark() remembers the current time
>> in a struct svc_time; svc_time_elapsed() calculates and returns
>> the time since a svc_time was marked.
>>
>> Signed-off-by: Greg Banks <gnb@xxxxxxx>
>> ---
>>
>>  include/linux/sunrpc/svc.h |   12 ++++++++++++
>>  net/sunrpc/svc.c           |   25 +++++++++++++++++++++++++
>>  2 files changed, 37 insertions(+)
>>
>> Index: bfields/include/linux/sunrpc/svc.h
>> ===================================================================
>> --- bfields.orig/include/linux/sunrpc/svc.h
>> +++ bfields/include/linux/sunrpc/svc.h
>> @@ -18,6 +18,16 @@
>>  #include <linux/sunrpc/svcauth.h>
>>  #include <linux/wait.h>
>>  #include <linux/mm.h>
>> +#include <linux/time.h>
>> +
>> +/*
>> + * Structure used to implement a fast lockless elapsed time measure.
>> + */
>> +struct svc_time
>> +{
>> +     struct timespec st_spec;
>> +};
>
> Are struct svc_time, ...
>
>> +void
>> +svc_time_mark(struct svc_time *st)
>> +{
>> +     getnstimeofday(&st->st_spec);
>> +}
>> +EXPORT_SYMBOL(svc_time_mark);
>
> ... and this function really necessary?  If you're not too attached to
> them: it would seem simpler just to use struct timespec and
> getnstimeofday directly.  (Well, at least simpler to read for someone
> familiar with the kernel but not with th nfs code.)

To be quite frank, no.  They're historical; they were very necessary
in the original SLES10-based version of these patches because that
ancient kernel was missing some important time infrastructure bits.
In that code, the structure and functions did some very hairy and
arch-specific things involving jiffies and ITC/TSC registers.  I was
being lazy by not eliding them during forward porting, and I'll do so
in the next version.

-- 
Greg.
--
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