public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Jay Lan <jlan@engr.sgi.com>
To: Jay Lan <jlan@engr.sgi.com>
Cc: Tim Schmielau <tim@physik3.uni-rostock.de>,
	Guillaume Thouvenin <guillaume.thouvenin@bull.net>,
	Arthur Corliss <corliss@digitalmages.com>,
	Andrew Morton <akpm@osdl.org>,
	lkml <linux-kernel@vger.kernel.org>,
	erikj@dbear.engr.sgi.com, limin@engr.sgi.com,
	lse-tech@lists.sourceforge.net, ? <kernel@ragnark.vestdata.no>,
	Yoshitaka ISHIKAWA <y.ishikawa@soft.fujitsu.com>,
	csa@oss.sgi.com
Subject: Re: [Lse-tech] Re: [PATCH] new CSA patchset for 2.6.8
Date: Wed, 08 Sep 2004 11:32:18 -0700	[thread overview]
Message-ID: <413F5032.1070008@engr.sgi.com> (raw)
In-Reply-To: <4135032E.7060605@engr.sgi.com>

The block IO data was not used in billing for CSA customers.

Nobody has ever charged for this data. It is more for accountability
and resource consumption tracking. Accuracy changes as the program
runs for hours or days in our market. Repeatable billing is critical
and block IO is one that is not repeatable.

The write blocks was useful and with the type of programs running for
hours and days (which are the ones of interest in block IO data). The
delayed write after the process terminates is ignored because that is
insignificant for a process doing io for hours or days. We use the
bytes transferred vs blocks transferred to see programs dominating
and polluting the cache. Processes big in one and not the other are of
interest to profile more closely.

However, if nobody else wants to have this feature, we can pull it out
until we can find a way of doing this that makes people happy.

I will submit a new set of patch based on 2.6.8.1 later.

Thanks!
  - jay


