This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch, master, updated. glibc-2.14-63-g99231d9


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  99231d9abe0fd74c7957d25b08c1d1ede4cae5a0 (commit)
       via  445b4a53ea9d6c457c5f4ac1538102d8be0a5d89 (commit)
      from  6d4d8e8eef734412bedfd3a0bcece15109155913 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=99231d9abe0fd74c7957d25b08c1d1ede4cae5a0

commit 99231d9abe0fd74c7957d25b08c1d1ede4cae5a0
Author: Ulrich Drepper <drepper@gmail.com>
Date:   Fri Jul 1 23:02:09 2011 -0400

    nscd cleanups
    
    Cleanup and optimize last patch.  Add timeout fixes also to the
    services cache.

diff --git a/ChangeLog b/ChangeLog
index a4cd52e..802b569 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2011-07-01  Ulrich Drepper  <drepper@gmail.com>
+
+	* nscd/pwdcache.c (cache_addpw): Cleanup.  Add branch prediction.
+	* nscd/initgrcache.c (addinitgroupsX): Likewise.
+	* nscd/hstcache.c (cache_addhst): Likewise.
+	* nscd/grpcache.c (cache_addgr): Likewise.
+	* nscd/aicache.c (addhstaiX): Likewise
+	* nscd/servicescache.c (cache_addserv): Handle zero negtimeout.
+
 2011-07-01  Thorsten Kukuk  <kukuk@suse.de>
 
 	* nscd/pwdcache.c (cache_addpw): Handle zero negtimeout.
diff --git a/nscd/aicache.c b/nscd/aicache.c
index b136921..8d100f8 100644
--- a/nscd/aicache.c
+++ b/nscd/aicache.c
@@ -512,14 +512,15 @@ next_nip:
 	TEMP_FAILURE_RETRY (send (fd, &notfound, total, MSG_NOSIGNAL));
 
       /* If we cannot permanently store the result, so be it.  */
-      if (db->negtimeout == 0)
+      if (__builtin_expect (db->negtimeout == 0, 0))
 	{
 	  /* Mark the old entry as obsolete.  */
 	  if (dh != NULL)
 	    dh->usable = false;
 	  dataset = NULL;
 	}
