]> Dogcows Code - chaz/tar/commitdiff
* src/buffer.c (record_buffer_aligned): New var.
authorPaul Eggert <eggert@cs.ucla.edu>
Wed, 8 Mar 2006 00:55:56 +0000 (00:55 +0000)
committerPaul Eggert <eggert@cs.ucla.edu>
Wed, 8 Mar 2006 00:55:56 +0000 (00:55 +0000)
(init_buffer): Use it to ensure that the buffer is aligned.
This doesn't result in any measurable performance improvement
on my host (Debian GNU/Linux 3.1 stable, with default block size),
but I assume it does help on some hosts.

ChangeLog
src/buffer.c

index fc3830cba8c3f06d81d80b62dcecb8abd4f7310c..83e2ac1502b7f9f0cfe557dad0aff323b47e4499 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
 
+       * src/buffer.c (record_buffer_aligned): New var.
+       (init_buffer): Use it to ensure that the buffer is aligned.
+       This doesn't result in any measurable performance improvement
+       on my host (Debian GNU/Linux 3.1 stable, with default block size),
+       but I assume it does help on some hosts.
+
        * lib/.cvsignore: Add unistd_.h.  Sort.
 
 2006-03-04  Sergey Poznyakoff  <gray@gnu.org.ua>
index c0cedc3c8e9fa8be2d293268f944d424f2bdb453..a6daf3c9b3ae61774c52e09a61f913b211d09b9b 100644 (file)
@@ -44,6 +44,7 @@
 static tarlong prev_written;   /* bytes written on previous volumes */
 static tarlong bytes_written;  /* bytes written on this volume */
 static void *record_buffer[2]; /* allocated memory */
+union block *record_buffer_aligned[2];
 static int record_index;
 
 /* FIXME: The following variables should ideally be static to this
@@ -369,10 +370,11 @@ xclose (int fd)
 static void
 init_buffer ()
 {
-  if (!record_buffer[record_index])
-    page_aligned_alloc (&record_buffer[record_index], record_size);
+  if (! record_buffer_aligned[record_index])
+    record_buffer_aligned[record_index] =
+      page_aligned_alloc (&record_buffer[record_index], record_size);
 
-  record_start = record_buffer[record_index];
+  record_start = record_buffer_aligned[record_index];
   current_block = record_start;
   record_end = record_start + blocking_factor;
 }
This page took 0.032741 seconds and 4 git commands to generate.