Bug 10592 - [old regression] performance drop for glx after vblank patch
Summary: [old regression] performance drop for glx after vblank patch
Status: RESOLVED CODE_FIX
Alias: None
Product: Drivers
Classification: Unclassified
Component: Video(DRI - non Intel) (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: drivers_video-dri
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-05-02 10:36 UTC by Oleksij Rempel (fishor)
Modified: 2009-07-23 07:41 UTC (History)
1 user (show)

See Also:
Kernel Version: 2.6.20-2.6.25
Subsystem:
Regression: Yes
Bisected commit-id:


Attachments

Description Oleksij Rempel (fishor) 2008-05-02 10:36:32 UTC
Latest working kernel version:2.6.19
Earliest failing kernel version:2.6.20
Distribution:ubuntu 8.04
Hardware Environment:ASUS P5LD2-VM ( video i945g , Pentium D ) 
Software Environment:
Problem Description:


This is old regression. Tested with glxgears i get this results:
v2.6.19     _1413.112_FPS_
v2.6.20      1280.060 FPS  
v2.6.22      1300.116 FPS
v2.6.24      1205.895 FPS
v2.6.25-git* 1226.967 FPS


Thirst regression was pasebly introduced by vblank patch in i915:
commit ee2fae03d68e702866a8661fbee7ff2f2f3754d7
Merge: e4ddc9c... f9841a8...
Author: Linus Torvalds <torvalds@woody.osdl.org>
Date:   Wed Dec 20 23:59:07 2006 -0800

    Merge branch 'drm-patches' of master.kernel.org:/pub/scm/linux/kernel/git/ai
    
    * 'drm-patches' of master.kernel.org:/pub/scm/linux/kernel/git/airlied/drm-2
      drm: Stop defining pci_pretty_name
      drm: r128: comment aligment with drm git
      drm: make kernel context switch same as for drm git tree.
      drm: fixup comment header style
      drm: savage: compat fix from drm git.
      drm: Unify radeon offset checking.
      i915_vblank_tasklet: Try harder to avoid tearing.
      DRM: handle pci_enable_device failure
      drm: fix return value check


I didn't get correct bisecting. Seems git-bisect can't correctly working with 2.9.19 tree or i did some thin really wrong, so i get this resoult:

commit e1036502e5263851259d147771226161e5ccc85a
Author: Nicolas Pitre <nico@cam.org>
Date:   Tue Dec 12 13:32:29 2006 -0500

    [PATCH] remove config ordering/dependency between ucb1400-ts and sound subsy
    
    Commit 2d4ba4a3b9aef95d328d74a17ae84f8d658059e2 introduced a dependency
    that was never meant to exist when the ac97_bus.c module was created.
    Move ac97_bus.c up the directory hierarchy to make sure it is built when
    selected even if sound is configured out so things work as originally
    intended.
    
    Signed-off-by: Nicolas Pitre <nico@cam.org>
    Acked-by: Randy Dunlap <randy.dunlap@oracle.com>
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Comment 1 Anonymous Emailer 2008-05-02 16:19:09 UTC
Reply-To: akpm@linux-foundation.org

(switched to email.  Please respond via emailed reply-to-all, not via the
bugzilla web interface).

On Fri,  2 May 2008 10:36:33 -0700 (PDT)
bugme-daemon@bugzilla.kernel.org wrote:

> http://bugzilla.kernel.org/show_bug.cgi?id=10592
> 
>            Summary: [old regression] performance drop for glx after vblank
>                     patch
>            Product: Drivers
>            Version: 2.5
>      KernelVersion: 2.6.20-2.6.25
>           Platform: All
>         OS/Version: Linux
>               Tree: Mainline
>             Status: NEW
>           Severity: normal
>           Priority: P1
>          Component: Video(DRI)
>         AssignedTo: drivers_video-dri@kernel-bugs.osdl.org
>         ReportedBy: bug-track@fisher-privat.net
> 
> 
> Latest working kernel version:2.6.19
> Earliest failing kernel version:2.6.20
> Distribution:ubuntu 8.04
> Hardware Environment:ASUS P5LD2-VM ( video i945g , Pentium D ) 
> Software Environment:
> Problem Description:
> 
> 
> This is old regression. Tested with glxgears i get this results:
> v2.6.19     _1413.112_FPS_
> v2.6.20      1280.060 FPS  
> v2.6.22      1300.116 FPS
> v2.6.24      1205.895 FPS
> v2.6.25-git* 1226.967 FPS
> 
> 
> Thirst regression was pasebly introduced by vblank patch in i915:
> commit ee2fae03d68e702866a8661fbee7ff2f2f3754d7
> Merge: e4ddc9c... f9841a8...
> Author: Linus Torvalds <torvalds@woody.osdl.org>
> Date:   Wed Dec 20 23:59:07 2006 -0800
> 
>     Merge branch 'drm-patches' of
> master.kernel.org:/pub/scm/linux/kernel/git/ai
> 
>     * 'drm-patches' of
> master.kernel.org:/pub/scm/linux/kernel/git/airlied/drm-2
>       drm: Stop defining pci_pretty_name
>       drm: r128: comment aligment with drm git
>       drm: make kernel context switch same as for drm git tree.
>       drm: fixup comment header style
>       drm: savage: compat fix from drm git.
>       drm: Unify radeon offset checking.
>       i915_vblank_tasklet: Try harder to avoid tearing.
>       DRM: handle pci_enable_device failure
>       drm: fix return value check
> 
> 
> I didn't get correct bisecting. Seems git-bisect can't correctly working with
> 2.9.19 tree or i did some thin really wrong, so i get this resoult:
> 
> commit e1036502e5263851259d147771226161e5ccc85a
> Author: Nicolas Pitre <nico@cam.org>
> Date:   Tue Dec 12 13:32:29 2006 -0500
> 
>     [PATCH] remove config ordering/dependency between ucb1400-ts and sound
> subsy
> 
>     Commit 2d4ba4a3b9aef95d328d74a17ae84f8d658059e2 introduced a dependency
>     that was never meant to exist when the ac97_bus.c module was created.
>     Move ac97_bus.c up the directory hierarchy to make sure it is built when
>     selected even if sound is configured out so things work as originally
>     intended.
> 
>     Signed-off-by: Nicolas Pitre <nico@cam.org>
>     Acked-by: Randy Dunlap <randy.dunlap@oracle.com>
>     Signed-off-by: Linus Torvalds <torvalds@osdl.org>
> 

I assume that we're referring to

commit 3188a24c256bae0ed93d81d82db1f1bb6060d727
Author: =?utf-8?q?Michel_D=C3=A4nzer?= <michel@tungstengraphics.com>
Date:   Mon Dec 11 18:32:27 2006 +1100

    i915_vblank_tasklet: Try harder to avoid tearing.
    
    Previously, if there were several buffer swaps scheduled for the same vertical
    blank, all but the first blit emitted stood a chance of exhibiting tearing. In
    order to avoid this, split the blits along slices of each output top to bottom.
    
    Signed-off-by: Dave Airlie <airlied@linux.ie>

(and yup, that's how the Author: is recorded in git)

Unfrortunately that patch doesn't trivially revert, so I can't send you a
patch to test.
Comment 2 Dave Airlie 2008-05-02 17:26:12 UTC
> On Fri,  2 May 2008 10:36:33 -0700 (PDT)
> bugme-daemon@bugzilla.kernel.org wrote:
> 
> > http://bugzilla.kernel.org/show_bug.cgi?id=10592
> > 
> >            Summary: [old regression] performance drop for glx after vblank
> >                     patch
> >            Product: Drivers
> >            Version: 2.5
> >      KernelVersion: 2.6.20-2.6.25
> >           Platform: All
> >         OS/Version: Linux
> >               Tree: Mainline
> >             Status: NEW
> >           Severity: normal
> >           Priority: P1
> >          Component: Video(DRI)
> >         AssignedTo: drivers_video-dri@kernel-bugs.osdl.org
> >         ReportedBy: bug-track@fisher-privat.net
> > 
> > 
> > Latest working kernel version:2.6.19
> > Earliest failing kernel version:2.6.20
> > Distribution:ubuntu 8.04
> > Hardware Environment:ASUS P5LD2-VM ( video i945g , Pentium D ) 
> > Software Environment:
> > Problem Description:
> > 
> > 
> > This is old regression. Tested with glxgears i get this results:
> > v2.6.19     _1413.112_FPS_
> > v2.6.20      1280.060 FPS  
> > v2.6.22      1300.116 FPS
> > v2.6.24      1205.895 FPS
> > v2.6.25-git* 1226.967 FPS


I hate to say this but repeat after me.. glxgears is not a benchmark.

I might get a chance to look at this, but the thing is unless you can show 
a real regression in a real 3D app, I'm not going to go nuts over gears.

Dave.
Comment 3 Michel D 2008-05-03 02:47:19 UTC
On Fri, 2008-05-02 at 16:19 -0700, bugme-daemon@bugzilla.kernel.org wrote:
> > 
> > This is old regression. Tested with glxgears i get this results:
> > v2.6.19     _1413.112_FPS_
> > v2.6.20      1280.060 FPS  
> > v2.6.22      1300.116 FPS
> > v2.6.24      1205.895 FPS
> > v2.6.25-git* 1226.967 FPS

[...]

> I assume that we're referring to
> 
> commit 3188a24c256bae0ed93d81d82db1f1bb6060d727
> Author: =?utf-8?q?Michel_D=C3=A4nzer?= <michel@tungstengraphics.com>
> Date:   Mon Dec 11 18:32:27 2006 +1100
> 
>     i915_vblank_tasklet: Try harder to avoid tearing.

The code changed by this commit is only executed when sync-to-vblank is
enabled, which can't be the case at the framerates above.

Note You need to log in before you can comment on or make changes to this bug.