SRU request for LP#86778 (6.0.6 LTS)
Stefan Bader
stefan.bader at canonical.com
Thu Sep 4 14:02:08 UTC 2008
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Colin Ian King wrote:
> https://bugs.launchpad.net/ubuntu/dapper/+source/linux-source-2.6.15/+bug/86778
>
> SRU Justification:
>
> Impact: The mm zone page calculations are being miscalculated because of
> a previous commit.
>
> Fix: Add parentheses around >> operators in setup_per_zone_pages_min()
> to correct the calculation. Elaboration here:
>
> originally the calculation was:
>
> zone->pages_low = zone->pages_min + tmp / 4;
> zone->pages_high = zone->pages_min + tmp / 2;
>
> commit 622f7b4c920a9362d506400c0da02e3e06442b27 changed it to:
>
> zone->pages_low = zone->pages_min + tmp >> 2;
> zone->pages_high = zone->pages_min + tmp >> 1;
>
> unfortunately the + operator has higher precedence than >> hence the
> bug.
>
> it should be:
>
> zone->pages_low = zone->pages_min + (tmp >> 2);
> zone->pages_high = zone->pages_min + (tmp >> 1);
>
> Testcase: One can see the zonelist from /proc/zoneinfo: The low and high
> water marks should be different between the buggy and fixed versions.
>
> Testing:
>
> 1. Install 6.0.6 LTS i386 Server in VirtualBox and
> recording /proc/zoneinfo from /etc/rc.local to capture the zoneline low
> and high settings at boot time.
> 2. Booted up 3 times to see if the figures differ per boot (they
> don't).
> 3. Installed the fixed kernel and repeated the 3 boot test
> 4. Compare the buggy and fixed /proc/zoneinfo logs, e.g:
>
> Buggy Fixed
> low 15 38
> high 31 46
>
>
> Attached: Patch, zoneinfo_buggy.log (buggy zoneinfo) and
> zoneinfo_fixed.log (fixed version).
>
>
ACK
- --
When all other means of communication fail, try words!
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFIv+pfP+TjRTJVqvQRAjS7AJ9oDz8P7SHhfc+IEmUZmZMWuqozlQCgsCeD
gHdqMAQVI6g05nh6O/e7PO8=
=g0bY
-----END PGP SIGNATURE-----
More information about the kernel-team
mailing list