Jay Lan wrote:
> Adding csa@oss.sgi.com, the CSA user group mailing list, to Cc.
> 
> Tim Schmielau wrote:
> 
>> On Mon, 30 Aug 2004, Guillaume Thouvenin wrote:
>>
>>
>>>  Thus, to be clear, the enhanced accounting can be divided into
>>> three parts:
>>>
>>>    1) A common data collection method in the kernel.
>>>       We could start from BSD-accounting and add CSA information. Could
>>>       it be something like BSD version4?
>>
>>
>>
>> I've had a quick look at the CSA data collection patches. To get the 
>> discussion started, here are my comments:
>>
>>
>>> --- linux.orig/drivers/block/ll_rw_blk.c        2004-08-13 
>>> 22:36:16.000000000 -0700
>>> +++ linux/drivers/block/ll_rw_blk.c     2004-08-18 12:07:10.000000000 
>>> -0700
>>> @@ -1948,10 +1950,12 @@
>>>
>>>        if (rw == READ) {
>>>                disk_stat_add(rq->rq_disk, read_sectors, nr_sectors);
>>> +               current->rblk += nr_sectors;
>>>                if (!new_io)
>>>                        disk_stat_inc(rq->rq_disk, read_merges);
>>>        } else if (rw == WRITE) {
>>>                disk_stat_add(rq->rq_disk, write_sectors, nr_sectors);
>>> +               current->wblk += nr_sectors;
>>>                if (!new_io)
>>>                        disk_stat_inc(rq->rq_disk, write_merges);
>>>        }
>>
>>
>>
>> Andi Kleen's comment on the ELSA patch also applies here - most writes
>> will get accounted to pdflushd. See
>>
>> http://www.lib.uaa.alaska.edu/linux-kernel/archive/2004-Week-31/0047.html
>>
>> for his comment.
> 
> 
> I need more time on this. :)
> 
>>
>>
>>> --- /dev/null   1970-01-01 00:00:00.000000000 +0000
>>> +++ linux/include/linux/csa_internal.h  2004-08-19 15:19:05.000000000 
>>> -0700
>>
>>
>> [...]
>>
>>> +#else  /* CONFIG_CSA || CONFIG_CSA_MODULE */
>>> +
>>> +#define csa_update_integrals()         do { } while (0);
>>> +#define csa_clear_integrals(task)      do { } while (0);
>>> +#endif /* CONFIG_CSA || CONFIG_CSA_MODULE */
>>
>>
>>
>> I suppose the semicolons are unintentional.
> 
> 
> Good catch! I fixed this in our internal tree.
> 
>>
>>
>>> --- linux.orig/include/linux/sched.h    2004-08-19 15:17:52.000000000 
>>> -0700
>>> +++ linux/include/linux/sched.h 2004-08-19 15:19:05.000000000 -0700
>>
>>
>> [...]
>>
>>> @@ -525,6 +527,10 @@
>>>
>>> /* i/o counters(bytes read/written, blocks read/written, #syscalls, 
>>> waittime */
>>>         unsigned long rchar, wchar, rblk, wblk, syscr, syscw, bwtime;
>>> +#if defined(CONFIG_CSA) || defined(CONFIG_CSA_MODULE)
>>> +       unsigned long csa_rss_mem1, csa_vm_mem1;
>>> +       clock_t csa_stimexpd;
>>> +#endif
>>
>>
>>
>> These probably need to be u64, otherwise they might easily overflow 
>> within
>> a view seconds on 32 bit platforms.
> 
> 
> Will fix it.
> 
>>
>>
>>> --- /dev/null   1970-01-01 00:00:00.000000000 +0000
>>> +++ linux/include/linux/acct_eop.h      2004-08-19 18:48:44.000000000 
>>> -0700
>>
>>
>>
>> This should probably be unified with BSD accounting to a general 
>> accounting
>> hook.
> 
> 
> Do you suggest to merge acct_eop.h into acct.h? It sounds good to me!
> 
> Thanks!
>  - jay
> 
>>
>>
>> Tim
>>
>>
>> -------------------------------------------------------
>> This SF.Net email is sponsored by BEA Weblogic Workshop
>> FREE Java Enterprise J2EE developer tools!
>> Get your free copy of BEA WebLogic Workshop 8.1 today.
>> http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
>> _______________________________________________
>> Lse-tech mailing list
>> Lse-tech@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/lse-tech
> 
> 
> 
> 
> -------------------------------------------------------
> This SF.Net email is sponsored by BEA Weblogic Workshop
> FREE Java Enterprise J2EE developer tools!
> Get your free copy of BEA WebLogic Workshop 8.1 today.
> http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
> _______________________________________________
> Lse-tech mailing list
> Lse-tech@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/lse-tech


  reply	other threads:[~2004-09-08 18:38 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-08-26  0:25 [PATCH] new CSA patchset for 2.6.8 Jay Lan
2004-08-26  5:18 ` Andrew Morton
2004-08-26 17:15   ` Tim Schmielau
2004-08-26 18:26     ` [Lse-tech] " Jay Lan
2004-08-26 19:44       ` Arthur Corliss
2004-08-26 18:43     ` John Hesterberg
2004-08-27  8:26       ` Tim Schmielau
2004-08-26 19:24     ` Arthur Corliss
2004-08-26 20:05       ` Tim Schmielau
2004-08-26 20:46         ` Jay Lan
2004-08-28  1:27           ` Arthur Corliss
2004-08-30 12:26             ` Guillaume Thouvenin
2004-08-31 14:19               ` Tim Schmielau
2004-08-31 23:01                 ` [Lse-tech] " Jay Lan
2004-09-08 18:32                   ` Jay Lan [this message]
     [not found]         ` <20040827054218.GA4142@frec.bull.fr>
2004-08-27 19:31           ` John Hesterberg
2004-08-30  8:29             ` Tim Schmielau
2004-08-27 19:55           ` Jay Lan
2004-08-31  9:06             ` Guillaume Thouvenin
2004-08-31 10:29               ` Guillaume Thouvenin
2004-08-31 16:04                 ` Limin Gu
2004-09-01 21:44               ` John Hesterberg
2004-08-28  1:33           ` Arthur Corliss
2004-08-28  1:26         ` Arthur Corliss
2004-08-26 18:38   ` [Lse-tech] " John Hesterberg
     [not found]     ` <412EADBC.60607@bigpond.net.au>
     [not found]       ` <20040826205349.0582d38e.akpm@osdl.org>
2004-08-27 20:24         ` Jay Lan
2004-08-30 19:10         ` John Hesterberg

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=413F5032.1070008@engr.sgi.com \
    --to=jlan@engr.sgi.com \
    --cc=akpm@osdl.org \
    --cc=corliss@digitalmages.com \
    --cc=csa@oss.sgi.com \
    --cc=erikj@dbear.engr.sgi.com \
    --cc=guillaume.thouvenin@bull.net \
    --cc=kernel@ragnark.vestdata.no \
    --cc=limin@engr.sgi.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lse-tech@lists.sourceforge.net \
    --cc=tim@physik3.uni-rostock.de \
    --cc=y.ishikawa@soft.fujitsu.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox