Commit a7e623a9 authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

[PATCH] s390: update for altered page_state structure

From: Gerald Schaefer <gerald.schaefer@gmx.net>

Update s390 to track the new fields in struct page_state.
parent fb3f7b77
...@@ -27,6 +27,15 @@ ...@@ -27,6 +27,15 @@
/* /*
* Memory data * 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 { struct appldata_mem_data {
u64 timestamp; u64 timestamp;
...@@ -54,9 +63,7 @@ struct appldata_mem_data { ...@@ -54,9 +63,7 @@ struct appldata_mem_data {
u64 freeswap; /* free swap space */ u64 freeswap; /* free swap space */
// New in 2.6 --> // New in 2.6 -->
u64 pgalloc_high; /* page allocations */ u64 pgalloc; /* page allocations */
u64 pgalloc_normal;
u64 pgalloc_dma;
u64 pgfault; /* page faults (major+minor) */ u64 pgfault; /* page faults (major+minor) */
u64 pgmajfault; /* page faults (major only) */ u64 pgmajfault; /* page faults (major only) */
// <-- New in 2.6 // <-- New in 2.6
...@@ -71,9 +78,7 @@ static inline void appldata_debug_print(struct appldata_mem_data *mem_data) ...@@ -71,9 +78,7 @@ static inline void appldata_debug_print(struct appldata_mem_data *mem_data)
P_DEBUG("pgpgout = %8lu KB\n", mem_data->pgpgout); P_DEBUG("pgpgout = %8lu KB\n", mem_data->pgpgout);
P_DEBUG("pswpin = %8lu Pages\n", mem_data->pswpin); P_DEBUG("pswpin = %8lu Pages\n", mem_data->pswpin);
P_DEBUG("pswpout = %8lu Pages\n", mem_data->pswpout); P_DEBUG("pswpout = %8lu Pages\n", mem_data->pswpout);
P_DEBUG("pgalloc_high = %8lu \n", mem_data->pgalloc_high); P_DEBUG("pgalloc = %8lu \n", mem_data->pgalloc);
P_DEBUG("pgalloc_normal = %8lu \n", mem_data->pgalloc_normal);
P_DEBUG("pgalloc_dma = %8lu \n", mem_data->pgalloc_dma);
P_DEBUG("pgfault = %8lu \n", mem_data->pgfault); P_DEBUG("pgfault = %8lu \n", mem_data->pgfault);
P_DEBUG("pgmajfault = %8lu \n", mem_data->pgmajfault); P_DEBUG("pgmajfault = %8lu \n", mem_data->pgmajfault);
P_DEBUG("sharedram = %8lu KB\n", mem_data->sharedram); P_DEBUG("sharedram = %8lu KB\n", mem_data->sharedram);
...@@ -109,15 +114,11 @@ static void appldata_get_mem_data(void *data) ...@@ -109,15 +114,11 @@ static void appldata_get_mem_data(void *data)
mem_data->pgpgout = ps.pgpgout >> 1; mem_data->pgpgout = ps.pgpgout >> 1;
mem_data->pswpin = ps.pswpin; mem_data->pswpin = ps.pswpin;
mem_data->pswpout = ps.pswpout; mem_data->pswpout = ps.pswpout;
mem_data->pgalloc_high = ps.pgalloc_high; mem_data->pgalloc = ps.pgalloc_high + ps.pgalloc_normal +
mem_data->pgalloc_normal = ps.pgalloc_normal; ps.pgalloc_dma;
mem_data->pgalloc_dma = ps.pgalloc_dma;
mem_data->pgfault = ps.pgfault; mem_data->pgfault = ps.pgfault;
mem_data->pgmajfault = ps.pgmajfault; 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); si_meminfo(&val);
mem_data->sharedram = val.sharedram; mem_data->sharedram = val.sharedram;
mem_data->totalram = P2K(val.totalram); mem_data->totalram = P2K(val.totalram);
......
...@@ -26,6 +26,14 @@ ...@@ -26,6 +26,14 @@
/* /*
* Network data * 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 { struct appldata_net_sum_data {
u64 timestamp; u64 timestamp;
......
...@@ -28,6 +28,15 @@ ...@@ -28,6 +28,15 @@
/* /*
* OS data * 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 { struct appldata_os_per_cpu {
u32 per_cpu_user; /* timer ticks spent in user mode */ u32 per_cpu_user; /* timer ticks spent in user mode */
......
...@@ -80,9 +80,6 @@ ...@@ -80,9 +80,6 @@
/* /*
* Global page accounting. One instance per CPU. Only unsigned longs are * Global page accounting. One instance per CPU. Only unsigned longs are
* allowed. * 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 { struct page_state {
unsigned long nr_dirty; /* Dirty writeable pages */ unsigned long nr_dirty; /* Dirty writeable pages */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment