[Dev] Tizen 3.0 proposal for applications launch

Schaufler, Casey casey.schaufler at intel.com
Mon Oct 14 15:42:30 GMT 2013


> -----Original Message-----
> From: Łukasz Stelmach [mailto:l.stelmach at samsung.com]
> Sent: Monday, October 14, 2013 7:12 AM
> To: youngik.cho at samsung.com
> Cc: Schaufler, Casey; Jussi Laako; dev at lists.tizen.org
> Subject: Re: [Dev] Tizen 3.0 proposal for applications launch
> 
> It was <2013-10-14 pon 14:51>, when YOUNG IK CHO wrote:
> >> The easy and, to my mind correct, solution is to let the kernel take
> >> care of setting the security attributes and throw out the whole
> >> "launcher" thing. I have *never* been presented evidence that
> >> launchers actually improve performance in the final deployed
> >> configuration.
> >> But, that's a separate argument.
> >
> > Yes, it is a separete argument but I will just suggest the brief
> > number.
> >
> > On the TIZEN 2.1 (previous version) mobile profile, it gives the huge
> > difference. My test app shows:
> >
> > - launch without preloading : 950msec
> >
> > - launch with proper preloading : 630msec
> >
> > When my colleague analized the performance bottle neck, he found that
> > around 100~200msec is consumed on the dynamic loader. I know there are
> > several solutions like prelink or readlink but preloading works
> > better. For WebApp, wrt_launchpad performs pre-initialization heavily
> > and it has much more number than Core/Osp App in terms of performance
> > gain.
> 
> Preloading, however, has a great security issue (please correct me if I am
> wrong). The "preloaded" application inherits entire address space of the
> launcher. If I am not missing anything it might try, and what is worst it might
> succeed in modifying launcher's memory. execve(2) provides a form isolation
> between parent and child executing different code.

Yes, this is a significant issue. The launcher must completely
emulate the behavior of exec(). Some behaviors, such as
close on exec and file based capabilities, are tricky to get
right.

One of the situations in which preloading helps is where the
application uses large numbers of large libraries. It we could
convince developers to use less in the way of sophisticated
toolkits we could improve performance significantly.

> --
> Łukasz Stelmach
> Samsung R&D Institute Poland
> Samsung Electronics


More information about the Dev mailing list