* 2.6.10: SPARC64 mapped figure goes unsignedly negative... @ 2005-01-30 17:04 Nix 2005-01-31 13:04 ` Hugh Dickins 0 siblings, 1 reply; 7+ messages in thread From: Nix @ 2005-01-30 17:04 UTC (permalink / raw) To: linux-kernel /proc/meminfo on my UltraSPARC IIi: MemTotal: 512816 kB MemFree: 14208 kB Buffers: 51328 kB Cached: 163056 kB SwapCached: 0 kB Active: 142160 kB Inactive: 304712 kB HighTotal: 0 kB HighFree: 0 kB LowTotal: 512816 kB LowFree: 14208 kB SwapTotal: 1557264 kB SwapFree: 1557176 kB Dirty: 5256 kB Writeback: 0 kB Mapped: 18446744073687883208 kB Slab: 43928 kB CommitLimit: 1813672 kB Committed_AS: 342712 kB PageTables: 1728 kB VmallocTotal: 3145728 kB VmallocUsed: 456 kB VmallocChunk: 3145272 kB That Mapped figure looks somewhat inaccurate, being about negative 19Gb. The other figures are pretty much right, as far as I can tell. (This kernel is compiled with GCC-3.4.3, which might be relevant.) -- `Blish is clearly in love with language. Unfortunately, language dislikes him intensely.' --- Russ Allbery ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: 2.6.10: SPARC64 mapped figure goes unsignedly negative... 2005-01-30 17:04 2.6.10: SPARC64 mapped figure goes unsignedly negative Nix @ 2005-01-31 13:04 ` Hugh Dickins 2005-01-31 15:30 ` Nix 0 siblings, 1 reply; 7+ messages in thread From: Hugh Dickins @ 2005-01-31 13:04 UTC (permalink / raw) To: Nix; +Cc: linux-kernel On Sun, 30 Jan 2005, Nix wrote: > /proc/meminfo on my UltraSPARC IIi: > Mapped: 18446744073687883208 kB > > (This kernel is compiled with GCC-3.4.3, which might be relevant.) Indeed: sparc64 gcc-3.4 seems to be having trouble with that since 2.6.9: we've been persuing it offlist, I'll factor you in. Hugh ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: 2.6.10: SPARC64 mapped figure goes unsignedly negative... 2005-01-31 13:04 ` Hugh Dickins @ 2005-01-31 15:30 ` Nix 2005-01-31 16:01 ` Hugh Dickins 0 siblings, 1 reply; 7+ messages in thread From: Nix @ 2005-01-31 15:30 UTC (permalink / raw) To: Hugh Dickins; +Cc: linux-kernel On Mon, 31 Jan 2005, Hugh Dickins suggested tentatively: > On Sun, 30 Jan 2005, Nix wrote: >> /proc/meminfo on my UltraSPARC IIi: >> Mapped: 18446744073687883208 kB >> >> (This kernel is compiled with GCC-3.4.3, which might be relevant.) > > Indeed: sparc64 gcc-3.4 seems to be having trouble with that > since 2.6.9: we've been persuing it offlist, I'll factor you in. Excellent; thank you! (2.6.10 seems to *run* perfectly well on that box, for what it's worth; unless this is a symptom of some underlying dark and terrible failure, it looks like a not-very-important cosmetic bug.) -- `Blish is clearly in love with language. Unfortunately, language dislikes him intensely.' --- Russ Allbery ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: 2.6.10: SPARC64 mapped figure goes unsignedly negative... 2005-01-31 15:30 ` Nix @ 2005-01-31 16:01 ` Hugh Dickins 2005-01-31 16:13 ` Nix 0 siblings, 1 reply; 7+ messages in thread From: Hugh Dickins @ 2005-01-31 16:01 UTC (permalink / raw) To: Nix; +Cc: linux-kernel On Mon, 31 Jan 2005, Nix wrote: > On Mon, 31 Jan 2005, Hugh Dickins suggested tentatively: > > On Sun, 30 Jan 2005, Nix wrote: > >> /proc/meminfo on my UltraSPARC IIi: > >> Mapped: 18446744073687883208 kB > >> > >> (This kernel is compiled with GCC-3.4.3, which might be relevant.) > > > > Indeed: sparc64 gcc-3.4 seems to be having trouble with that > > since 2.6.9: we've been persuing it offlist, I'll factor you in. > > Excellent; thank you! > > (2.6.10 seems to *run* perfectly well on that box, for what it's worth; > unless this is a symptom of some underlying dark and terrible failure, > it looks like a not-very-important cosmetic bug.) A lot of the time you're right and it is just cosmetic. But if memory gets tight and it should be using swap, it mistakenly fails to do so, so you may end up getting OOM-killed. Patch below is a temporary hack workaround against that. The Mapped count also affects when dirty file writeback kicks in, but the effect there appears to be less serious. More worrying is, what else might sparc64 gcc-3.4 be getting wrong? (if it really is to blame: looks to be so but not yet proven) Hugh --- 2.6.10/mm/vmscan.c 2004-12-24 21:36:18.000000000 +0000 +++ linux/mm/vmscan.c 2005-01-31 12:44:56.006629152 +0000 @@ -690,6 +690,8 @@ refill_inactive_zone(struct zone *zone, * is mapped. */ mapped_ratio = (sc->nr_mapped * 100) / total_memory; + if (mapped_ratio < 0) + mapped_ratio = 78; /* * Now decide how much we really want to unmap some pages. The mapped ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: 2.6.10: SPARC64 mapped figure goes unsignedly negative... 2005-01-31 16:01 ` Hugh Dickins @ 2005-01-31 16:13 ` Nix 2005-01-31 17:06 ` Hugh Dickins 0 siblings, 1 reply; 7+ messages in thread From: Nix @ 2005-01-31 16:13 UTC (permalink / raw) To: Hugh Dickins; +Cc: linux-kernel On Mon, 31 Jan 2005, Hugh Dickins said: > On Mon, 31 Jan 2005, Nix wrote: >> (2.6.10 seems to *run* perfectly well on that box, for what it's worth; >> unless this is a symptom of some underlying dark and terrible failure, >> it looks like a not-very-important cosmetic bug.) > > A lot of the time you're right and it is just cosmetic. But if memory > gets tight and it should be using swap, it mistakenly fails to do so, > so you may end up getting OOM-killed. Patch below is a temporary hack > workaround against that. Odd: this machine seems to be using swap, albeit not very much (and I've got the swap priorities upside down, as well; whoops, that's probably been harming performance for, well, years): Filename Type Size Used Priority /dev/sda2 partition 523016 0 1 /dev/sda4 partition 511232 57648 2 /dev/sdb2 partition 523016 0 1 Is the problem that the higher-priority kicking out to swap which should happen when memory is tight, won't? > The Mapped count also affects when dirty file > writeback kicks in, but the effect there appears to be less serious. ... since it kicks in eventually anyway. > More worrying is, what else might sparc64 gcc-3.4 be getting wrong? That's a question that's very hard to answer until we know the cause of this failure and can fix it: then we can go through the RTL or assembler dumps of a kernel compilation and comb more potential problems out (or not: it's probably a long and thankless task). I'll build rmap.c with GCC-3.3 later tonight (if I can find a copy on my old backups), compare the generated code, and see if anything leaps out at me. > --- 2.6.10/mm/vmscan.c 2004-12-24 21:36:18.000000000 +0000 > +++ linux/mm/vmscan.c 2005-01-31 12:44:56.006629152 +0000 > @@ -690,6 +690,8 @@ refill_inactive_zone(struct zone *zone, > * is mapped. > */ > mapped_ratio = (sc->nr_mapped * 100) / total_memory; > + if (mapped_ratio < 0) > + mapped_ratio = 78; > > /* > * Now decide how much we really want to unmap some pages. The mapped `78'? A hack indeed! :) -- `Blish is clearly in love with language. Unfortunately, language dislikes him intensely.' --- Russ Allbery ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: 2.6.10: SPARC64 mapped figure goes unsignedly negative... 2005-01-31 16:13 ` Nix @ 2005-01-31 17:06 ` Hugh Dickins 2005-01-31 17:31 ` Nix 0 siblings, 1 reply; 7+ messages in thread From: Hugh Dickins @ 2005-01-31 17:06 UTC (permalink / raw) To: Nix; +Cc: linux-kernel On Mon, 31 Jan 2005, Nix wrote: > > Odd: this machine seems to be using swap, albeit not very much (and I've > got the swap priorities upside down, as well; whoops, that's probably > been harming performance for, well, years): > > Filename Type Size Used Priority > /dev/sda2 partition 523016 0 1 > /dev/sda4 partition 511232 57648 2 > /dev/sdb2 partition 523016 0 1 > > Is the problem that the higher-priority kicking out to swap which should > happen when memory is tight, won't? I had thought that it was any kicking out to swap - apart from kicking tmpfs/shmem pages to swap, which should happen independently of Mapped. If you're not using tmpfs or shmem, then I'm surprised by that figure. There was 88 kB out to swap in your original /proc/meminfo, which we may suppose was before Mapped went negative; but above shows more since. > I'll build rmap.c with GCC-3.3 later tonight (if I can find a copy on my > old backups), compare the generated code, and see if anything leaps out > at me. Worth doing, thank you. Rene has sent us the GCC-3.4 output, but I've not spotted anything the matter with it yet. Hugh ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: 2.6.10: SPARC64 mapped figure goes unsignedly negative... 2005-01-31 17:06 ` Hugh Dickins @ 2005-01-31 17:31 ` Nix 0 siblings, 0 replies; 7+ messages in thread From: Nix @ 2005-01-31 17:31 UTC (permalink / raw) To: Hugh Dickins; +Cc: linux-kernel On Mon, 31 Jan 2005, Hugh Dickins uttered the following: > On Mon, 31 Jan 2005, Nix wrote: >> Filename Type Size Used Priority >> /dev/sda2 partition 523016 0 1 >> /dev/sda4 partition 511232 57648 2 >> /dev/sdb2 partition 523016 0 1 >> >> Is the problem that the higher-priority kicking out to swap which should >> happen when memory is tight, won't? > > I had thought that it was any kicking out to swap - apart from kicking > tmpfs/shmem pages to swap, which should happen independently of Mapped. > > If you're not using tmpfs or shmem, then I'm surprised by that figure. Oh. Yes, tmpfs might just about explain it: 58320 /tmp So it looks like I have a swap-free box for a time. I guess I'd better be careful... :) > There was 88 kB out to swap in your original /proc/meminfo, which we > may suppose was before Mapped went negative; but above shows more since. Yes, I expect so. It must've gone negative really rather early: and note that it's some distance below 2^64 by now, so it's still falling. If I wait for a billion years or so it might wrap around. :) -- `Blish is clearly in love with language. Unfortunately, language dislikes him intensely.' --- Russ Allbery ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2005-01-31 17:32 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2005-01-30 17:04 2.6.10: SPARC64 mapped figure goes unsignedly negative Nix 2005-01-31 13:04 ` Hugh Dickins 2005-01-31 15:30 ` Nix 2005-01-31 16:01 ` Hugh Dickins 2005-01-31 16:13 ` Nix 2005-01-31 17:06 ` Hugh Dickins 2005-01-31 17:31 ` Nix
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox