All of lore.kernel.org
 help / color / mirror / Atom feed
From: Linus Torvalds <torvalds@linux-foundation.org>
To: Dave Airlie <airlied@redhat.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Tomi Valkeinen <tomi.valkeinen@ti.com>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	dri-devel@lists.sf.net
Subject: Re: [PATCH] vt_buffer: drop console buffer copying optimisations
Date: Thu, 29 Jan 2015 15:40:33 -0800	[thread overview]
Message-ID: <CA+55aFw75+RrQ7QfrTvsOAc0cKRuNASA9OUqwuwpA7n=QTTe5w__45769.0737130635$1422574885$gmane$org@mail.gmail.com> (raw)
In-Reply-To: <1422504685-7864-1-git-send-email-airlied@redhat.com>

On Wed, Jan 28, 2015 at 8:11 PM, Dave Airlie <airlied@redhat.com> wrote:
>
> Linus, this came up a while back I finally got some confirmation
> that it fixes those servers.

I'm certainly ok with this. which way should it go in? The users are:

 - drivers/tty/vt/vt.c (Greg KH, "tty layer")

 - drivers/video/console/* (fbcon people: Tomi Valkeinen and friends)

and it might make sense to have *some* indication of how much worse
this makes fbcon performance in particular..

Greg/Tomi - the patch is removing this:

  #define scr_memcpyw(d, s, c) memcpy(d, s, c)
  #define scr_memmovew(d, s, c) memmove(d, s, c)
  #define VT_BUF_HAVE_MEMCPYW
  #define VT_BUF_HAVE_MEMMOVEW

from <linux/vt_buffer.h>, because some stupid graphics cards
apparently cannot handle 64-bit accesses of regular memcpy/memmove.

And on other setups, this will be the reverse: 8-bit accesses due to
using "rep movsb", which is the fast way to move/clear memory on
modern Intel CPU's, but is really wrong for MMIO where it will be slow
as hell.

So just getting rid of the memcpy/memmove is likely the right thing in
general, since the fallbacks go this the traditional 16-bit-at-a-time
way. And getting rid of the memcpy _may_ speed things up.

But if it slows things down, we might have to try something else. Like
saying "all cards we've ever seen have been ok with aligned 32-bit
accesses", and extend the open-coded scr_memcpy/memmove functions to
do that.

Hmm?

                           Linus

------------------------------------------------------------------------------
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
--

  parent reply	other threads:[~2015-01-29 23:40 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-29  4:11 [PATCH] vt_buffer: drop console buffer copying optimisations Dave Airlie
2015-01-29 12:06 ` Peter Hurley
2015-01-29 12:06 ` Peter Hurley
2015-01-29 12:06 ` Peter Hurley
2015-01-29 23:40 ` Linus Torvalds
2015-01-29 23:40 ` Linus Torvalds [this message]
2015-01-29 23:40 ` Linus Torvalds
2015-01-29 23:57   ` Greg Kroah-Hartman
2015-01-30  0:03     ` Linus Torvalds
2015-01-30  0:03     ` Linus Torvalds
2015-01-30  0:03     ` Linus Torvalds
2015-01-30  0:14       ` Dave Airlie
2015-01-30  0:14       ` Dave Airlie
2015-01-30  0:14       ` Dave Airlie
2015-01-29 23:57   ` Greg Kroah-Hartman
2015-01-29 23:57   ` Greg Kroah-Hartman
2015-02-03 15:54   ` One Thousand Gnomes
2015-02-05  9:01     ` Geert Uytterhoeven
2015-02-05 11:35       ` One Thousand Gnomes
2015-02-05 11:35       ` One Thousand Gnomes
2015-02-05 11:35       ` One Thousand Gnomes
2015-02-09 10:35         ` Daniel Stone
2015-02-09 10:35         ` Daniel Stone
2015-02-09 10:35         ` Daniel Stone
2015-02-09 10:49           ` Geert Uytterhoeven
2015-02-09 10:49           ` Geert Uytterhoeven
2015-02-09 10:49           ` Geert Uytterhoeven
2015-02-09 11:00             ` Daniel Stone
2015-02-09 11:00             ` Daniel Stone
2015-02-09 11:00             ` Daniel Stone
2015-02-09 20:17               ` One Thousand Gnomes
2015-02-09 20:17               ` One Thousand Gnomes
2015-02-09 20:17               ` One Thousand Gnomes
2015-02-05  9:01     ` Geert Uytterhoeven
2015-02-05  9:01     ` Geert Uytterhoeven
2015-02-03 15:54   ` One Thousand Gnomes
2015-02-03 15:54   ` One Thousand Gnomes
2015-02-24 16:49 ` Pavel Machek
2015-02-24 16:49 ` Pavel Machek
2015-02-24 16:49 ` Pavel Machek
  -- strict thread matches above, loose matches on Subject: below --
2015-01-29  4:11 Dave Airlie
2015-01-29  4:11 Dave Airlie

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='CA+55aFw75+RrQ7QfrTvsOAc0cKRuNASA9OUqwuwpA7n=QTTe5w__45769.0737130635$1422574885$gmane$org@mail.gmail.com' \
    --to=torvalds@linux-foundation.org \
    --cc=airlied@redhat.com \
    --cc=dri-devel@lists.sf.net \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tomi.valkeinen@ti.com \
    /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.