All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
From: Mikulas Patocka <mpatocka@redhat.com>
To: Vivek Goyal <vgoyal@redhat.com>
Cc: Mike Snitzer <msnitzer@redhat.com>,
	Laurence Oberman <loberman@redhat.com>,
	Tao Ma <boyu.mt@taobao.com>, Robin Dong <sanbai@alibaba-inc.com>,
	dm-devel@redhat.com, Coly Li <colyli@gmail.com>,
	"Alasdair G. Kergon" <agk@redhat.com>
Subject: Re: [PATCH 2/4] dm stats: support precise timestamps
Date: Wed, 17 Jun 2015 09:17:40 -0400 (EDT)	[thread overview]
Message-ID: <alpine.LRH.2.02.1506170908070.15768@file01.intranet.prod.int.rdu2.redhat.com> (raw)
In-Reply-To: <20150617014324.GA30214@redhat.com>



On Tue, 16 Jun 2015, Vivek Goyal wrote:

> On Tue, Jun 16, 2015 at 03:27:48PM -0400, Mikulas Patocka wrote:
> > 
> > 
> > On Tue, 16 Jun 2015, Vivek Goyal wrote:
> > 
> > > On Tue, Jun 09, 2015 at 05:21:39PM -0400, Mikulas Patocka wrote:
> > > 
> > > [..]
> > > >  Messages
> > > >  ========
> > > >  
> > > > -    @stats_create <range> <step> [<program_id> [<aux_data>]]
> > > > +    @stats_create <range> <step>
> > > > +    		[<number_of_optional_arguments> <optional_arguments>...]
> > > > +		[<program_id> [<aux_data>]]
> > > >  
> > > >  	Create a new region and return the region_id.
> > > >  
> > > > @@ -48,6 +54,17 @@ Messages
> > > >  	  "/<number_of_areas>" - the range is subdivided into the specified
> > > >  				 number of areas.
> > > >  
> > > > +	<number_of_optional_arguments>
> > > > +	  The number of optional arguments
> > > > +
> > > > +	<optional_arguments>
> > > > +	  The following optional arguments are supported
> > > > +	  precise_timestamps - use precise timer with nanosecond resolution
> > > > +	  	instead of the "jiffies" variable.  When this argument is
> > > > +		used, the resulting times are in nanoseconds instead of
> > > > +		milliseconds.  Precise timestamps are a little bit slower
> > > > +		to obtain than jiffies-based timestamps.
> > > > +
> > > 
> > > Instead of "precise_timestams" will it make sense to call it
> > > "nanosecond_timestamps" or "ns_timestamps".
> > > 
> > > 
> > > >  	<program_id>
> > > >  	  An optional parameter.  A name that uniquely identifies
> > > >  	  the userspace owner of the range.  This groups ranges together
> > > 
> > > We are adding these new parameters/arguments in between existing parameters.
> > > Will it break any of the existing scritps. Will it make sense to add these
> > > new parameters at the end. It is more intuitive.
> > 
> > It could break someone who uses number as program_id - but there is no 
> > program on Linux with name that is a pure number.
> > 
> 
> There does not seem to be any restriction that program_id has to be
> a valid program name. It could be any string. I used a program id
> of 25 and it works.

The purpose of program_id is that different programs don't step over each 
other's statistics. Your program should use the program name as program_id 
to make sure that it doesn't collide.

> [root@tiger ~]# dmsetup message docker-docker--pool 0 @stats_create - /1
> 25
> 0
> 
> [root@tiger ~]# dmsetup message docker-docker--pool 0 @stats_create - /2
> 30
> 1
> 
> [root@tiger ~]# dmsetup message docker-docker--pool 0 @stats_list 25
> 0: 0+585465856 585465856 25 -
> 
> [root@tiger ~]# dmsetup message docker-docker--pool 0 @stats_list
> 0: 0+585465856 585465856 25 -
> 1: 0+585465856 292732928 30 -
> 
> May be we can introduce a new message to handle this new number of
> arguments syntax. Say "stats_create_v2". That way existing programs
> will not be broken, if any.

There are no existing programs that use numbers as program_id.

> > We can't add it at the end because program_id and aux_data are already 
> > optional arguments.
> > 
> > > Also, I was wondering that why do we need to introduce this notion of
> > > number of optional arguments. Can't we just introduce another optional
> > > parameter [ns_timestamps]. That feels little simpler.
> > 
> > Then, it will clash with program_id "ns_timestamps". Device mapper uses 
> > this "number of optional arguments" notation at other places, so I used it 
> > too,
> 
> BTW, I have a very stupid question. This probably stems from the fact that
> I don't know enough about dm argument parsing. 
> 
> Why can't I pass the argument in same format as command line. So how
> about.
> 
> @stats_create [program_id=<program_id>] [aux_data=<aux_data>]
> 
> That way we know what arguments are coming. There is no guessing and 
> handling optional parameters is easy too.

Other dm targets don't use this style of argument passing.

Mikulas

> Thanks
> Vivek
> 

  reply	other threads:[~2015-06-17 13:17 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-09 21:20 [PATCH 0/4] Integrate dm-latency functionality to dm-statistics Mikulas Patocka
2015-06-09 21:21 ` [PATCH 1/4] dm-statistics: better argument validation Mikulas Patocka
2015-06-09 21:21 ` [PATCH 2/4] dm stats: support precise timestamps Mikulas Patocka
2015-06-10 17:10   ` Mike Snitzer
2015-06-10 17:33     ` Mikulas Patocka
2015-06-10 17:40       ` Mike Snitzer
2015-06-13 17:03   ` Coly Li
2015-06-15 13:04     ` Mikulas Patocka
2015-06-15 14:17       ` Coly Li
2015-06-16 15:33   ` Vivek Goyal
2015-06-16 19:27     ` Mikulas Patocka
2015-06-17  1:43       ` Vivek Goyal
2015-06-17 13:17         ` Mikulas Patocka [this message]
2015-06-17 13:20           ` Vivek Goyal
2015-06-17 15:18             ` Bryn M. Reeves
2015-06-17 14:54           ` Bryn M. Reeves
2015-06-17 14:52         ` Bryn M. Reeves
2015-07-27 15:11   ` Bryn M. Reeves
2015-06-09 21:22 ` [PATCH 3/4] dm stats: report histogram of latencies Mikulas Patocka
2015-06-13 17:03   ` Coly Li
2015-06-15 13:06     ` Mikulas Patocka
2015-06-15 14:41       ` Coly Li
2015-06-15 15:34         ` Mikulas Patocka
2015-06-16 16:21   ` Vivek Goyal
2015-06-09 21:22 ` [PATCH 4/4] dm stats: support statistics on requests-based devices Mikulas Patocka
2015-06-09 21:23   ` Laurence Oberman
2015-06-13 17:02 ` [PATCH 0/4] Integrate dm-latency functionality to dm-statistics Coly Li
2015-06-15 12:47   ` Mikulas Patocka
2015-06-15 14:35     ` Coly Li
2015-06-17 13:22       ` Mikulas Patocka

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=alpine.LRH.2.02.1506170908070.15768@file01.intranet.prod.int.rdu2.redhat.com \
    --to=mpatocka@redhat.com \
    --cc=agk@redhat.com \
    --cc=boyu.mt@taobao.com \
    --cc=colyli@gmail.com \
    --cc=dm-devel@redhat.com \
    --cc=loberman@redhat.com \
    --cc=msnitzer@redhat.com \
    --cc=sanbai@alibaba-inc.com \
    --cc=vgoyal@redhat.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.