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-ia64" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |