From: Gerald Schaefer <gerald.schaefer@gmx.net>
To: linux-kernel@vger.kernel.org
Cc: olh@suse.de, arnd@arndb.de, akpm@osdl.org, schwidefsky@de.ibm.com
Subject: Re: [PATCH] s390: update for altered page_state structure
Date: Mon, 15 Mar 2004 19:02:45 +0100 [thread overview]
Message-ID: <200403151902.45925.gerald.schaefer@gmx.net> (raw)
On Sunday 14 March 2004 11:46, Arnd wrote:
> Sorry, this does not look like the right fix. The structure is
> effectively ABI, because it is accessed as binary data by the
> VM hypervisor. If changes to it can't be avoided, the structure
> version needs to be changed as well and all documentation and
> VM applications using it must be updated.
>
> In this specific case, it should be simple enough to just leave
> the pgalloc field in place and write the sum of the real kernel
> values (high+normal+dma) to it.
>
> Gerald, can you please look into this?
This patch fixes the problems introduced by Olaf's patch, please apply.
I have added some comments to the data gathering modules to avoid
future confusion and summarized the pgalloc counts as described above.
===== arch/s390/appldata/appldata_mem.c 1.2 vs edited =====
--- 1.2/arch/s390/appldata/appldata_mem.c Sun Mar 14 20:17:11 2004
+++ edited/arch/s390/appldata/appldata_mem.c Mon Mar 15 15:35:23 2004
@@ -27,6 +27,15 @@
/*
* Memory data
+ *
+ * This is accessed as binary data by z/VM. If changes to it can't be avoided,
+ * the structure version (product ID, see appldata_base.c) needs to be changed
+ * as well and all documentation and z/VM applications using it must be
+ * updated.
+ *
+ * The record layout is documented in the Linux for zSeries Device Drivers
+ * book:
+ * http://oss.software.ibm.com/developerworks/opensource/linux390/index.shtml
*/
struct appldata_mem_data {
u64 timestamp;
@@ -54,9 +63,7 @@
u64 freeswap; /* free swap space */
// New in 2.6 -->
- u64 pgalloc_high; /* page allocations */
- u64 pgalloc_normal;
- u64 pgalloc_dma;
+ u64 pgalloc; /* page allocations */
u64 pgfault; /* page faults (major+minor) */
u64 pgmajfault; /* page faults (major only) */
// <-- New in 2.6
@@ -71,9 +78,7 @@
P_DEBUG("pgpgout = %8lu KB\n", mem_data->pgpgout);
P_DEBUG("pswpin = %8lu Pages\n", mem_data->pswpin);
P_DEBUG("pswpout = %8lu Pages\n", mem_data->pswpout);
- P_DEBUG("pgalloc_high = %8lu \n", mem_data->pgalloc_high);
- P_DEBUG("pgalloc_normal = %8lu \n", mem_data->pgalloc_normal);
- P_DEBUG("pgalloc_dma = %8lu \n", mem_data->pgalloc_dma);
+ P_DEBUG("pgalloc = %8lu \n", mem_data->pgalloc);
P_DEBUG("pgfault = %8lu \n", mem_data->pgfault);
P_DEBUG("pgmajfault = %8lu \n", mem_data->pgmajfault);
P_DEBUG("sharedram = %8lu KB\n", mem_data->sharedram);
@@ -109,14 +114,10 @@
mem_data->pgpgout = ps.pgpgout >> 1;
mem_data->pswpin = ps.pswpin;
mem_data->pswpout = ps.pswpout;
- mem_data->pgalloc_high = ps.pgalloc_high;
- mem_data->pgalloc_normal = ps.pgalloc_normal;
- mem_data->pgalloc_dma = ps.pgalloc_dma;
+ mem_data->pgalloc = ps.pgalloc_high + ps.pgalloc_normal +
+ ps.pgalloc_dma;
mem_data->pgfault = ps.pgfault;
mem_data->pgmajfault = ps.pgmajfault;
-
-P_DEBUG("pgalloc_high = %lu, pgalloc_normal = %lu, pgalloc_dma = %lu, pgfree = %lu\n",
- ps.pgalloc_high, ps.pgalloc_normal, ps.pgalloc_dma, ps.pgfree);
si_meminfo(&val);
mem_data->sharedram = val.sharedram;
===== arch/s390/appldata/appldata_net_sum.c 1.1 vs edited =====
--- 1.1/arch/s390/appldata/appldata_net_sum.c Thu Feb 26 12:21:55 2004
+++ edited/arch/s390/appldata/appldata_net_sum.c Mon Mar 15 15:35:59 2004
@@ -26,6 +26,14 @@
/*
* Network data
+ *
+ * This is accessed as binary data by z/VM. If changes to it can't be avoided,
+ * the structure version (product ID, see appldata_base.c) needs to be changed
+ * as well and all documentation and z/VM applications using it must be updated.
+ *
+ * The record layout is documented in the Linux for zSeries Device Drivers
+ * book:
+ * http://oss.software.ibm.com/developerworks/opensource/linux390/index.shtml
*/
struct appldata_net_sum_data {
u64 timestamp;
===== arch/s390/appldata/appldata_os.c 1.1 vs edited =====
--- 1.1/arch/s390/appldata/appldata_os.c Thu Feb 26 12:21:55 2004
+++ edited/arch/s390/appldata/appldata_os.c Mon Mar 15 15:35:04 2004
@@ -28,6 +28,15 @@
/*
* OS data
+ *
+ * This is accessed as binary data by z/VM. If changes to it can't be avoided,
+ * the structure version (product ID, see appldata_base.c) needs to be changed
+ * as well and all documentation and z/VM applications using it must be
+ * updated.
+ *
+ * The record layout is documented in the Linux for zSeries Device Drivers
+ * book:
+ * http://oss.software.ibm.com/developerworks/opensource/linux390/index.shtml
*/
struct appldata_os_per_cpu {
u32 per_cpu_user; /* timer ticks spent in user mode */
===== include/linux/page-flags.h 1.45 vs edited =====
--- 1.45/include/linux/page-flags.h Sun Mar 14 20:17:11 2004
+++ edited/include/linux/page-flags.h Mon Mar 15 13:10:26 2004
@@ -80,9 +80,6 @@
/*
* Global page accounting. One instance per CPU. Only unsigned longs are
* allowed.
- *
- * NOTE: if this structure is changed then mm/page_alloc.c and
- * arch/s390/appldata/appldata_mem.c must be updated accordingly
*/
struct page_state {
unsigned long nr_dirty; /* Dirty writeable pages */
next reply other threads:[~2004-03-15 18:03 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-03-15 18:02 Gerald Schaefer [this message]
-- strict thread matches above, loose matches on Subject: below --
2004-03-14 22:44 Arnd Bergmann
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=200403151902.45925.gerald.schaefer@gmx.net \
--to=gerald.schaefer@gmx.net \
--cc=akpm@osdl.org \
--cc=arnd@arndb.de \
--cc=linux-kernel@vger.kernel.org \
--cc=olh@suse.de \
--cc=schwidefsky@de.ibm.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
all inboxes | Powered by JetHome®