<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/poky.git/bitbake/lib/bb/codeparser.py, branch 1.6_M4</title>
<subtitle>Mirror of git.yoctoproject.org/poky</subtitle>
<id>https://git.enea.com/cgit/linux/poky.git/atom?h=1.6_M4</id>
<link rel='self' href='https://git.enea.com/cgit/linux/poky.git/atom?h=1.6_M4'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/'/>
<updated>2014-03-02T17:25:29+00:00</updated>
<entry>
<title>bitbake: codeparser: Fix var_execs to append to execs, not references</title>
<updated>2014-03-02T17:25:29+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2014-02-28T17:38:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=e955def4d3929f44d27d2958ab3ff4b48534f26f'/>
<id>urn:sha1:e955def4d3929f44d27d2958ab3ff4b48534f26f</id>
<content type='text'>
When using the "execs" information in new code, it became clear that
the returned data was incorrect and there were missing exec'd functions.
This corrects the error and changes one of the test results to match
the correct behaviour.

(Bitbake rev: 8a24f2d3b735bbc59ca4a09670cabbadb1868c1a)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: codeparser/data_smart: Optimise parsing speed</title>
<updated>2013-12-03T17:45:53+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2013-12-03T12:10:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=eba506b301b3be7953a64b486c231b0e7c7c1de3'/>
<id>urn:sha1:eba506b301b3be7953a64b486c231b0e7c7c1de3</id>
<content type='text'>
The previous "contains" changes caused a ~3% parsing speed impact.
Looking at the cause of those changes was interesting:

* Use of defaultdict was slower than just checking for missing entries
  and setting them when needed.
* Even the "import collections" adversely affects parsing speed
* There was a missing intern function for the contains cache data
* Setting up a log object for each variable has noticeable overhead
  due to the changes in the code paths uses, we can avoid this.
* We can call getVarFlag on "_content" directly within VariableParse
  for a noticeable speed gain since its a seriously hot code path.

This patch therefore tweaks the code based on the above observations to
get some of the speed back.

(Bitbake rev: fca802187a2a30686a8a07d2b6b16a3e5716e293)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: data/codeparser: Improve handling of contains functions</title>
<updated>2013-11-26T23:01:33+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2013-11-25T22:59:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=a10301f6a90567c2d2eca9306a4b7b752f58a9c2'/>
<id>urn:sha1:a10301f6a90567c2d2eca9306a4b7b752f58a9c2</id>
<content type='text'>
One of the current frustrations with the sstate checksums is that
code like base_contains('X', 'y',...) adds a full dependency on X
and varies depend even on whitespace changes in X.

This patch adds special handling of the contains functions to expand
the first parameter and check for the flag specified by the second
parameter (assuming its a string).

The result is then appended to the value of the variable with a "Set"
or "Unset" status. If the flag is added/removed, the stored variable
value changes and hence the checksum changes. No dependency on X
is added so it is free to change with regard to other flags or
whitespace.

This code is far from ideal, ideally we'd have properly typed variables
however it fixes a major annoyance of the current checksums and
is of enough value its worth adding in a stopgap solution. It shouldn't
significantly restrict any propely typed variable implementation in
future.

(Bitbake rev: ed2d0a22a80299de0cfd377999950cf4b26c512e)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
Signed-off-by: Christopher Larson &lt;chris_larson@mentor.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: codeparser: Drop unneeded variable separation</title>
<updated>2013-11-26T23:01:32+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2013-11-25T23:00:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=3ca58c762f09047c3798ef982b4c6fcd395a5809'/>
<id>urn:sha1:3ca58c762f09047c3798ef982b4c6fcd395a5809</id>
<content type='text'>
There is no good reason to separately track var_references and
references so merge them and remove the unneeded variable.

(Bitbake rev: 64d4cbd6360c96574cece70205ea3aecc3f8bae6)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: codeparser: Track bb.utils.contains usage</title>
<updated>2013-02-15T12:12:35+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2013-02-14T21:59:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=f966c544aa4da61a19bc0d751c2bbf0f66028791'/>
<id>urn:sha1:f966c544aa4da61a19bc0d751c2bbf0f66028791</id>
<content type='text'>
The bb.utils.contains function usage is getting increasingly used in the metadata
but isn't handled automatically by the python dependency tracking code. This patch
changes that and also adds the "OE" names for the functions.

Whilst there are reasons this is a bad idea, its likely outweighed by the
shear number of these references and the current holes in dependency information
which we're now relying heavily upon.

(Bitbake rev: 0b9d117631ce909312d53b93289e61defc6be01c)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: codeparser: Track appendVar and prependVar calls as we do for getVar</title>
<updated>2013-02-15T12:12:35+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2013-02-14T21:57:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=7e6f9baae14d8a47bc152c65b67f5d7f15039a1a'/>
<id>urn:sha1:7e6f9baae14d8a47bc152c65b67f5d7f15039a1a</id>
<content type='text'>
We need to track appendVar and prependVar calls just as we do for getVar in order
to ensure we're not missing variable dependencies.

(Bitbake rev: 767b4751232f4ee3979deb4d3f733fcf9ee2bd44)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: refactor out codeparser cache into a separate class</title>
<updated>2012-05-23T10:33:18+00:00</updated>
<author>
<name>Paul Eggleton</name>
<email>paul.eggleton@linux.intel.com</email>
</author>
<published>2012-05-22T23:23:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=d7b818b51f3e6dded0c0885cdfed5a24cda3b428'/>
<id>urn:sha1:d7b818b51f3e6dded0c0885cdfed5a24cda3b428</id>
<content type='text'>
We want to be able to reuse most this functionality for the file
checksum cache.

(Bitbake rev: 0fe3cb1438d297f90dd0fc6b26362ecbff75c76d)

Signed-off-by: Paul Eggleton &lt;paul.eggleton@linux.intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>codeparser: Call intern over the set contents for better cache performance</title>
<updated>2012-03-12T15:52:33+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2012-03-11T14:30:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=c27b7aab3c37f182bf9acc5d459185f32fb195d0'/>
<id>urn:sha1:c27b7aab3c37f182bf9acc5d459185f32fb195d0</id>
<content type='text'>
See the comment in the code in the commit for more information.

(Bitbake rev: 2d56dc7b1f0d186e14c4c8a949b280b6b3fc31de)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>codeparser: Compute extra cache components on the fly rather than later</title>
<updated>2012-03-12T15:52:33+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2012-03-11T14:18:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=7bf0a790b23833a1b426d2349885459112fb5d7c'/>
<id>urn:sha1:7bf0a790b23833a1b426d2349885459112fb5d7c</id>
<content type='text'>
In the initial implementation there was a relcutance on my part to
generate incremental cache components on the fly since it would lead
to some duplicate code.

We are now seeing problems where each thread reading in the saved cache
file causes significant overhead and can make the process appear to hang
on a many core build, particularly when the cache file is large.

This patch changes the code to maintain the delta in a separate dict
right from the start. The code duplication isn't too bad and could be
mitigated in other ways if it becomes an issue.

[YOCTO #2039 partial]

(Bitbake rev: cdd5d0dee6ab12326b252b6b505a316a52638cac)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: Update users of getVar/setVar to use the data store functions directly</title>
<updated>2011-11-27T10:35:30+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2011-11-25T14:57:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=4cd96710785eb05abeff1f281878655118d4a7dd'/>
<id>urn:sha1:4cd96710785eb05abeff1f281878655118d4a7dd</id>
<content type='text'>
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
</feed>
