All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Hatle <mark.hatle@windriver.com>
To: poky <poky@yoctoproject.org>
Subject: [PATCH 1/1] pseudo: Update to the latest upstream version
Date: Thu, 13 Jan 2011 22:55:40 -0600	[thread overview]
Message-ID: <4D2FD74C.2080603@windriver.com> (raw)
In-Reply-To: <4D2FD707.4080509@windriver.com>

Update pseudo to the latest version to resolve a number of optimization defects.

The problems were present on both 64-bit and 32-bit systems, but generally only
caused issues on 32-bit hosts.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
---
 .../conf/distro/include/poky-default-revisions.inc |    2 +-
 .../895fa7e359e8026a608fba052c2994e42901e45f.patch |  235 --------------------
 meta/recipes-devtools/pseudo/pseudo_git.bb         |    2 +-
 3 files changed, 2 insertions(+), 237 deletions(-)
 delete mode 100644
meta/recipes-devtools/pseudo/pseudo/895fa7e359e8026a608fba052c2994e42901e45f.patch

diff --git a/meta/conf/distro/include/poky-default-revisions.inc
b/meta/conf/distro/include/poky-default-revisions.inc
index 6b98091..413284c 100644
--- a/meta/conf/distro/include/poky-default-revisions.inc
+++ b/meta/conf/distro/include/poky-default-revisions.inc
@@ -150,7 +150,7 @@ PRELINKSRCREV ??= "909470ee441237563d6236c505cb2d02ddc48704"
 SRCREV_pn-prelink ??= "${PRELINKSRCREV}"
 SRCREV_pn-prelink-native ??= "${PRELINKSRCREV}"
 SRCREV_pn-psplash ??= "424"
-PSEUDOSRCREV ??= "c9792c7acdb1cac90549ff08db12a8bf0c53cdcf"
+PSEUDOSRCREV ??= "a1b25a64d8dd012bc8adcac1e1e09b6291c877ad"
 SRCREV_pn-pseudo ??= "${PSEUDOSRCREV}"
 SRCREV_pn-pseudo-native ??= "${PSEUDOSRCREV}"
 SRCREV_pn-pseudo-nativesdk ??= "${PSEUDOSRCREV}"
