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

From: KOSAKI Motohiro
Date: Sun Jun 22 2008 - 23:26:17 EST


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?


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/