... I ask because I was considering patching the xserver and tinyX to use kdbus vs unix domain (or even slower tcp) sockets to help make up for the speed difference of accelerated Xorg drivers.
Other TODOs :
Check Xservers for accelerated functions (pretty sure Xorg devs aren't watching this too closely, so here they are for reference):
- /* fb ops */
static struct fb_ops {
.fb_open
.fb_release
.fb_check_var
.fb_set_par
.fb_setcolreg
.fb_blank
.fb_pan_display
.fb_fillrect
.fb_copyarea
.fb_imageblit
.fb_cursor
.fb_sync
.fb_ioctl
.fb_mmap
.fb_read
.fb_write
};
fyi, the order you put parameters in makes a huge difference in how optimizable they are as exported functions, for instance:
Code: Select all
mega_func(a,b,c,d,e,f,g,h,i){
switch(a){
case 0 : return func0(b,c,d,e,f,g,h);
....
}
}
whereas the following has to pop all of the parameters first:
Code: Select all
mega_func(a,b,c,d,e,f,g,h,i){
switch(i){
case 0 : return func0(a,b,c,d,e,f,g,h);
....
}
}