-      else if ((dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len, 1)) != NULL)
+      else if ((dataset = mempool_alloc (db, (sizeof (struct dataset)
+					      + req->key_len), 1)) != NULL)
 	{
 	  dataset->head.allocsize = sizeof (struct dataset) + req->key_len;
 	  dataset->head.recsize = total;
diff --git a/nscd/hstcache.c b/nscd/hstcache.c
index 1f09c0b..4d68ade 100644
--- a/nscd/hstcache.c
+++ b/nscd/hstcache.c
@@ -142,13 +142,14 @@ cache_addhst (struct database_dyn *db, int fd, request_header *req,
 	    all_written = false;
 
 	  /* If we cannot permanently store the result, so be it.  */
-	  if (db->negtimeout == 0)
+	  if (__builtin_expect (db->negtimeout == 0, 0))
 	    {
 	      /* Mark the old entry as obsolete.  */
 	      if (dh != NULL)
 		dh->usable = false;
 	    }
-	  else if ((dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len, 1)) != NULL)
+	  else if ((dataset = mempool_alloc (db, (sizeof (struct dataset)
+						  + req->key_len), 1)) != NULL)
 	    {
 	      dataset->head.allocsize = sizeof (struct dataset) + req->key_len;
 	      dataset->head.recsize = total;
diff --git a/nscd/initgrcache.c b/nscd/initgrcache.c
index 7fd564d..4ac9942 100644
--- a/nscd/initgrcache.c
+++ b/nscd/initgrcache.c
@@ -1,5 +1,5 @@
 /* Cache handling for host lookup.
-   Copyright (C) 2004, 2005, 2006, 2008, 2009, 2011 Free Software Foundation, Inc.
+   Copyright (C) 2004-2006, 2008, 2009, 2011 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2004.
 
@@ -203,13 +203,14 @@ addinitgroupsX (struct database_dyn *db, int fd, request_header *req,
 						MSG_NOSIGNAL));
 
 	  /* If we cannot permanently store the result, so be it.  */
-	  if (db->negtimeout == 0)
+	  if (__builtin_expect (db->negtimeout == 0, 0))
 	    {
 	      /* Mark the old entry as obsolete.  */
 	      if (dh != NULL)
 		dh->usable = false;
 	    }
-	  else if ((dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len, 1)) != NULL)
+	  else if ((dataset = mempool_alloc (db, (sizeof (struct dataset)
+						  + req->key_len), 1)) != NULL)
 	    {
 	      dataset->head.allocsize = sizeof (struct dataset) + req->key_len;
 	      dataset->head.recsize = total;
diff --git a/nscd/pwdcache.c b/nscd/pwdcache.c
index 94e1c52..49e130c 100644
--- a/nscd/pwdcache.c
+++ b/nscd/pwdcache.c
@@ -125,13 +125,14 @@ cache_addpw (struct database_dyn *db, int fd, request_header *req,
 						MSG_NOSIGNAL));
 
 	  /* If we cannot permanently store the result, so be it.  */
-	  if (db->negtimeout == 0)
+	  if (__builtin_expect (db->negtimeout == 0, 0))
 	    {
 	      /* Mark the old entry as obsolete.  */
 	      if (dh != NULL)
 		dh->usable = false;
 	    }
-	  else if ((dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len, 1)) != NULL)
+	  else if ((dataset = mempool_alloc (db, (sizeof (struct dataset)
+						  + req->key_len), 1)) != NULL)
 	    {
 	      dataset->head.allocsize = sizeof (struct dataset) + req->key_len;
 	      dataset->head.recsize = total;
diff --git a/nscd/servicescache.c b/nscd/servicescache.c
index b0a2977..ec5a367 100644
--- a/nscd/servicescache.c
+++ b/nscd/servicescache.c
@@ -108,10 +108,15 @@ cache_addserv (struct database_dyn *db, int fd, request_header *req,
 	    written = TEMP_FAILURE_RETRY (send (fd, &notfound, total,
 						MSG_NOSIGNAL));
 
-	  dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len,
-				   1);
 	  /* If we cannot permanently store the result, so be it.  */
-	  if (dataset != NULL)
+	  if (__builtin_expect (db->negtimeout == 0, 0))
+	    {
+	      /* Mark the old entry as obsolete.  */
+	      if (dh != NULL)
+		dh->usable = false;
+	    }
+	  else if ((dataset = mempool_alloc (db, (sizeof (struct dataset)
+						  + req->key_len), 1)) != NULL)
 	    {
 	      dataset->head.allocsize = sizeof (struct dataset) + req->key_len;
 	      dataset->head.recsize = total;

http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=445b4a53ea9d6c457c5f4ac1538102d8be0a5d89

commit 445b4a53ea9d6c457c5f4ac1538102d8be0a5d89
Author: Thorsten Kukuk <kukuk@suse.de>
Date:   Fri Jul 1 22:53:01 2011 -0400

    Handle nscd negtimeout==0

diff --git a/ChangeLog b/ChangeLog
index e3a0b70..a4cd52e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2011-07-01  Thorsten Kukuk  <kukuk@suse.de>
+
+	* nscd/pwdcache.c (cache_addpw): Handle zero negtimeout.
+	* nscd/initgrcache.c (addinitgroupsX): Likewise.
+	* nscd/hstcache.c (cache_addhst): Likewise.
+	* nscd/grpcache.c (cache_addgr): Likewise.
+	* nscd/aicache.c (addhstaiX): Likewise
+
 2011-07-01  Andreas Schwab  <schwab@redhat.com>
 
 	* nis/nss_compat/compat-pwd.c (getpwent_next_nss_netgr): Query NIS
diff --git a/nscd/aicache.c b/nscd/aicache.c
index 6c8d83a..b136921 100644
--- a/nscd/aicache.c
+++ b/nscd/aicache.c
@@ -511,9 +511,15 @@ next_nip:
       if (fd != -1)
 	TEMP_FAILURE_RETRY (send (fd, &notfound, total, MSG_NOSIGNAL));
 
-      dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len, 1);
       /* If we cannot permanently store the result, so be it.  */
-      if (dataset != NULL)
+      if (db->negtimeout == 0)
+	{
+	  /* Mark the old entry as obsolete.  */
+	  if (dh != NULL)
+	    dh->usable = false;
+	  dataset = NULL;
+	}
+      else if ((dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len, 1)) != NULL)
 	{
 	  dataset->head.allocsize = sizeof (struct dataset) + req->key_len;
 	  dataset->head.recsize = total;
diff --git a/nscd/grpcache.c b/nscd/grpcache.c
index 0e7f81f..8a2f80c 100644
--- a/nscd/grpcache.c
+++ b/nscd/grpcache.c
@@ -118,10 +118,14 @@ cache_addgr (struct database_dyn *db, int fd, request_header *req,
 	    written = TEMP_FAILURE_RETRY (send (fd, &notfound, total,
 						MSG_NOSIGNAL));
 
-	  dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len,
-				   1);
 	  /* If we cannot permanently store the result, so be it.  */
-	  if (dataset != NULL)
+	  if (db->negtimeout == 0)
+	    {
+	      /* Mark the old entry as obsolete.  */
+	      if (dh != NULL)
+		dh->usable = false;
+	    }
+	  else if ((dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len, 1)) != NULL)
 	    {
 	      dataset->head.allocsize = sizeof (struct dataset) + req->key_len;
 	      dataset->head.recsize = total;
diff --git a/nscd/hstcache.c b/nscd/hstcache.c
index 1ab5860..1f09c0b 100644
--- a/nscd/hstcache.c
+++ b/nscd/hstcache.c
@@ -141,10 +141,14 @@ cache_addhst (struct database_dyn *db, int fd, request_header *req,
 					MSG_NOSIGNAL)) != total)
 	    all_written = false;
 
