Revision a9851832857dc1e4efefca1713f5cff3e168a25c authored by Heiko Carstens on 29 April 2011, 08:42:19 UTC, committed by Martin Schwidefsky on 29 April 2011, 08:42:25 UTC
pfault, dasd diag and virtio all use the same external interrupt number. The respective interrupt handlers decide by the subcode if they are meant to handle the interrupt. Counting is currently done before looking at the subcode which means each handler counts an interrupt even if it is not handling it. Fix this by moving the kstat code after the code which looks at the subcode. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
1 parent ed96158
show_mem.c
/*
* Generic show_mem() implementation
*
* Copyright (C) 2008 Johannes Weiner <hannes@saeurebad.de>
* All code subject to the GPL version 2.
*/
#include <linux/mm.h>
#include <linux/nmi.h>
#include <linux/quicklist.h>
void show_mem(unsigned int filter)
{
pg_data_t *pgdat;
unsigned long total = 0, reserved = 0, shared = 0,
nonshared = 0, highmem = 0;
printk("Mem-Info:\n");
__show_free_areas(filter);
for_each_online_pgdat(pgdat) {
unsigned long i, flags;
pgdat_resize_lock(pgdat, &flags);
for (i = 0; i < pgdat->node_spanned_pages; i++) {
struct page *page;
unsigned long pfn = pgdat->node_start_pfn + i;
if (unlikely(!(i % MAX_ORDER_NR_PAGES)))
touch_nmi_watchdog();
if (!pfn_valid(pfn))
continue;
page = pfn_to_page(pfn);
if (PageHighMem(page))
highmem++;
if (PageReserved(page))
reserved++;
else if (page_count(page) == 1)
nonshared++;
else if (page_count(page) > 1)
shared += page_count(page) - 1;
total++;
}
pgdat_resize_unlock(pgdat, &flags);
}
printk("%lu pages RAM\n", total);
#ifdef CONFIG_HIGHMEM
printk("%lu pages HighMem\n", highmem);
#endif
printk("%lu pages reserved\n", reserved);
printk("%lu pages shared\n", shared);
printk("%lu pages non-shared\n", nonshared);
#ifdef CONFIG_QUICKLIST
printk("%lu pages in pagetable cache\n",
quicklist_total_size());
#endif
}
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...