mbox series

[v2,0/2] Fix regression introduced by disabling accelerated scrolling in fbcon

Message ID 20220124210319.325512-1-deller@gmx.de (mailing list archive)
Headers show
Series Fix regression introduced by disabling accelerated scrolling in fbcon | expand

Message

Helge Deller Jan. 24, 2022, 9:03 p.m. UTC
This series reverts two patches which disabled scrolling acceleration in
fbcon/fbdev. Those patches introduced a regression for fbdev-supported graphic
cards because of the performance penalty by doing screen scrolling by software
instead of using existing 2D hardware acceleration.

This series has been discussed on linux-fbdev, dri-devel and linux-kernel
mailing lists. The consensus is that they will be reverted, but in addition
it's being worked on to find a solution which allows to disable parts of the
classic fbdev hardware acceleration code which isn't needed in DRM-only
configurations.

The patchset is planned to be kept in fbdev's for-next git branch and later
pushed into kernel v5.18 if no issues are found until then.

Helge

---
Changes in v2 compared to v1:
- adjusted the stable tags (one v5.10+, the other v5.16+)
- moved the analysis and reasoning why those should be reverted into
  the commit message. That simplifies to analyze later why they were
  reverted.
- resorted the To an Cc mail recipient lists

Helge Deller (2):
  Revert "fbdev: Garbage collect fbdev scrolling acceleration, part 1
    (from TODO list)"
  Revert "fbcon: Disable accelerated scrolling"

 Documentation/gpu/todo.rst              |  24 --
 drivers/video/fbdev/core/bitblit.c      |  16 +
 drivers/video/fbdev/core/fbcon.c        | 540 +++++++++++++++++++++++-
 drivers/video/fbdev/core/fbcon.h        |  59 +++
 drivers/video/fbdev/core/fbcon_ccw.c    |  28 +-
 drivers/video/fbdev/core/fbcon_cw.c     |  28 +-
 drivers/video/fbdev/core/fbcon_rotate.h |   9 +
 drivers/video/fbdev/core/fbcon_ud.c     |  37 +-
 drivers/video/fbdev/core/tileblit.c     |  16 +
 drivers/video/fbdev/skeletonfb.c        |  12 +-
 include/linux/fb.h                      |   2 +-
 11 files changed, 703 insertions(+), 68 deletions(-)

Comments

Daniel Vetter Jan. 24, 2022, 10:19 p.m. UTC | #1
On Mon, Jan 24, 2022 at 10:03:17PM +0100, Helge Deller wrote:
> This series reverts two patches which disabled scrolling acceleration in
> fbcon/fbdev. Those patches introduced a regression for fbdev-supported graphic
> cards because of the performance penalty by doing screen scrolling by software
> instead of using existing 2D hardware acceleration.
> 
> This series has been discussed on linux-fbdev, dri-devel and linux-kernel
> mailing lists. The consensus is that they will be reverted, but in addition
> it's being worked on to find a solution which allows to disable parts of the
> classic fbdev hardware acceleration code which isn't needed in DRM-only
> configurations.

That's not my take at least.

> The patchset is planned to be kept in fbdev's for-next git branch and later
> pushed into kernel v5.18 if no issues are found until then.

Neither this. I don't think we've resovled maintainership of fbdev core
code and fbcon yet. That is the part that drm folks very much still
maintained, as a quick git shortlog will show.

Maintaining these parts outside of drm trees just doesn't make sense,
since none of the other graphics relevant development happens outside of
drm.
-Daniel

