Re: [PATCH 3/3] ia64: Call migration code on correctable errors v6

KOSAKI Motohiro
2008-06-23T03:25:40Z

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?