2008-02-29 06:19:48

by KOSAKI Motohiro

[permalink] [raw]
Subject: trivial clean up to zlc_setup

Hi

I found very small bug during review mel's 2 zonelist patch series.

this patch is trivial clean up.
jiffies subtraction may cause overflow problem.
it shold be used time_after().

Thanks.


Signed-off-by: KOSAKI Motohiro <[email protected]>
CC: Lee Schermerhorn <[email protected]>
CC: Paul Jackson <[email protected]>
---
mm/page_alloc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Index: b/mm/page_alloc.c
===================================================================
--- a/mm/page_alloc.c 2008-02-18 17:17:25.000000000 +0900
+++ b/mm/page_alloc.c 2008-02-29 15:17:03.000000000 +0900
@@ -1294,7 +1294,7 @@ static nodemask_t *zlc_setup(struct zone
if (!zlc)
return NULL;

- if (jiffies - zlc->last_full_zap > 1 * HZ) {
+ if (time_after(jiffies, zlc->last_full_zap + HZ)) {
bitmap_zero(zlc->fullzones, MAX_ZONES_PER_ZONELIST);
zlc->last_full_zap = jiffies;
}





2008-02-29 08:06:48

by Andrew Morton

[permalink] [raw]
Subject: Re: trivial clean up to zlc_setup

On Fri, 29 Feb 2008 15:19:39 +0900 KOSAKI Motohiro <[email protected]> wrote:

> Hi
>
> I found very small bug during review mel's 2 zonelist patch series.
>
> this patch is trivial clean up.
> jiffies subtraction may cause overflow problem.
> it shold be used time_after().
>
> Thanks.
>
>
> Signed-off-by: KOSAKI Motohiro <[email protected]>
> CC: Lee Schermerhorn <[email protected]>
> CC: Paul Jackson <[email protected]>
> ---
> mm/page_alloc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> Index: b/mm/page_alloc.c
> ===================================================================
> --- a/mm/page_alloc.c 2008-02-18 17:17:25.000000000 +0900
> +++ b/mm/page_alloc.c 2008-02-29 15:17:03.000000000 +0900
> @@ -1294,7 +1294,7 @@ static nodemask_t *zlc_setup(struct zone
> if (!zlc)
> return NULL;
>
> - if (jiffies - zlc->last_full_zap > 1 * HZ) {
> + if (time_after(jiffies, zlc->last_full_zap + HZ)) {
> bitmap_zero(zlc->fullzones, MAX_ZONES_PER_ZONELIST);
> zlc->last_full_zap = jiffies;
> }

That's a mainline bug. Also present in 2.6.24, maybe earlier.

But it's a minor one - we'll fix it up one second later (yes?)

2008-02-29 08:32:56

by KOSAKI Motohiro

[permalink] [raw]
Subject: Re: trivial clean up to zlc_setup

> > - if (jiffies - zlc->last_full_zap > 1 * HZ) {
> > + if (time_after(jiffies, zlc->last_full_zap + HZ)) {
> > bitmap_zero(zlc->fullzones, MAX_ZONES_PER_ZONELIST);
> > zlc->last_full_zap = jiffies;
> > }
>
> That's a mainline bug. Also present in 2.6.24, maybe earlier.
> But it's a minor one - we'll fix it up one second later (yes?)

I think so, may be.

Thanks.

-kosaki

2008-02-29 13:32:26

by S.Çağlar Onur

[permalink] [raw]
Subject: Re: trivial clean up to zlc_setup

Hi;

29 Şub 2008 Cum tarihinde, KOSAKI Motohiro şunları yazmıştı:
> > > - if (jiffies - zlc->last_full_zap > 1 * HZ) {
> > > + if (time_after(jiffies, zlc->last_full_zap + HZ)) {
> > > bitmap_zero(zlc->fullzones, MAX_ZONES_PER_ZONELIST);
> > > zlc->last_full_zap = jiffies;
> > > }
> >
> > That's a mainline bug. Also present in 2.6.24, maybe earlier.
> > But it's a minor one - we'll fix it up one second later (yes?)
>
> I think so, may be.

Andrew "Use time_* macros" series i sent to LKML on 14 Feb [1] has this chunk also (and by the way this version not includes linux/jiffies.h for time_after macro). Some part of this series already gone into Linus's tree with different subsystems but others not received any review/ack or nack. Will you grab others for -mm or will i resend them?

[1] http://lkml.org/lkml/2008/2/14/195

Cheers
--
S.Çağlar Onur <[email protected]>
http://cekirdek.pardus.org.tr/~caglar/

Linux is like living in a teepee. No Windows, no Gates and an Apache in house!


Attachments:
(No filename) (1.04 kB)
signature.asc (189.00 B)
This is a digitally signed message part.
Download all attachments

2008-02-29 15:36:40

by Paul Jackson

[permalink] [raw]
Subject: Re: trivial clean up to zlc_setup

kosaki-san wrote:
> - if (jiffies - zlc->last_full_zap > 1 * HZ) {
> + if (time_after(jiffies, zlc->last_full_zap + HZ)) {

Nice catch. Thank-you.

--
I won't rest till it's the best ...
Programmer, Linux Scalability
Paul Jackson <[email protected]> 1.940.382.4214