On Fri, 5 Oct 2007, Balbir Singh wrote:It would be wrong to ignore the unuse_pte() case: what it's intending to do is correct, it's just being prevented by the swapcache issue from doing what it intends at present. (Though I'm not thrilled with the idea of it causing an admin's swapoff to fail because of a cgroup reaching mem limit there, I do agree with your earlier argument that that's the right thing to happen, and it's up to the admin to fix things up - my original objection came from not realizing that normally the cgroup will reclaim from itself to free its mem. Hmm, would the charge fail or the mm get OOM'ed?) Ignoring add_to/remove_from swap cache is what I've tried before, and again today. It's not enough: if you trying run a memhog (something that allocates and touches more memory than the cgroup is allowed, relying on pushing out to swap to complete), then that works well with the present accounting in add_to/remove_from swap cache, but it OOMs once I remove the memcontrol mods from mm/swap_state.c. I keep going back to investigate why, keep on thinking I understand it, then later realize I don't. Please give it a try, I hope you've got better mental models than I have. And I don't think it will be enough to handle shmem/tmpfs either; but won't worry about that until we've properly understood why exempting swapcache leads to those OOMs, and fixed that up. It checks MEM_CGROUP_TYPE_ALL there, yes; but I can't find anything checking for either MEM_CGROUP_TYPE_MAPPED or MEM_CGROUP_TYPE_CACHED. (Or is it hidden in one of those preprocesor ## things which frustrate both my greps and me!?) I sent a patch to linux-mm last night, to remove that confusion. Those indeed are strange behaviours (if the swapoff really has succeeded, rather than lying), I not seen such and don't have an explanation. tmpfs doesn't add any weirdness there: when there's no swap, there can be no swap cache. Or is the swapoff still in progress? While it's busy, we keep /proc/meminfo looking sensible, but <Alt><SysRq>m can show negative free swap (IIRC). I'll be interested to hear what your investigation shows. Hugh -
| Greg Kroah-Hartman | [PATCH 007/196] Chinese: add translation of stable_kernel_rules.txt |
| David Miller | Re: [PATCH] Stop pmac_zilog from abusing 8250's device numbers. |
| Mitch Bradley | Re: [PATCH 1/2] OLPC: Add support for calling into Open Firmware |
| Anders | PROBLEM: high load average when idle |
git: | |
| Elijah Newren | Trying to use git-filter-branch to compress history by removing large, obsolete bi... |
| Linus Torvalds | irc usage.. |
| Luke Lu | git-svn questions: how to clone/init non-standard layout branches/tags? |
| Alex Riesen | Re: git-fast-import |
| GVG GVG | ssh_exchange_identification: Connection closed by remote host |
| Todd Pytel | IDE or SCSI virtual disks for VMWare image? |
| Chris Tankersley | Dell PERC 3/Di - No Disks Found |
| Sam Fourman Jr. | Asus Striker Extreme does not support 4GB memory |
| Theodore Ts'o | Re: Splitting comp.os.linux |
| David Gabrius | Re: NT vs Linux (was: Re: truth or dare) |
| Doug Evans | Re: Stabilizing Linux |
| Theodore Ts'o | Re: demand paging: proposal |
| magical mounts | 12 hours ago | Linux kernel |
| Problem in scim in Fedora 9 | 13 hours ago | Linux general |
| The new Western Digital power saving drives | 13 hours ago | Hardware |
| Battery Maximizer Software | 1 day ago | Linux kernel |
| windows folder creation surprise | 1 day ago | Windows |
| Firewall | 2 days ago | OpenBSD |
| IP layer send packet | 2 days ago | Linux kernel |
| dtrace for linux available | 3 days ago | Linux kernel |
| Unable to mount ramdisk image using UBoot while upgrading to 2.6.15 kernel for a MPC8540 based target | 3 days ago | Linux kernel |
| RealTek RTL8169 - can't connect | 3 days ago | NetBSD |
