All of lore.kernel.org
 help / color / mirror / Atom feed
From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: "Barros Pena, Belen" <belen.barros.pena@intel.com>
Cc: Paul Eggleton <paul.eggleton@linux.intel.com>,
	"toaster@yoctoproject.org" <toaster@yoctoproject.org>
Subject: Re: [noexec] = "1"
Date: Mon, 11 Nov 2013 18:13:32 +0000	[thread overview]
Message-ID: <1384193612.22454.48.camel@ted> (raw)
In-Reply-To: <CEA6CA3D.36E44%belen.barros.pena@intel.com>

On Mon, 2013-11-11 at 17:54 +0000, Barros Pena, Belen wrote:
> It's been brought to my attention that we need to find a way to present
> noexec tasks in Toaster (tasks with [noexec] = "1" set). I am trying to
> figure out a way to fit them in the Toaster task classification, but I
> think I am missing some context.
> 
> Can someone explain how that [noexec] flag came to be and why was it
> needed? A bit of history might help me come up with the right solution.

When bitbake executes tasks, it forks off a new process which then sets
up the environment and executes the task. This has overhead.

We had a number of cases where we had "placeholder" tasks which were
present for dependency reasons but were otherwise empty and had nothing
to execute. We therefore decided to mark them "noexec" i.e. they have no
executable content.

Bitbake now knows that when it sees a noexec task, its there for
dependency reasons only and it can skip the execution part which is good
for performance.

To see what I mean about dependency information, think about our
packaging process. We have points in the build where we need to say
"everything packaged" but don't care about specific package types.
We therefore have a noexec do_package_write task which depends on
do_package_write_{ipk,deb,rpm} depending on which are configured.

There are also cases where we know the task will not do anything (e.g.
package tasks of -native recipes). Marking them noexec means we can skip
them faster.

Does that help?

Cheers,

Richard



  reply	other threads:[~2013-11-11 18:14 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-11 17:54 [noexec] = "1" Barros Pena, Belen
2013-11-11 18:13 ` Richard Purdie [this message]
2013-11-12 10:25   ` Barros Pena, Belen
2013-11-13 11:48     ` [RFC] Task classification changes (was [noexec] = "1") Barros Pena, Belen
2013-11-13 12:56       ` Richard Purdie
2013-11-13 13:57         ` Barros Pena, Belen
2013-11-13 14:45           ` Richard Purdie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1384193612.22454.48.camel@ted \
    --to=richard.purdie@linuxfoundation.org \
    --cc=belen.barros.pena@intel.com \
    --cc=paul.eggleton@linux.intel.com \
    --cc=toaster@yoctoproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.