All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
From: Vivek Goyal <vgoyal@redhat.com>
To: Mikulas Patocka <mpatocka@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: Tue, 16 Jun 2015 21:43:24 -0400	[thread overview]
Message-ID: <20150617014324.GA30214@redhat.com> (raw)
In-Reply-To: <alpine.LRH.2.02.1506161523430.30788@file01.intranet.prod.int.rdu2.redhat.com>

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.

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


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

Thanks
Vivek

  reply	other threads:[~2015-06-17  1:43 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 [this message]
2015-06-17 13:17         ` Mikulas Patocka
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=20150617014324.GA30214@redhat.com \
    --to=vgoyal@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=mpatocka@redhat.com \
    --cc=msnitzer@redhat.com \
    --cc=sanbai@alibaba-inc.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.