> 
> Helge
> 
> ---
> Changes in v2 compared to v1:
> - adjusted the stable tags (one v5.10+, the other v5.16+)
> - moved the analysis and reasoning why those should be reverted into
>   the commit message. That simplifies to analyze later why they were
>   reverted.
> - resorted the To an Cc mail recipient lists
> 
> Helge Deller (2):
>   Revert "fbdev: Garbage collect fbdev scrolling acceleration, part 1
>     (from TODO list)"
>   Revert "fbcon: Disable accelerated scrolling"
> 
>  Documentation/gpu/todo.rst              |  24 --
>  drivers/video/fbdev/core/bitblit.c      |  16 +
>  drivers/video/fbdev/core/fbcon.c        | 540 +++++++++++++++++++++++-
>  drivers/video/fbdev/core/fbcon.h        |  59 +++
>  drivers/video/fbdev/core/fbcon_ccw.c    |  28 +-
>  drivers/video/fbdev/core/fbcon_cw.c     |  28 +-
>  drivers/video/fbdev/core/fbcon_rotate.h |   9 +
>  drivers/video/fbdev/core/fbcon_ud.c     |  37 +-
>  drivers/video/fbdev/core/tileblit.c     |  16 +
>  drivers/video/fbdev/skeletonfb.c        |  12 +-
>  include/linux/fb.h                      |   2 +-
>  11 files changed, 703 insertions(+), 68 deletions(-)
> 
> -- 
> 2.31.1
>
Helge Deller Jan. 24, 2022, 10:37 p.m. UTC | #2
On 1/24/22 23:19, Daniel Vetter wrote:
> On Mon, Jan 24, 2022 at 10:03:17PM +0100, Helge Deller wrote:
>> This series reverts two patches which disabled scrolling acceleration in
>> fbcon/fbdev. Those patches introduced a regression for fbdev-supported graphic
>> cards because of the performance penalty by doing screen scrolling by software
>> instead of using existing 2D hardware acceleration.
>>
>> This series has been discussed on linux-fbdev, dri-devel and linux-kernel
>> mailing lists. The consensus is that they will be reverted, but in addition
>> it's being worked on to find a solution which allows to disable parts of the
>> classic fbdev hardware acceleration code which isn't needed in DRM-only
>> configurations.
>
> That's not my take at least.

Which is?
Didn't we discussed about introducing something like
CONFIG_FBCON_LEGACY_ACCELERATION ?

>> The patchset is planned to be kept in fbdev's for-next git branch and later
>> pushed into kernel v5.18 if no issues are found until then.
>
> Neither this. I don't think we've resovled maintainership of fbdev core
> code and fbcon yet. That is the part that drm folks very much still
> maintained, as a quick git shortlog will show.
>
> Maintaining these parts outside of drm trees just doesn't make sense,
> since none of the other graphics relevant development happens outside of

I have no objections if you are willing to take those two patches through
the drm tree.

Helge

>> ---
>> Changes in v2 compared to v1:
>> - adjusted the stable tags (one v5.10+, the other v5.16+)
>> - moved the analysis and reasoning why those should be reverted into
>>   the commit message. That simplifies to analyze later why they were
>>   reverted.
>> - resorted the To an Cc mail recipient lists
>>
>> Helge Deller (2):
>>   Revert "fbdev: Garbage collect fbdev scrolling acceleration, part 1
>>     (from TODO list)"
>>   Revert "fbcon: Disable accelerated scrolling"
>>
>>  Documentation/gpu/todo.rst              |  24 --
>>  drivers/video/fbdev/core/bitblit.c      |  16 +
>>  drivers/video/fbdev/core/fbcon.c        | 540 +++++++++++++++++++++++-
>>  drivers/video/fbdev/core/fbcon.h        |  59 +++
>>  drivers/video/fbdev/core/fbcon_ccw.c    |  28 +-
>>  drivers/video/fbdev/core/fbcon_cw.c     |  28 +-
>>  drivers/video/fbdev/core/fbcon_rotate.h |   9 +
>>  drivers/video/fbdev/core/fbcon_ud.c     |  37 +-
>>  drivers/video/fbdev/core/tileblit.c     |  16 +
>>  drivers/video/fbdev/skeletonfb.c        |  12 +-
>>  include/linux/fb.h                      |   2 +-
>>  11 files changed, 703 insertions(+), 68 deletions(-)
>>
>> --
>> 2.31.1
Daniel Vetter Jan. 24, 2022, 10:41 p.m. UTC | #3
On Mon, Jan 24, 2022 at 11:37:03PM +0100, Helge Deller wrote:
> On 1/24/22 23:19, Daniel Vetter wrote:
> > On Mon, Jan 24, 2022 at 10:03:17PM +0100, Helge Deller wrote:
> >> This series reverts two patches which disabled scrolling acceleration in
> >> fbcon/fbdev. Those patches introduced a regression for fbdev-supported graphic
> >> cards because of the performance penalty by doing screen scrolling by software
> >> instead of using existing 2D hardware acceleration.
> >>
> >> This series has been discussed on linux-fbdev, dri-devel and linux-kernel
> >> mailing lists. The consensus is that they will be reverted, but in addition
> >> it's being worked on to find a solution which allows to disable parts of the
> >> classic fbdev hardware acceleration code which isn't needed in DRM-only
> >> configurations.
> >
> > That's not my take at least.
> 
> Which is?
> Didn't we discussed about introducing something like
> CONFIG_FBCON_LEGACY_ACCELERATION ?

