[bitbake-devel] [PATCH] prserv/db: Avoid fsync() calls
Mark Hatle
mark.hatle at windriver.com
Sat May 3 16:12:51 UTC 2014
On 5/3/14, 3:18 AM, Richard Purdie wrote:
> If the power were to fail, it doesn't matter to us much if the data
> makes it to disk or not, we'd have other problems. However an fsync()
> call on a multi build autobuilder is painful so lets avoid them.
>
> Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
> ---
> diff --git a/bitbake/lib/prserv/db.py b/bitbake/lib/prserv/db.py
> index 86eafe3..49f36da 100644
> --- a/bitbake/lib/prserv/db.py
> +++ b/bitbake/lib/prserv/db.py
> @@ -220,6 +220,7 @@ class PRData(object):
> raise e
> self.connection=sqlite3.connect(self.filename, isolation_level="EXCLUSIVE", check_same_thread = False)
> self.connection.row_factory=sqlite3.Row
> + self.connection.execute("pragma synchronous = off;")
> self._tables={}
>
> def __del__(self):
>
>
Does the prserver make any noticeable difference? This may be the one case
where I could see an fsync being desired. If you are serving remote machines,
once you've requested a PR, the number should be stored to disk so that it will
be the same one that comes back again. ... but I can easily see that in the
middle of a build, when the PR server is on the same machine (and not shared)
this could cause enough slow down to justify turning off the fsync.
--Mark
More information about the bitbake-devel
mailing list