per-fb mmap for platinumfb and valkyriefb in 2.4

8 messages, 3 authors, 2000-11-19 · open the first message on its own page

per-fb mmap for platinumfb and valkyriefb in 2.4

From: Michel Lanners <hidden>
Date: 2000-09-13 20:36:58

Hi all,

Below is the per-fb mmap implementation I already posted here for
controlfb, but this time for the other two powermacfb drivers:
valkyriefb and platinumfb.

Patch is against Paul's rsync tree at 2.4.0-test7, but since I don't
expect much change in this area it should apply equally well to anything
more recent ;-)

Since I don't have any of these hardware devices, it's untested. If you
do test, expect a 2-to-4-times performance boost on scrolling:

[mlan@piglet ~]$ x11perf -scroll500

I get around 35/sec on controlfb at 1152x870@32bpp with XF4.0; around
9/sec without the optimized caching in the mmap().

Have fun!

Michel

PS Will appear on sourceforge soon.....

-------------------------------------------------------------------------
Michel Lanners                 |  " Read Philosophy.  Study Art.
23, Rue Paul Henkes            |    Ask Questions.  Make Mistakes.
L-1710 Luxembourg              |
email   mlan@cpu.lu            |
http://www.cpu.lu/~mlan        |                     Learn Always. "


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

Re: per-fb mmap for platinumfb and valkyriefb in 2.4 (and 2.2)

From: Michel Lanners <hidden>
Date: 2000-09-13 21:10:22

Hi all,

On  13 Sep, this message from mlan echoed through cyberspace:
Below is the per-fb mmap implementation
Err.. nothing was below. Stupid /me... it's getting late.

Anyway, here it is for both 2.2 and 2.4. Note that to compile on 2.2,
you need my controlfb patch implementing mmap as well, since without it,
this one won't compile (get it on sourceforge).

Have fun!

Michel

-------------------------------------------------------------------------
Michel Lanners                 |  " Read Philosophy.  Study Art.
23, Rue Paul Henkes            |    Ask Questions.  Make Mistakes.
L-1710 Luxembourg              |
email   mlan@cpu.lu            |
http://www.cpu.lu/~mlan        |                     Learn Always. "

Re: per-fb mmap for platinumfb and valkyriefb in 2.4 (and 2.2)

From: Martin Costabel <hidden>
Date: 2000-09-13 22:24:37

Michel Lanners wrote:
Hi all,

On  13 Sep, this message from mlan echoed through cyberspace:
quoted
Below is the per-fb mmap implementation
Err.. nothing was below. Stupid /me... it's getting late.

Anyway, here it is for both 2.2 and 2.4. Note that to compile on 2.2,
you need my controlfb patch implementing mmap as well, since without it,
this one won't compile (get it on sourceforge).
Tried it for valkyriefb: Doesn't work. It works in console mode, where
it actually feels like it is scrolling fast, but starting X gives an
immediate system freeze. I tried it twice, but now I'll go to bed.
Have fun!
Not much fun in hard rebooting and watching 15 minutes of fsck.

--
Martin

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

Re: per-fb mmap for platinumfb and valkyriefb in 2.4 (and 2.2)

From: Michel Lanners <hidden>
Date: 2000-09-14 05:46:45

On  14 Sep, this message from Martin Costabel echoed through cyberspace:
quoted
Anyway, here it is for both 2.2 and 2.4. Note that to compile on 2.2,
you need my controlfb patch implementing mmap as well, since without it,
this one won't compile (get it on sourceforge).
Tried it for valkyriefb: Doesn't work. It works in console mode, where
it actually feels like it is scrolling fast, but starting X gives an
immediate system freeze. I tried it twice, but now I'll go to bed.
Sh....
quoted
Have fun!
Not much fun in hard rebooting and watching 15 minutes of fsck.
Sorry about that.... hope you slept well nevertheless ;-)

Can you have a look and see what might be wrong? Ill do the same,
hopefully tonight, but no guarantee...

A quick look shows that valkyrie has a single memory region, with the
framebuffer, the registers and the colormap all within the same region.
That might blow up the logic within valkyrie_mmap() to defferentiate between
framebuffer and mmio.

Thanks

Michel

-------------------------------------------------------------------------
Michel Lanners                 |  " Read Philosophy.  Study Art.
23, Rue Paul Henkes            |    Ask Questions.  Make Mistakes.
L-1710 Luxembourg              |
email   mlan@cpu.lu            |
http://www.cpu.lu/~mlan        |                     Learn Always. "


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