Yeah, as part of the reverts. Or at least that's what I meant to say.
-Daniel
> 
> >> The patchset is planned to be kept in fbdev's for-next git branch and later
> >> pushed into kernel v5.18 if no issues are found until then.
> >
> > Neither this. I don't think we've resovled maintainership of fbdev core
> > code and fbcon yet. That is the part that drm folks very much still
> > maintained, as a quick git shortlog will show.
> >
> > Maintaining these parts outside of drm trees just doesn't make sense,
> > since none of the other graphics relevant development happens outside of
> 
> I have no objections if you are willing to take those two patches through
> the drm tree.
> 
> Helge
> 
> >> ---
> >> Changes in v2 compared to v1:
> >> - adjusted the stable tags (one v5.10+, the other v5.16+)
> >> - moved the analysis and reasoning why those should be reverted into
> >>   the commit message. That simplifies to analyze later why they were
> >>   reverted.
> >> - resorted the To an Cc mail recipient lists
> >>
> >> Helge Deller (2):
> >>   Revert "fbdev: Garbage collect fbdev scrolling acceleration, part 1
> >>     (from TODO list)"
> >>   Revert "fbcon: Disable accelerated scrolling"
> >>
> >>  Documentation/gpu/todo.rst              |  24 --
> >>  drivers/video/fbdev/core/bitblit.c      |  16 +
> >>  drivers/video/fbdev/core/fbcon.c        | 540 +++++++++++++++++++++++-
> >>  drivers/video/fbdev/core/fbcon.h        |  59 +++
> >>  drivers/video/fbdev/core/fbcon_ccw.c    |  28 +-
> >>  drivers/video/fbdev/core/fbcon_cw.c     |  28 +-
> >>  drivers/video/fbdev/core/fbcon_rotate.h |   9 +
> >>  drivers/video/fbdev/core/fbcon_ud.c     |  37 +-
> >>  drivers/video/fbdev/core/tileblit.c     |  16 +
> >>  drivers/video/fbdev/skeletonfb.c        |  12 +-
> >>  include/linux/fb.h                      |   2 +-
> >>  11 files changed, 703 insertions(+), 68 deletions(-)
> >>
> >> --
> >> 2.31.1
Geert Uytterhoeven Jan. 25, 2022, 8:30 a.m. UTC | #4
Cc regressions

On Mon, Jan 24, 2022 at 10:04 PM Helge Deller <deller@gmx.de> wrote:
> This series reverts two patches which disabled scrolling acceleration in
> fbcon/fbdev. Those patches introduced a regression for fbdev-supported graphic
> cards because of the performance penalty by doing screen scrolling by software
> instead of using existing 2D hardware acceleration.

In the mean time, a userspace regression has been reported, too:
https://lwn.net/Articles/882054/
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=988039

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds