Messages in this thread | | | Date | Mon, 23 Jun 2008 12:25:40 +0900 | From | KOSAKI Motohiro <> | Subject | Re: [PATCH 3/3] ia64: Call migration code on correctable errors v6 |
| |
Hi
> +static ssize_t > +badpage_show(struct kobject *kobj, > + struct kobj_attribute *attr, char *buf) > + > +{ > + struct page *page, *page2; > + int i = 0, cnt = 0; > + char *bufend = buf + PAGE_SIZE; > + > + cnt = snprintf(buf, bufend - (buf + cnt), > + "Bad RAM: %d kB, %d pages marked bad\n" > + "List of bad physical pages\n", > + total_badpages << (PAGE_SHIFT - 10), total_badpages); > + > + list_for_each_entry_safe(page, page2, &badpagelist, lru) { > + if (bufend - (buf + cnt) < 20) > + break; /* Avoid overflowing the buffer */ > + cnt += snprintf(buf + cnt, bufend - (buf + cnt), > + " 0x%011lx", page_to_phys(page)); > + if (!(++i % 5)) > + cnt += snprintf(buf + cnt, bufend - (buf + cnt), "\n"); > + } > + cnt += snprintf(buf + cnt, bufend - (buf + cnt), "\n"); > + > + return cnt; > +}
it seems /proc/meminfo is better. because badpage is architecture independent concept.
nonsense?
| |