Re: per-fb mmap for platinumfb and valkyriefb in 2.4 (and 2.2)

From: Martin Costabel <hidden>
Date: 2000-09-14 22:48:31

Michel Lanners wrote:
quoted
Tried it for valkyriefb: Doesn't work. It works in console mode, where
it actually feels like it is scrolling fast, but starting X gives an
immediate system freeze. I tried it twice, but now I'll go to bed.
Can you have a look and see what might be wrong? Ill do the same,
hopefully tonight, but no guarantee...
I don't really understand these things (as usual), but from staring at
your code it seemed to me that inserting the following line might be a
good idea (this is for the 2.4.0 case; I haven't tried the 2.2.x patch,
but there a corresponding line is present):
--- drivers/video/valkyriefb.c~ Wed Sep 13 23:18:59 2000
+++ drivers/video/valkyriefb.c  Thu Sep 14 23:58:12 2000
@@ -308,6 +308,7 @@
                pgprot_val(vma->vm_page_prot) |= _PAGE_WRITETHRU;
        }
        start &= PAGE_MASK;
+       off += start;
        vma->vm_pgoff = off >> PAGE_SHIFT;
        if (io_remap_page_range(vma->vm_start, off,
            vma->vm_end - vma->vm_start, vma->vm_page_prot))
In any case, it is working now. In fact, I don't see any difference
between the situation before and after the patch. For x11perf
--scroll500, I get exactly as before 36.2/sec for 1024x768 at 8bit. This
is with XFree68-4.0.1; used to be 13/sec with older X servers.

One funny thing: In X, my Alt keys don't work correctly ("ModeShift")
any more, they give "Alt_R" now. In the console, this is still OK. I
suppose this cannot come from the mmap stuff, so this must come from
some of the other changes in the bitkeeper tree in the last 2 days. I
didn't change anything else in my config.

--
Martin

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

Re: per-fb mmap for platinumfb and valkyriefb in 2.4 (and 2.2)

From: Martin Costabel <hidden>
Date: 2000-09-14 23:07:49

Martin Costabel wrote:
One funny thing: In X, my Alt keys don't work correctly ("ModeShift")
any more, they give "Alt_R" now. In the console, this is still OK. I
suppose this cannot come from the mmap stuff, so this must come from
some of the other changes in the bitkeeper tree in the last 2 days. I
didn't change anything else in my config.
Sorry for the false alarm, after restarting X all keys are working
normally. Out of crash fear, I had unmounted a few partitions before
starting X and remounted them afterwards. Somehow the keymap got
perturbed by this.

--
Martin

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

Re: per-fb mmap for platinumfb and valkyriefb in 2.4 (and 2.2)

From: Michel D�nzer <hidden>
Date: 2000-09-15 08:57:20

Martin Costabel wrote:
In fact, I don't see any difference between the situation before and after
the patch. For x11perf --scroll500, I get exactly as before 36.2/sec for
1024x768 at 8bit. This is with XFree68-4.0.1; used to be 13/sec with older X
servers.
X 4.x has ShadowFB, which shadows the framebufer in RAM and avoids reads from
VRAM.

I think Michel (the other one ;) either uses X 3.3.x or no ShadowFB.


Michel


PS: My Rage128 Mobility gives me 578.0/sec :)

--
Earthling Michel Dänzer (MrCooper)  \  CS student and free software enthusiast
Debian GNU/Linux (powerpc,i386) user \   member of XFree86 and The DRI Project

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

Re: per-fb mmap for platinumfb and valkyriefb in 2.4

From: Michel Lanners <hidden>
Date: 2000-11-19 11:04:26

Hi all,

I finally came 'round to making a fixed version of my patches available.
It is attached below, and also available on sourceforge
(http://sourceforge.net/patch/?func=detailpatch&patch_id=101500&group_id=8234)

This is for 2.4 only. If anyone wants to go ahead and give it a try; let
me know how it works out, and also whether it improves anything ;-)

Cheers

Michel

-------------------------------------------------------------------------
Michel Lanners                 |  " Read Philosophy.  Study Art.
23, Rue Paul Henkes            |    Ask Questions.  Make Mistakes.
L-1710 Luxembourg              |
email   mlan@cpu.lu            |
http://www.cpu.lu/~mlan        |                     Learn Always. "
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help