-	  dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len,
-				   1);
 	  /* If we cannot permanently store the result, so be it.  */
-	  if (dataset != NULL)
+	  if (db->negtimeout == 0)
+	    {
+	      /* Mark the old entry as obsolete.  */
+	      if (dh != NULL)
+		dh->usable = false;
+	    }
+	  else if ((dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len, 1)) != NULL)
 	    {
 	      dataset->head.allocsize = sizeof (struct dataset) + req->key_len;
 	      dataset->head.recsize = total;
diff --git a/nscd/initgrcache.c b/nscd/initgrcache.c
index 8cb6cf1..7fd564d 100644
--- a/nscd/initgrcache.c
+++ b/nscd/initgrcache.c
@@ -202,10 +202,14 @@ addinitgroupsX (struct database_dyn *db, int fd, request_header *req,
 	    written = TEMP_FAILURE_RETRY (send (fd, &notfound, total,
 						MSG_NOSIGNAL));
 
-	  dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len,
-				   1);
 	  /* If we cannot permanently store the result, so be it.  */
-	  if (dataset != NULL)
+	  if (db->negtimeout == 0)
+	    {
+	      /* Mark the old entry as obsolete.  */
+	      if (dh != NULL)
+		dh->usable = false;
+	    }
+	  else if ((dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len, 1)) != NULL)
 	    {
 	      dataset->head.allocsize = sizeof (struct dataset) + req->key_len;
 	      dataset->head.recsize = total;
diff --git a/nscd/pwdcache.c b/nscd/pwdcache.c
index 47b8052..94e1c52 100644
--- a/nscd/pwdcache.c
+++ b/nscd/pwdcache.c
@@ -124,10 +124,14 @@ cache_addpw (struct database_dyn *db, int fd, request_header *req,
 	    written = TEMP_FAILURE_RETRY (send (fd, &notfound, total,
 						MSG_NOSIGNAL));
 
-	  dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len,
-				   1);
 	  /* If we cannot permanently store the result, so be it.  */
-	  if (dataset != NULL)
+	  if (db->negtimeout == 0)
+	    {
+	      /* Mark the old entry as obsolete.  */
+	      if (dh != NULL)
+		dh->usable = false;
+	    }
+	  else if ((dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len, 1)) != NULL)
 	    {
 	      dataset->head.allocsize = sizeof (struct dataset) + req->key_len;
 	      dataset->head.recsize = total;

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog            |   17 +++++++++++++++++
 nscd/aicache.c       |   11 +++++++++--
 nscd/grpcache.c      |   10 +++++++---
 nscd/hstcache.c      |   11 ++++++++---
 nscd/initgrcache.c   |   13 +++++++++----
 nscd/pwdcache.c      |   11 ++++++++---
 nscd/servicescache.c |   11 ++++++++---
 7 files changed, 66 insertions(+), 18 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]