* 2.6.16-rc3 macromedia flash regression...
@ 2006-02-17 4:08 Ernst Herzberg
2006-02-17 7:10 ` Andrew Morton
2006-02-17 7:23 ` Andrew Morton
0 siblings, 2 replies; 8+ messages in thread
From: Ernst Herzberg @ 2006-02-17 4:08 UTC (permalink / raw)
To: linux-kernel
.... or not regession, that's the question.
2.6.16-rc2 works without problems.
With -rc3 a .swf that opens a ip connection back to the server takes ages to
load. strace shows that the player hangs for long times in select().
Digging through the changelog brings up
commit 643a654540579b0dcc7a206a4a7475276a41aff0
Author: Andrew Morton <akpm@osdl.org>
Date: Sat Feb 11 17:55:52 2006 -0800
[PATCH] select: fix returned timeval
Reverting the patch partial like
--- lx-2.6.16-rc3/fs/select.c 2006-02-17 04:35:10.000000000 +0100
+++ lx-2.6.16-rc3.old/fs/select.c 2006-02-17 04:44:00.000000000 +0100
@@ -404,8 +404,6 @@ asmlinkage long sys_select(int n, fd_set
goto sticky;
rtv.tv_usec = jiffies_to_usecs(do_div((*(u64*)&timeout), HZ));
rtv.tv_sec = timeout;
- if (timeval_compare(&rtv, &tv) < 0)
- rtv = tv;
if (copy_to_user(tvp, &rtv, sizeof(rtv))) {
sticky:
/*
@@ -471,8 +469,6 @@ asmlinkage long sys_pselect7(int n, fd_s
rts.tv_nsec = jiffies_to_usecs(do_div((*(u64*)&timeout), HZ))
*
1000;
rts.tv_sec = timeout;
- if (timespec_compare(&rts, &ts) < 0)
- rts = ts;
if (copy_to_user(tsp, &rts, sizeof(rts))) {
sticky:
/*
----------------------
fixed that, the player works again in normal speed.
The player is the newest from macromedia (7.0.61.0, gentoo ebuild), binary
only of course:( Reading the patch and the documentation of select() i think
the player is buggy... but works until 2.6.16-rc3
So what is your opinion? I think, macromedia should fix the player...
Thanks
<earny/>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: 2.6.16-rc3 macromedia flash regression...
2006-02-17 4:08 2.6.16-rc3 macromedia flash regression Ernst Herzberg
@ 2006-02-17 7:10 ` Andrew Morton
2006-02-17 19:37 ` Ernst Herzberg
2006-02-17 7:23 ` Andrew Morton
1 sibling, 1 reply; 8+ messages in thread
From: Andrew Morton @ 2006-02-17 7:10 UTC (permalink / raw)
To: earny; +Cc: list-lkml, linux-kernel
Ernst Herzberg <list-lkml@net4u.de> wrote:
>
> .... or not regession, that's the question.
>
> 2.6.16-rc2 works without problems.
>
> With -rc3 a .swf that opens a ip connection back to the server takes ages to
> load. strace shows that the player hangs for long times in select().
>
> Digging through the changelog brings up
>
> commit 643a654540579b0dcc7a206a4a7475276a41aff0
> Author: Andrew Morton <akpm@osdl.org>
> Date: Sat Feb 11 17:55:52 2006 -0800
>
> [PATCH] select: fix returned timeval
Thanks for working that out.
Are you able to send along the relevant parts of the strace output, so we
see the select() inputs and outputs?
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: 2.6.16-rc3 macromedia flash regression...
2006-02-17 4:08 2.6.16-rc3 macromedia flash regression Ernst Herzberg
2006-02-17 7:10 ` Andrew Morton
@ 2006-02-17 7:23 ` Andrew Morton
2006-02-17 19:38 ` Ernst Herzberg
1 sibling, 1 reply; 8+ messages in thread
From: Andrew Morton @ 2006-02-17 7:23 UTC (permalink / raw)
To: earny; +Cc: list-lkml, linux-kernel
Ernst Herzberg <list-lkml@net4u.de> wrote:
>
> .... or not regession, that's the question.
>
> 2.6.16-rc2 works without problems.
>
> With -rc3 a .swf that opens a ip connection back to the server takes ages to
> load. strace shows that the player hangs for long times in select().
>
> Digging through the changelog brings up
>
> commit 643a654540579b0dcc7a206a4a7475276a41aff0
> Author: Andrew Morton <akpm@osdl.org>
> Date: Sat Feb 11 17:55:52 2006 -0800
>
> [PATCH] select: fix returned timeval
y'know, when I sent that patch out to reviewers I said "Could you guys
please double-check this like hawks? Especially the handy-dandy new
timespec/timeval comparison functions. I invariably screw that sort of
thing up."
Does this help?
diff -puN fs/select.c~select-time-comparison-fixes fs/select.c
--- devel/fs/select.c~select-time-comparison-fixes 2006-02-16 23:17:54.000000000 -0800
+++ devel-akpm/fs/select.c 2006-02-16 23:19:21.000000000 -0800
@@ -404,7 +404,7 @@ asmlinkage long sys_select(int n, fd_set
goto sticky;
rtv.tv_usec = jiffies_to_usecs(do_div((*(u64*)&timeout), HZ));
rtv.tv_sec = timeout;
- if (timeval_compare(&rtv, &tv) < 0)
+ if (timeval_compare(&rtv, &tv) >= 0)
rtv = tv;
if (copy_to_user(tvp, &rtv, sizeof(rtv))) {
sticky:
@@ -471,7 +471,7 @@ asmlinkage long sys_pselect7(int n, fd_s
rts.tv_nsec = jiffies_to_usecs(do_div((*(u64*)&timeout), HZ)) *
1000;
rts.tv_sec = timeout;
- if (timespec_compare(&rts, &ts) < 0)
+ if (timespec_compare(&rts, &ts) >= 0)
rts = ts;
if (copy_to_user(tsp, &rts, sizeof(rts))) {
sticky:
@@ -775,7 +775,7 @@ asmlinkage long sys_ppoll(struct pollfd
rts.tv_nsec = jiffies_to_usecs(do_div((*(u64*)&timeout), HZ)) *
1000;
rts.tv_sec = timeout;
- if (timespec_compare(&rts, &ts) < 0)
+ if (timespec_compare(&rts, &ts) >= 0)
rts = ts;
if (copy_to_user(tsp, &rts, sizeof(rts))) {
sticky:
diff -puN fs/compat.c~select-time-comparison-fixes fs/compat.c
--- devel/fs/compat.c~select-time-comparison-fixes 2006-02-16 23:17:54.000000000 -0800
+++ devel-akpm/fs/compat.c 2006-02-16 23:19:33.000000000 -0800
@@ -1757,7 +1757,7 @@ asmlinkage long compat_sys_select(int n,
goto sticky;
rtv.tv_usec = jiffies_to_usecs(do_div((*(u64*)&timeout), HZ));
rtv.tv_sec = timeout;
- if (compat_timeval_compare(&rtv, &tv) < 0)
+ if (compat_timeval_compare(&rtv, &tv) >= 0)
rtv = tv;
if (copy_to_user(tvp, &rtv, sizeof(rtv))) {
sticky:
@@ -1834,7 +1834,7 @@ asmlinkage long compat_sys_pselect7(int
rts.tv_sec++;
rts.tv_nsec -= NSEC_PER_SEC;
}
- if (compat_timespec_compare(&rts, &ts) < 0)
+ if (compat_timespec_compare(&rts, &ts) >= 0)
rts = ts;
copy_to_user(tsp, &rts, sizeof(rts));
}
@@ -1934,7 +1934,7 @@ asmlinkage long compat_sys_ppoll(struct
rts.tv_nsec = jiffies_to_usecs(do_div((*(u64*)&timeout), HZ)) *
1000;
rts.tv_sec = timeout;
- if (compat_timespec_compare(&rts, &ts) < 0)
+ if (compat_timespec_compare(&rts, &ts) >= 0)
rts = ts;
if (copy_to_user(tsp, &rts, sizeof(rts))) {
sticky:
_
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: 2.6.16-rc3 macromedia flash regression...
2006-02-17 7:10 ` Andrew Morton
@ 2006-02-17 19:37 ` Ernst Herzberg
0 siblings, 0 replies; 8+ messages in thread
From: Ernst Herzberg @ 2006-02-17 19:37 UTC (permalink / raw)
To: Andrew Morton; +Cc: linux-kernel
On Freitag 17 Februar 2006 08:10, Andrew Morton wrote:
> Ernst Herzberg <list-lkml@net4u.de> wrote:
> > .... or not regession, that's the question.
> >
> > 2.6.16-rc2 works without problems.
> >
> > With -rc3 a .swf that opens a ip connection back to the server takes
> > ages to load. strace shows that the player hangs for long times in
> > select().
> >
> > Digging through the changelog brings up
> >
> > commit 643a654540579b0dcc7a206a4a7475276a41aff0
> > Author: Andrew Morton <akpm@osdl.org>
> > Date: Sat Feb 11 17:55:52 2006 -0800
> >
> > [PATCH] select: fix returned timeval
>
> Thanks for working that out.
>
> Are you able to send along the relevant parts of the strace output, so
> we see the select() inputs and outputs?
The straces are available at
http://dev.net4u.de/~earny/flash_regression/
If someone want to debug this by itself should contact me private, i will
then setup an URL with the problematic swf.
Thanks
<earny/>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: 2.6.16-rc3 macromedia flash regression...
2006-02-17 7:23 ` Andrew Morton
@ 2006-02-17 19:38 ` Ernst Herzberg
2006-02-17 21:16 ` Andrew Morton
0 siblings, 1 reply; 8+ messages in thread
From: Ernst Herzberg @ 2006-02-17 19:38 UTC (permalink / raw)
To: Andrew Morton; +Cc: linux-kernel
On Freitag 17 Februar 2006 08:23, Andrew Morton wrote:
> Ernst Herzberg <list-lkml@net4u.de> wrote:
> > .... or not regession, that's the question.
> >
> > 2.6.16-rc2 works without problems.
> >
> > With -rc3 a .swf that opens a ip connection back to the server takes
> > ages to load. strace shows that the player hangs for long times in
> > select().
> >
> > Digging through the changelog brings up
> >
> > commit 643a654540579b0dcc7a206a4a7475276a41aff0
> > Author: Andrew Morton <akpm@osdl.org>
> > Date: Sat Feb 11 17:55:52 2006 -0800
> >
> > [PATCH] select: fix returned timeval
>
> y'know, when I sent that patch out to reviewers I said "Could you guys
> please double-check this like hawks? Especially the handy-dandy new
> timespec/timeval comparison functions. I invariably screw that sort of
> thing up."
>
> Does this help?
>
>
> diff -puN fs/select.c~select-time-comparison-fixes fs/select.c
> --- devel/fs/select.c~select-time-comparison-fixes 2006-02-16
> 23:17:54.000000000 -0800 +++ devel-akpm/fs/select.c 2006-02-16
> 23:19:21.000000000 -0800
> @@ -404,7 +404,7 @@ asmlinkage long sys_select(int n, fd_set
> goto sticky;
> rtv.tv_usec = jiffies_to_usecs(do_div((*(u64*)&timeout), HZ));
> rtv.tv_sec = timeout;
> - if (timeval_compare(&rtv, &tv) < 0)
> + if (timeval_compare(&rtv, &tv) >= 0)
> rtv = tv;
> if (copy_to_user(tvp, &rtv, sizeof(rtv))) {
> sticky:
> @@ -471,7 +471,7 @@ asmlinkage long sys_pselect7(int n, fd_s
> rts.tv_nsec = jiffies_to_usecs(do_div((*(u64*)&timeout), HZ)) *
> 1000;
> rts.tv_sec = timeout;
> - if (timespec_compare(&rts, &ts) < 0)
> + if (timespec_compare(&rts, &ts) >= 0)
> rts = ts;
> if (copy_to_user(tsp, &rts, sizeof(rts))) {
> sticky:
> @@ -775,7 +775,7 @@ asmlinkage long sys_ppoll(struct pollfd
> rts.tv_nsec = jiffies_to_usecs(do_div((*(u64*)&timeout), HZ)) *
> 1000;
> rts.tv_sec = timeout;
> - if (timespec_compare(&rts, &ts) < 0)
> + if (timespec_compare(&rts, &ts) >= 0)
> rts = ts;
> if (copy_to_user(tsp, &rts, sizeof(rts))) {
> sticky:
> diff -puN fs/compat.c~select-time-comparison-fixes fs/compat.c
> --- devel/fs/compat.c~select-time-comparison-fixes 2006-02-16
> 23:17:54.000000000 -0800 +++ devel-akpm/fs/compat.c 2006-02-16
> 23:19:33.000000000 -0800
> @@ -1757,7 +1757,7 @@ asmlinkage long compat_sys_select(int n,
> goto sticky;
> rtv.tv_usec = jiffies_to_usecs(do_div((*(u64*)&timeout), HZ));
> rtv.tv_sec = timeout;
> - if (compat_timeval_compare(&rtv, &tv) < 0)
> + if (compat_timeval_compare(&rtv, &tv) >= 0)
> rtv = tv;
> if (copy_to_user(tvp, &rtv, sizeof(rtv))) {
> sticky:
> @@ -1834,7 +1834,7 @@ asmlinkage long compat_sys_pselect7(int
> rts.tv_sec++;
> rts.tv_nsec -= NSEC_PER_SEC;
> }
> - if (compat_timespec_compare(&rts, &ts) < 0)
> + if (compat_timespec_compare(&rts, &ts) >= 0)
> rts = ts;
> copy_to_user(tsp, &rts, sizeof(rts));
> }
> @@ -1934,7 +1934,7 @@ asmlinkage long compat_sys_ppoll(struct
> rts.tv_nsec = jiffies_to_usecs(do_div((*(u64*)&timeout), HZ)) *
> 1000;
> rts.tv_sec = timeout;
> - if (compat_timespec_compare(&rts, &ts) < 0)
> + if (compat_timespec_compare(&rts, &ts) >= 0)
> rts = ts;
> if (copy_to_user(tsp, &rts, sizeof(rts))) {
> sticky:
> _
---------------------------
The patch does _not_ fix the problem.
sorry...
<earny/>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: 2.6.16-rc3 macromedia flash regression...
2006-02-17 19:38 ` Ernst Herzberg
@ 2006-02-17 21:16 ` Andrew Morton
2006-02-17 22:07 ` Ernst Herzberg
0 siblings, 1 reply; 8+ messages in thread
From: Andrew Morton @ 2006-02-17 21:16 UTC (permalink / raw)
To: earny; +Cc: linux-kernel
Ernst Herzberg <earny@net4u.de> wrote:
>
> The patch does _not_ fix the problem.
>
Surprised. Could I ask that you double-check that the patch was applied
and that the right kernel was running?
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: 2.6.16-rc3 macromedia flash regression...
2006-02-17 21:16 ` Andrew Morton
@ 2006-02-17 22:07 ` Ernst Herzberg
2006-02-17 22:13 ` Andrew Morton
0 siblings, 1 reply; 8+ messages in thread
From: Ernst Herzberg @ 2006-02-17 22:07 UTC (permalink / raw)
To: Andrew Morton; +Cc: linux-kernel
On Friday 17 February 2006 22:16, Andrew Morton wrote:
> Ernst Herzberg <earny@net4u.de> wrote:
> > The patch does _not_ fix the problem.
>
> Surprised. Could I ask that you double-check that the patch was applied
> and that the right kernel was running?
**doublechecked**, and..... you are right!
This patch __fixes__ the problem.
Thanks
<earny/>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: 2.6.16-rc3 macromedia flash regression...
2006-02-17 22:07 ` Ernst Herzberg
@ 2006-02-17 22:13 ` Andrew Morton
0 siblings, 0 replies; 8+ messages in thread
From: Andrew Morton @ 2006-02-17 22:13 UTC (permalink / raw)
To: Ernst Herzberg; +Cc: linux-kernel
Ernst Herzberg <earny@net4u.de> wrote:
>
> On Friday 17 February 2006 22:16, Andrew Morton wrote:
> > Ernst Herzberg <earny@net4u.de> wrote:
> > > The patch does _not_ fix the problem.
> >
> > Surprised. Could I ask that you double-check that the patch was applied
> > and that the right kernel was running?
>
> **doublechecked**, and..... you are right!
>
> This patch __fixes__ the problem.
>
Whew. I thought I was going mad ;)
Thanks for finding the bug.
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2006-02-17 22:14 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-02-17 4:08 2.6.16-rc3 macromedia flash regression Ernst Herzberg
2006-02-17 7:10 ` Andrew Morton
2006-02-17 19:37 ` Ernst Herzberg
2006-02-17 7:23 ` Andrew Morton
2006-02-17 19:38 ` Ernst Herzberg
2006-02-17 21:16 ` Andrew Morton
2006-02-17 22:07 ` Ernst Herzberg
2006-02-17 22:13 ` Andrew Morton
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox