Some questions about performance optimization related to GUIframework on Genode

Norman Feske norman.feske at ...1...
Tue Sep 2 15:09:44 CEST 2014


Hi Shuo Wang,

thanks for having taken the time to provide some insights about the
background of our work!

The diff between Genode 13.02 and your version is more than 170 thousand
lines. Unfortunately, your group hasn't branched off from the commit
tagged as "13.02" but some commit after that. So it is hardly possible
to see the real diff.

> The modification they made on UTCB was that they added some structs in
> utcb.h, which is located in
> genode-13.02/base-foc/contrib/l4/pkg/l4sys/include/ (13.02), or
> genode-14.08/contrib/foc-<checksum>/src/kernel/foc/l4/pkg/l4sys/include‍
> (14.08).
> 
> The modified utcb.h was uploaded in
> https://github.com/kloisiie/vsos‍/tree/master/doc.
> 
> The lines added to the utcb.h is listed below:
> typedef struct l4_msg_id_t
> {
>   l4_umword_t senderID; /**< Message registers */
>   l4_umword_t receiverID; /**< Message registers */
> } l4_msg_id_t;‍
> 
> L4_INLINE l4_msg_id_t *l4_utcb_id(void) L4_NOTHROW;
> L4_INLINE l4_msg_id_t *l4_utcb_id_u(l4_utcb_t *u) L4_NOTHROW;
> 
> /**************************************************************************
>  * Implementations
>  **************************************************************************/
> 
> L4_INLINE l4_msg_id_t *l4_utcb_id_u(l4_utcb_t *u) L4_NOTHROW
> { return (l4_msg_id_t*)((char*)u + L4_UTCB_USER_ID_OFFSET); }
> 
> L4_INLINE l4_msg_id_t *l4_utcb_id(void) L4_NOTHROW
> { return l4_utcb_id_u(l4_utcb());}‍‍‍‍

With the change applied, there is still a compile error:

    COMPILE  utcb.o
In file included from
/open/incoming/vsos/build/include/x86/l4/sys/utcb.h:95:0,
                 from
/open/incoming/vsos/build/l4/source/pkg/l4sys/lib/src/utcb.c:27:
/open/incoming/vsos/build/include/l4/sys/utcb.h: In function ‘l4_utcb_id_u’:
/open/incoming/vsos/build/include/l4/sys/utcb.h:323:36: error:
‘L4_UTCB_USER_ID_OFFSET’ undeclared (first use in this function)
/open/incoming/vsos/build/include/l4/sys/utcb.h:323:36: note: each
undeclared identifier is reported only once for each function it appears in
make[3]: *** [utcb.o] Error 1
make[2]: *** [syscall.lib] Error 2

Where should the definition of L4_UTCB_USER_ID_OFFSET come from?

Best regards
Norman

-- 
Dr.-Ing. Norman Feske
Genode Labs

http://www.genode-labs.com · http://genode.org

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth




More information about the users mailing list