diff --git
a/meta/recipes-devtools/pseudo/pseudo/895fa7e359e8026a608fba052c2994e42901e45f.patch
b/meta/recipes-devtools/pseudo/pseudo/895fa7e359e8026a608fba052c2994e42901e45f.patch
deleted file mode 100644
index d8c2295..0000000
---
a/meta/recipes-devtools/pseudo/pseudo/895fa7e359e8026a608fba052c2994e42901e45f.patch
+++ /dev/null
@@ -1,235 +0,0 @@
-From 895fa7e359e8026a608fba052c2994e42901e45f Mon Sep 17 00:00:00 2001
-From: Mark Hatle <mark.hatle@windriver.com>
-Date: Fri, 17 Dec 2010 01:23:47 +0000
-Subject: Revert "Add a cache of the last object found in pseudo_op"
-
-This reverts commit 49d4d35918d457b0e9206679ecad3b9c84f11e66.
-
-Conflicts:
-
-	ChangeLog.txt
----
-diff --git a/ChangeLog.txt b/ChangeLog.txt
-index 1db8c7d..200b32e 100644
---- a/ChangeLog.txt
-+++ b/ChangeLog.txt
-@@ -9,7 +9,6 @@
- 	* (mhatle) as a result of profiling, optimize inode search
- 	* (mhatle) rearrange the pseudo_op file data operations to reduce
- 		   the number of selects.
--	* (mhatle) add the ability to cache the last select result
- 	* (mhatle) change the indexing in pseudo_db.c
-
- 2010-12-14:
-diff --git a/pseudo.c b/pseudo.c
-index 3979fd8..6b965be 100644
---- a/pseudo.c
-+++ b/pseudo.c
-@@ -425,9 +425,6 @@ pseudo_op(pseudo_msg_t *msg, const char *program, const
char *tag) {
- 	int found_path = 0, found_ino = 0;
- 	int prefer_ino = 0;
-
--	static pseudo_msg_t cache_msg = { .op = 0 };
--	static char * cache_path = NULL;
--
- 	if (!msg)
- 		return 1;
- 	
-@@ -471,59 +468,7 @@ pseudo_op(pseudo_msg_t *msg, const char *program, const
char *tag) {
-
- 	/* Lookup the full path, with inode and dev if available */
- 	if (msg->pathlen && msg->dev && msg->ino) {
--		if (cache_msg.pathlen == msg->pathlen &&
--		    cache_msg.dev == msg->dev &&
--		    cache_msg.ino == msg->ino &&
--		    !strcmp(cache_path, msg->path)) {
--			/* Found it in the cache! */
--#ifdef NPROFILE
--			pseudo_diag("cache hit -- by_file_exact\n");
--#endif
--			/* Change the cache to match the msg */
--			cache_msg.type = msg->type;
--			cache_msg.op = msg->op;
--			cache_msg.result = msg->result;
--			cache_msg.access = msg->access;
--			cache_msg.fd = msg->fd;
--#ifdef NVALIDATE
--			if (!pdb_find_file_exact(msg)) {
--				if (cache_msg.pathlen != msg->pathlen ||
--				    cache_msg.dev != msg->dev ||
--				    cache_msg.ino != msg->ino ||
--				    cache_msg.uid != msg->uid ||
--				    cache_msg.gid != msg->gid ||
--				    cache_msg.mode != msg->mode ||
--				    cache_msg.rdev != msg->rdev ||
--				    cache_msg.nlink != msg->nlink ||
--				    cache_msg.deleting != msg->deleting) {
--				pseudo_diag("Cache mismatch [%s]: Database differs from cache\n"
--						"     cache vs result:\n"
--						"     dev (%llu,%llu) ino (%llu,%llu)\n"
--						"     uid (%d,%d) gid (%d,%d) mode (0%o,0%o)\n"
--						"     rdev (%llu,%llu) nlink (%d,%d) deleting (%d,%d)\n",
--						msg->pathlen ? msg->path : "no path",
--						(unsigned long long) cache_msg.dev, (unsigned long long) msg->dev,
--						(unsigned long long) cache_msg.ino, (unsigned long long) msg->ino,
--						(unsigned long long) cache_msg.uid, (unsigned int) msg->uid,
--						(unsigned long long) cache_msg.gid, (unsigned int) msg->gid,
--						cache_msg.mode, msg->mode,
--						(unsigned long long) cache_msg.rdev, (unsigned int) msg->rdev,
--						cache_msg.nlink, msg->nlink,
--						cache_msg.deleting, msg->deleting);
--				}
--			} else {
--				pseudo_diag("Cache mismatch [%s]: Not found in DB\n",
--						msg->pathlen ? msg->path : "no path");
--			}
--#endif
--
--			by_path = cache_msg;
--			by_ino = cache_msg;
--			/* no need to restore msg */
--			found_path = 1;
--			found_ino = 1;
--			path_by_ino = msg->path;
--		} else if (!pdb_find_file_exact(msg)) {
-+		if (!pdb_find_file_exact(msg)) {
- 			/* restore header contents */
- 			by_path = *msg;
- 			by_ino = *msg;
-@@ -539,51 +484,7 @@ pseudo_op(pseudo_msg_t *msg, const char *program, const
char *tag) {
- 		if (msg->pathlen) {
- 			/* for now, don't canonicalize paths anymore */
- 			/* used to do it here, but now doing it in client */
--			if (cache_msg.pathlen == msg->pathlen &&
--			    !strcmp(cache_path, msg->path)) {
--#ifdef NPROFILE
--				pseudo_diag("cache hit -- by_path\n");
--#endif
--				/* Change the cache to match the msg */
--				cache_msg.type = msg->type;
--				cache_msg.op = msg->op;
--				cache_msg.result = msg->result;
--				cache_msg.access = msg->access;
--				cache_msg.fd = msg->fd;
--#ifdef NVALIDATE
--				if (!pdb_find_file_exact(msg)) {
--					if (cache_msg.pathlen != msg->pathlen ||
--					    cache_msg.dev != msg->dev ||
--					    cache_msg.ino != msg->ino ||
--					    cache_msg.uid != msg->uid ||
--					    cache_msg.gid != msg->gid ||
--					    cache_msg.mode != msg->mode ||
--					    cache_msg.rdev != msg->rdev ||
--					    cache_msg.nlink != msg->nlink ||
--					    cache_msg.deleting != msg->deleting) {
--					pseudo_diag("Cache mismatch [%s]: Database differs from cache\n"
--						"     cache vs result:\n"
--						"     dev (%llu,%llu) ino (%llu,%llu)\n"
--						"     uid (%d,%d) gid (%d,%d) mode (0%o,0%o)\n"
--						"     rdev (%llu,%llu) nlink (%d,%d) deleting (%d,%d)\n",
--						msg->pathlen ? msg->path : "no path",
--						(unsigned long long) cache_msg.dev, (unsigned long long) msg->dev,
--						(unsigned long long) cache_msg.ino, (unsigned long long) msg->ino,
--						(unsigned long long) cache_msg.uid, (unsigned int) msg->uid,
--						(unsigned long long) cache_msg.gid, (unsigned int) msg->gid,
--						cache_msg.mode, msg->mode,
--						(unsigned long long) cache_msg.rdev, (unsigned int) msg->rdev,
--						cache_msg.nlink, msg->nlink,
--						cache_msg.deleting, msg->deleting);
--					}
--				} else {
--					pseudo_diag("Cache mismatch [%s]: Not found in DB\n",
--							msg->pathlen ? msg->path : "no path");
--				}
--#endif
--				by_path = cache_msg;
--				found_path = 1;
--			} else if (!pdb_find_file_path(msg)) {
-+			if (!pdb_find_file_path(msg)) {
- 				by_path = *msg;
- 				found_path = 1;
- 			} else {
-@@ -594,51 +495,7 @@ pseudo_op(pseudo_msg_t *msg, const char *program, const
char *tag) {
- 		}
- 		/* search on original inode -- in case of mismatch */
- 		if (msg->dev && msg->ino) {
--			if (cache_msg.dev == msg->dev &&
--			    cache_msg.ino == msg->ino) {
--#ifdef NPROFILE
--				pseudo_diag("cache hit -- by_ino\n");
--#endif
--				/* Change the cache to match the msg */
--				cache_msg.type = msg->type;
--				cache_msg.op = msg->op;
--				cache_msg.result = msg->result;
--				cache_msg.access = msg->access;
--				cache_msg.fd = msg->fd;
--#ifdef NVALIDATE
--				if (!pdb_find_file_exact(msg)) {
--					if (cache_msg.pathlen != msg->pathlen ||
--					    cache_msg.dev != msg->dev ||
--					    cache_msg.ino != msg->ino ||
--					    cache_msg.uid != msg->uid ||
--					    cache_msg.gid != msg->gid ||
--					    cache_msg.mode != msg->mode ||
--					    cache_msg.rdev != msg->rdev ||
--					    cache_msg.nlink != msg->nlink ||
--					    cache_msg.deleting != msg->deleting) {
--					pseudo_diag("Cache mismatch [%s]: Database differs from cache\n"
--						"     cache vs result:\n"
--						"     dev (%llu,%llu) ino (%llu,%llu)\n"
--						"     uid (%d,%d) gid (%d,%d) mode (0%o,0%o)\n"
--						"     rdev (%llu,%llu) nlink (%d,%d) deleting (%d,%d)\n",
--						msg->pathlen ? msg->path : "no path",
--						(unsigned long long) cache_msg.dev, (unsigned long long) msg->dev,
--						(unsigned long long) cache_msg.ino, (unsigned long long) msg->ino,
--						(unsigned long long) cache_msg.uid, (unsigned int) msg->uid,
--						(unsigned long long) cache_msg.gid, (unsigned int) msg->gid,
--						cache_msg.mode, msg->mode,
--						(unsigned long long) cache_msg.rdev, (unsigned int) msg->rdev,
--						cache_msg.nlink, msg->nlink,
--						cache_msg.deleting, msg->deleting);
--					}
--				} else {
--					pseudo_diag("Cache mismatch [%s]: Not found in DB\n",
--							msg->pathlen ? msg->path : "no path");
--				}
--#endif
--				found_ino = 1;
--				path_by_ino = cache_path;
--			} else 	if (!pdb_find_file_dev(&by_ino)) {
-+			if (!pdb_find_file_dev(&by_ino)) {
- 				found_ino = 1;
- 				path_by_ino = pdb_get_file_path(&by_ino);
- 			}
-@@ -1016,28 +873,6 @@ pseudo_op(pseudo_msg_t *msg, const char *program, const
char *tag) {
- 		break;
- 	}
-
--	/* Cache previous values... */
--	if (msg->op != OP_MAY_UNLINK &&
--	    msg->op != OP_DID_UNLINK &&
--	    msg->op != OP_CANCEL_UNLINK &&
--	    msg->op != OP_UNLINK) {
--
--		cache_msg = *msg;
--
--		free(cache_path);
--
--		if (path_by_ino)
--			cache_path = strdup(path_by_ino);
--		else
--			cache_path = strdup(msg->path);
--	} else {
--		cache_msg.pathlen = 0;
--		cache_msg.dev = 0;
--		cache_msg.ino = 0;
--		free(cache_path);
--		cache_path = NULL;
--	}
--
- 	/* in the case of an exact match, we just used the pointer
- 	 * rather than allocating space
- 	 */
---
-cgit v0.8.3.3-89-gbf82
diff --git a/meta/recipes-devtools/pseudo/pseudo_git.bb
b/meta/recipes-devtools/pseudo/pseudo_git.bb
index f9b10f0..df73696 100644
--- a/meta/recipes-devtools/pseudo/pseudo_git.bb
+++ b/meta/recipes-devtools/pseudo/pseudo_git.bb
@@ -10,7 +10,7 @@ PR = "r16"

 SRC_URI = "git://github.com/wrpseudo/pseudo.git;protocol=git \
            file://static_sqlite.patch \
-           file://895fa7e359e8026a608fba052c2994e42901e45f.patch"
+	  "

 FILES_${PN} = "${libdir}/libpseudo.so ${bindir}/* ${localstatedir}/pseudo"
 PROVIDES += "virtual/fakeroot"
-- 
1.7.3.4


  reply	other threads:[~2011-01-14  4:55 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-14  4:54 [PATCH 0/1] pseudo: Update to the latest upstream version Mark Hatle
2011-01-14  4:55 ` Mark Hatle [this message]
2011-01-14 19:38 ` Saul Wold
2011-01-14 19:39   ` Mark Hatle
2011-01-14 21:17     ` Mark Hatle
2011-01-17  8:35       ` Saul Wold
2011-01-17 15:19         ` Richard Purdie
2011-01-17 17:06         ` Mark Hatle
2011-01-17  8:19 ` Xu, Dongxiao
2011-01-18 22:33 ` Saul Wold

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=4D2FD74C.2080603@windriver.com \
    --to=mark.hatle@windriver.com \
    --cc=poky@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.