From: Fengguang Wu <fengguang.wu@intel.com>
To: Jan Kara <jack@suse.cz>
Cc: paul.szabo@sydney.edu.au, linux-mm@kvack.org,
695182@bugs.debian.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] Negative (setpoint-dirty) in bdi_position_ratio()
Date: Thu, 24 Jan 2013 22:14:41 +0800 [thread overview]
Message-ID: <20130124141441.GA12745@localhost> (raw)
In-Reply-To: <20130122235438.GB7497@quack.suse.cz>
On Wed, Jan 23, 2013 at 12:54:38AM +0100, Jan Kara wrote:
> On Sun 20-01-13 11:02:10, paul.szabo@sydney.edu.au wrote:
> > In bdi_position_ratio(), get difference (setpoint-dirty) right even when
> > negative. Both setpoint and dirty are unsigned long, the difference was
> > zero-padded thus wrongly sign-extended to s64. This issue affects all
> > 32-bit architectures, does not affect 64-bit architectures where long
> > and s64 are equivalent.
> >
> > In this function, dirty is between freerun and limit, the pseudo-float x
> > is between [-1,1], expected to be negative about half the time. With
> > zero-padding, instead of a small negative x we obtained a large positive
> > one so bdi_position_ratio() returned garbage.
> >
> > Casting the difference to s64 also prevents overflow with left-shift;
> > though normally these numbers are small and I never observed a 32-bit
> > overflow there.
> >
> > (This patch does not solve the PAE OOM issue.)
> >
> > Paul Szabo psz@maths.usyd.edu.au http://www.maths.usyd.edu.au/u/psz/
> > School of Mathematics and Statistics University of Sydney Australia
> >
> > Reported-by: Paul Szabo <psz@maths.usyd.edu.au>
> > Reference: http://bugs.debian.org/695182
> > Signed-off-by: Paul Szabo <psz@maths.usyd.edu.au>
> Ah, good catch. Thanks for the patch. You can add:
> Reviewed-by: Jan Kara <jack@suse.cz>
>
> I've also added CC to writeback maintainer.
Applied. Thanks! It's a good fix.
Thanks,
Fengguang
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
WARNING: multiple messages have this Message-ID (diff)
From: Fengguang Wu <fengguang.wu@intel.com>
To: Jan Kara <jack@suse.cz>
Cc: paul.szabo@sydney.edu.au, linux-mm@kvack.org,
695182@bugs.debian.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] Negative (setpoint-dirty) in bdi_position_ratio()
Date: Thu, 24 Jan 2013 22:14:41 +0800 [thread overview]
Message-ID: <20130124141441.GA12745@localhost> (raw)
In-Reply-To: <20130122235438.GB7497@quack.suse.cz>
On Wed, Jan 23, 2013 at 12:54:38AM +0100, Jan Kara wrote:
> On Sun 20-01-13 11:02:10, paul.szabo@sydney.edu.au wrote:
> > In bdi_position_ratio(), get difference (setpoint-dirty) right even when
> > negative. Both setpoint and dirty are unsigned long, the difference was
> > zero-padded thus wrongly sign-extended to s64. This issue affects all
> > 32-bit architectures, does not affect 64-bit architectures where long
> > and s64 are equivalent.
> >
> > In this function, dirty is between freerun and limit, the pseudo-float x
> > is between [-1,1], expected to be negative about half the time. With
> > zero-padding, instead of a small negative x we obtained a large positive
> > one so bdi_position_ratio() returned garbage.
> >
> > Casting the difference to s64 also prevents overflow with left-shift;
> > though normally these numbers are small and I never observed a 32-bit
> > overflow there.
> >
> > (This patch does not solve the PAE OOM issue.)
> >
> > Paul Szabo psz@maths.usyd.edu.au http://www.maths.usyd.edu.au/u/psz/
> > School of Mathematics and Statistics University of Sydney Australia
> >
> > Reported-by: Paul Szabo <psz@maths.usyd.edu.au>
> > Reference: http://bugs.debian.org/695182
> > Signed-off-by: Paul Szabo <psz@maths.usyd.edu.au>
> Ah, good catch. Thanks for the patch. You can add:
> Reviewed-by: Jan Kara <jack@suse.cz>
>
> I've also added CC to writeback maintainer.
Applied. Thanks! It's a good fix.
Thanks,
Fengguang
next prev parent reply other threads:[~2013-01-24 14:14 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-20 0:02 [PATCH] Negative (setpoint-dirty) in bdi_position_ratio() paul.szabo
2013-01-20 0:02 ` paul.szabo
2013-01-22 23:54 ` Jan Kara
2013-01-22 23:54 ` Jan Kara
2013-01-24 14:14 ` Fengguang Wu [this message]
2013-01-24 14:14 ` Fengguang Wu
2013-01-24 14:57 ` Fengguang Wu
2013-01-24 14:57 ` Fengguang Wu
2013-01-24 15:16 ` Jan Kara
2013-01-24 15:16 ` Jan Kara
2013-01-25 0:15 ` paul.szabo
2013-01-25 0:15 ` paul.szabo
2013-01-24 23:43 ` paul.szabo
2013-01-24 23:43 ` paul.szabo
2013-01-25 0:55 ` Fengguang Wu
2013-01-25 0:55 ` Fengguang Wu
2013-01-25 1:47 ` paul.szabo
2013-01-25 1:47 ` paul.szabo
2013-01-26 3:57 ` paul.szabo
2013-01-26 3:57 ` paul.szabo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130124141441.GA12745@localhost \
--to=fengguang.wu@intel.com \
--cc=695182@bugs.debian.org \
--cc=jack@suse.cz \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=paul.szabo@sydney.edu.au \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.