login
Login
/
Register
Search
Header Space
Forums
News
Jobs
Blogs
Features
Man Pages
Site
Home
»
Mailing list archives
»
linux-kernel
»
2008
»
May
»
9
Re: [PATCH 2/3] mm: Avoid putting a bad page back on the LRU v3
view
thread
Score:
Previous message: [
thread
] [
date
] [
author
]
Next message: [thread] [
date
] [
author
]
[view in full thread]
From:
Russ Anderson <rja@...>
To: Andrew Morton <akpm@...>
Cc: <linux-kernel@...>, <linux-ia64@...>, <torvalds@...>, <tony.luck@...>, <clameter@...>
Subject:
Re: [PATCH 2/3] mm: Avoid putting a bad page back on the LRU v3
Date: Friday, May 9, 2008 - 5:51 pm
On Fri, May 09, 2008 at 01:11:34PM -0700, Andrew Morton wrote:
quoted text
> On Fri, 9 May 2008 10:10:58 -0500 > Russ Anderson <rja@sgi.com> wrote: > > > Index: linus/mm/swap.c > > =================================================================== > > --- linus.orig/mm/swap.c 2008-05-09 09:19:40.466984064 -0500 > > +++ linus/mm/swap.c 2008-05-09 09:20:11.330791803 -0500 > > @@ -195,6 +195,8 @@ void lru_cache_add(struct page *page) > > struct pagevec *pvec = &get_cpu_var(lru_add_pvecs); > > > > page_cache_get(page); > > + if (unlikely(PageMemError(page))) > > + return; /* Don't add bad pages to the page list */ > > if (!pagevec_add(pvec, page)) > > __pagevec_lru_add(pvec); > > put_cpu_var(lru_add_pvecs); > > @@ -205,6 +207,8 @@ void lru_cache_add_active(struct page *p > > struct pagevec *pvec = &get_cpu_var(lru_add_active_pvecs); > > > > page_cache_get(page); > > + if (unlikely(PageMemError(page))) > > + return; /* Don't add bad pages to the page list */ > > if (!pagevec_add(pvec, page)) > > __pagevec_lru_add_active(pvec); > > put_cpu_var(lru_add_active_pvecs); > > These PageMemError() tests are happening in some pretty darn hot paths. > But we've gone and added this overhead to a lot of architectures and > configs which don't need it. > > Should we tighten that up? Arrange for PageMemError() to evaluate to > constant zero for all builds which don't actually implement "Migrate data > off physical pages with correctable errors"?
Yes.
quoted text
> Probably the way to implement that would be to add a new > CONFIG_NEED_PAGE_MEM_ERROR and `select' that from the appropriate place in > ia64 Kconfig. Which is pretty nasty, but a) we're nasty that way rather > often and b) this time it _is_ a hot-path, so some nastiness is > justifiable.
Will do. -- Russ Anderson, OS RAS/Partitioning Project Lead SGI - Silicon Graphics Inc
rja@sgi.com
--
unsubscribe notice
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to
majordomo@vger.kernel.org
More majordomo info at
http://vger.kernel.org/majordomo-info.html
Please read the FAQ at
http://www.tux.org/lkml/
Previous message: [
thread
] [
date
] [
author
]
Next message: [thread] [
date
] [
author
]
Messages in current thread:
[PATCH 2/3] mm: Avoid putting a bad page back on the LRU v3
, Russ Anderson
, (Fri May 9, 11:10 am)
Re: [PATCH 2/3] mm: Avoid putting a bad page back on the LRU...
, Andrew Morton
, (Fri May 9, 4:11 pm)
Re: [PATCH 2/3] mm: Avoid putting a bad page back on the LRU...
, Russ Anderson
, (Fri May 9, 5:51 pm)
Navigation
Create content
Mailing list archives
Recent posts
Mail archive search
Enter your search terms.
all mailing lists
alsa-devel
dragonflybsd-bugs
dragonflybsd-commit
dragonflybsd-docs
dragonflybsd-kernel
dragonflybsd-submit
dragonflybsd-user
freebsd-announce
freebsd-bugs
freebsd-chat
freebsd-cluster
freebsd-current
freebsd-drivers
freebsd-embeded
freebsd-fs
freebsd-hackers
freebsd-hardware
freebsd-mobile
freebsd-net
freebsd-performance
freebsd-pf
freebsd-security
freebsd-security-notifications
freebsd-threads
git
git-commits-head
linux-activists
linux-arm
linux-ath5k-devel
linux-btrfs
linux-c-programming
linux-driver-devel
linux-ext4
linux-fsdevel
linux-ia64
linux-input
linux-kernel
linux-kernel-janitors
linux-kernel-mentors
linux-kernel-newbies
linux-kvm
linux-net
linux-netdev
linux-newbie
linux-nfs
linux-raid
linux-scsi
linux-security-module
linux-sparse
linux-usb
linux-usb-devel
madwifi-devel
netbsd-announce
netbsd-tech-kern
openbsd-announce
openbsd-bugs
openbsd-ipv6
openbsd-misc
openbsd-security-announce
openbsd-smp
openbsd-source-changes
openbsd-tech
openfabrics-general
openmoko-community
openmoko-devel
openmoko-kernel
reiserfs-devel
tux3
ucarp
Optionally limit your search to a specific mailing list.
advanced
Popular discussions
linux-kernel
:
Greg Kroah-Hartman
[PATCH 001/196] Chinese: Add the known_regression URI to the HOWTO
Yinghai Lu
Re: [GIT *] Allow request_firmware() to be satisfied from in-kernel, use it in mor...
Trent Piepho
[PATCH] [POWERPC] Improve (in|out)_beXX() asm code
Alan Cox
[PATCH 00/76] Queued TTY Patches
git
:
Junio C Hamano
Re: More precise tag following
Yossi Leybovich
corrupt object on git-gc
bain
[Announce] teamGit v0.0.3
Aaron Bentley
Re: VCS comparison table
openbsd-misc
:
Nick Guenther
Re: Real men don't attack straw men
Brandon Lee
DELL PERC 5iR slow performance
Stefan Beke
mail dovecot: pipe() failed: Too many open files
Paul Greidanus
Re: [Fwd: Open-Hardware]
linux-netdev
:
David Miller
[GIT]: Networking
Jarek Poplawski
[PATCH] pkt_sched: Destroy gen estimators under rtnl_lock().
KOSAKI Motohiro
[bug?] tg3: Failed to load firmware "tigon/tg3_tso.bin"
Gerrit Renker
[PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side)
Latest forum posts
Kernel Module Oops! TRICKY PROBLEM!
10 hours ago
Linux kernel
usb mic not detected
13 hours ago
Applications and Utilities
linux-2.6.10
20 hours ago
Linux kernel
How to detect usb device insertioin and removal event ?
23 hours ago
Linux general
Extended configuration Read/Write
1 day ago
Windows
Add ext2 inode field
1 day ago
Linux kernel
the kernel how to power off the machine
1 day ago
Linux kernel
struct gendisk via request_queue
1 day ago
Linux kernel
page initialization during kernel initialization
2 days ago
Linux kernel
Read Transport Layer Data form network packets (tcp/ip)
3 days ago
Linux kernel
Show all forums...
Recent Tags
-rc8
2.6.27
Linus Torvalds
quote
-rc
Intel
Linux
2.6.27-rc8
bugs
more tags
Colocation donated by:
Who's online
There are currently
4 users
and
1090 guests
online.
Online users
Anusha
Jeremy
kingneutron
strcmp
Syndicate
speck-geostationary