Re: [Lse-tech] Re: [PATCH] new CSA patchset for 2.6.8
Jay Lan <[email protected]> Tue, 31 Aug 2004 16:01:02 -0700
| Newsgroups | gmane.linux.comprehensive-system-accounting,gmane.linux.kernel,gmane.linux.lse |
|---|---|
| Message-ID | <[email protected]> |
Adding [email protected], 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 > [email protected] > https://lists.sourceforge.net/lists/listinfo/lse-tech