[Bug 678466] New: Swap over NFS reserves too much memory on openSUSE-11.4
https://bugzilla.novell.com/show_bug.cgi?id=678466 https://bugzilla.novell.com/show_bug.cgi?id=678466#c0 Summary: Swap over NFS reserves too much memory on openSUSE-11.4 Classification: openSUSE Product: openSUSE 11.4 Version: RC 2 Platform: All OS/Version: SuSE Other Status: NEW Severity: Normal Priority: P5 - None Component: Kernel AssignedTo: mgorman@novell.com ReportedBy: mgorman@novell.com QAContact: qa@suse.de CC: sjayaraman@novell.com Found By: Development Blocker: No Swap over NFS implements a memory reservation scheme to guarantee that allocations can succeed under low memory conditions when pages need to be cleaned. These reservations are extremely high. On a 2G machine, 454M of memory is reserved which far exceeds what should be necessary. This has not been verified on SLES but a glance at the patches implies the same problem exists there. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=678466
https://bugzilla.novell.com/show_bug.cgi?id=678466#c1
--- Comment #1 from Suresh Jayaraman
https://bugzilla.novell.com/show_bug.cgi?id=678466
https://bugzilla.novell.com/show_bug.cgi?id=678466#c2
--- Comment #2 from Mel Gorman
Ah, looks like a known but open issue https://bugzilla.novell.com/show_bug.cgi?id=661558
Whoops, my bad. This does look like the same issue all right.
Computing reserves based on our assumption about the traffic flow in the form of ipv4 route max_size seems not a well thought out idea. (/proc/sys/net/ipv4/route/max_size)
max_size * sizeof(ip_dst_cache) could sometimes be quite expensive
It appears to me that the idea of making the max size of the routing cache dependent on size of the physical RAM is not so well thought of.
A workaround is to reduce the 'route/max_size' number which should reduce the memory reservation.
I believe the real fix is in mm/reserve.c. There is confusion in there whether it is dealing with pages or bytes and sometimes it receives a reservation request in pages and then multiplies it by pages again. I have tested patches that should fix the problem and am in the process for converting them to a format suitable for the kernel repository. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=678466
https://bugzilla.novell.com/show_bug.cgi?id=678466#c3
--- Comment #3 from Suresh Jayaraman
(In reply to comment #1)
Ah, looks like a known but open issue https://bugzilla.novell.com/show_bug.cgi?id=661558
Whoops, my bad. This does look like the same issue all right.
No problem. I'll just mark that one as a duplicate.
Computing reserves based on our assumption about the traffic flow in the form of ipv4 route max_size seems not a well thought out idea. (/proc/sys/net/ipv4/route/max_size)
max_size * sizeof(ip_dst_cache) could sometimes be quite expensive
It appears to me that the idea of making the max size of the routing cache dependent on size of the physical RAM is not so well thought of.
A workaround is to reduce the 'route/max_size' number which should reduce the memory reservation.
I believe the real fix is in mm/reserve.c. There is confusion in there whether it is dealing with pages or bytes and sometimes it receives a reservation request in pages and then multiplies it by pages again. I have tested patches that should fix the problem and am in the process for converting them to a format suitable for the kernel repository.
Cool. We would need the fix for other repos too for e.g. SLES11 SP1 and SLE11 (if not openSUSE-11.3 -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=678466
https://bugzilla.novell.com/show_bug.cgi?id=678466#c4
Suresh Jayaraman
https://bugzilla.novell.com/show_bug.cgi?id=678466
https://bugzilla.novell.com/show_bug.cgi?id=678466#c5
--- Comment #5 from Mel Gorman
https://bugzilla.novell.com/show_bug.cgi?id=678466
https://bugzilla.novell.com/show_bug.cgi?id=678466#c
Darcy Partridge
https://bugzilla.novell.com/show_bug.cgi?id=678466
https://bugzilla.novell.com/show_bug.cgi?id=678466#c6
Mel Gorman
https://bugzilla.novell.com/show_bug.cgi?id=678466
https://bugzilla.novell.com/show_bug.cgi?id=678466#c7
--- Comment #7 from Darcy Partridge
once this is done the machine is in danger of deadlock as NFS requests still have to be allocated from the nfs_page slab cache
is resolved by this measure:
The patch also creates the necessary reserve.
Thanks. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=678466
https://bugzilla.novell.com/show_bug.cgi?id=678466#c8
--- Comment #8 from Mel Gorman
Mel, I am not sure if I am correctly understanding your comment #6. Can you tell me whether this problem:
once this is done the machine is in danger of deadlock as NFS requests still have to be allocated from the nfs_page slab cache
is resolved by this measure:
The patch also creates the necessary reserve.
Yes it is. The routing cache reserve did not need to be so big but because it existed, there were sufficient reserves for nfs_page and deadlock was avoided. Essentially this patchset replaces one reserve (routing cache) with a smaller reserve (nfs_page). I hope this clarifies the situation. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=678466
https://bugzilla.novell.com/show_bug.cgi?id=678466#c9
--- Comment #9 from Suresh Jayaraman
https://bugzilla.novell.com/show_bug.cgi?id=678466
https://bugzilla.novell.com/show_bug.cgi?id=678466#c10
Marcus Meissner
https://bugzilla.novell.com/show_bug.cgi?id=678466
https://bugzilla.novell.com/show_bug.cgi?id=678466#c11
Swamp Workflow Management
https://bugzilla.novell.com/show_bug.cgi?id=678466
https://bugzilla.novell.com/show_bug.cgi?id=678466#c12
Swamp Workflow Management
https://bugzilla.novell.com/show_bug.cgi?id=678466
https://bugzilla.novell.com/show_bug.cgi?id=678466#c13
Swamp Workflow Management
https://bugzilla.novell.com/show_bug.cgi?id=678466
https://bugzilla.novell.com/show_bug.cgi?id=678466#c14
Swamp Workflow Management
https://bugzilla.novell.com/show_bug.cgi?id=678466
https://bugzilla.novell.com/show_bug.cgi?id=678466#c15
Swamp Workflow Management
https://bugzilla.novell.com/show_bug.cgi?id=678466
https://bugzilla.novell.com/show_bug.cgi?id=678466#c16
Swamp Workflow Management
https://bugzilla.novell.com/show_bug.cgi?id=678466
https://bugzilla.novell.com/show_bug.cgi?id=678466#c17
Swamp Workflow Management
https://bugzilla.novell.com/show_bug.cgi?id=678466
https://bugzilla.novell.com/show_bug.cgi?id=678466#c18
Swamp Workflow Management
https://bugzilla.novell.com/show_bug.cgi?id=678466
https://bugzilla.novell.com/show_bug.cgi?id=678466#c19
Swamp Workflow Management
https://bugzilla.novell.com/show_bug.cgi?id=678466
https://bugzilla.novell.com/show_bug.cgi?id=678466#c20
Swamp Workflow Management
https://bugzilla.novell.com/show_bug.cgi?id=678466
https://bugzilla.novell.com/show_bug.cgi?id=678466#c21
Swamp Workflow Management
https://bugzilla.novell.com/show_bug.cgi?id=678466
https://bugzilla.novell.com/show_bug.cgi?id=678466#c22
Mel Gorman
participants (1)
-
bugzilla_noreply@novell.com