Geert Uytterhoeven wrote:
> On Thu, 24 Nov 2005, Antonino A. Daplas wrote:
>> Benjamin Herrenschmidt wrote:
>>> Remove bogus usage of test/set_bit() from fbcon rotation code and just
>>> manipulate the bits directly. This fixes an oops on powerpc among others
>>> and should be faster. Seems to work fine on the G5 here.
>> Thanks, I reached a point when my head became muddled with bit
>> manipulations, so I used arch-specific bitops but complete forgot
>> that they were atomic :-)
>
> I haven't really looked at the rotation code, but I guess it can be optimized a
> lot by using similar techniques like c2p (chunky-to-planar) conversions.
>
Actually, BenH's patch touched code that is in the slow path. The font
rotation is done on the entire fontdata, then stored, on a console switch.
Thus the rest of the drawing functions need not do repetitive and expensive
bitmap rotation.
Scrolling performance of a normally oriented and upside-down rotation is
practically the same (1024x768 8x16 redraw).
con_rotate = 0
real 0m2.550s
user 0m0.000s
sys 0m2.543s
con_rotate = 2
real 0m2.559s
user 0m0.001s
sys 0m2.545s
CCW and CW rotation, is of course slower, because the blit direction
tends to be top->down, rather than left->right.
con_rotate = 1
real 0m4.675s
user 0m0.000s
sys 0m4.663s
con_rotate = 3
real 0m4.701s
user 0m0.001s
sys 0m4.684s
Tony
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]