[nginx] Generalized definitions of the number of preallocated io...

Valentin Bartenev vbart at nginx.com
Sun Sep 21 12:20:36 UTC 2014


details:   http://hg.nginx.org/nginx/rev/b63e829621ab
branches:  
changeset: 5854:b63e829621ab
user:      Valentin Bartenev <vbart at nginx.com>
date:      Wed Aug 13 15:11:45 2014 +0400
description:
Generalized definitions of the number of preallocated iovec's.

No functional changes.

diffstat:

 src/os/unix/ngx_darwin_sendfile_chain.c   |  17 +++++------------
 src/os/unix/ngx_freebsd_sendfile_chain.c  |  17 +++++------------
 src/os/unix/ngx_linux_sendfile_chain.c    |  11 ++---------
 src/os/unix/ngx_os.h                      |   7 +++++++
 src/os/unix/ngx_readv_chain.c             |  11 ++---------
 src/os/unix/ngx_solaris_sendfilev_chain.c |   7 +------
 src/os/unix/ngx_writev_chain.c            |  11 ++---------
 7 files changed, 24 insertions(+), 57 deletions(-)

diffs (229 lines):

diff -r a6e83ac70af9 -r b63e829621ab src/os/unix/ngx_darwin_sendfile_chain.c
--- a/src/os/unix/ngx_darwin_sendfile_chain.c	Wed Aug 13 15:11:45 2014 +0400
+++ b/src/os/unix/ngx_darwin_sendfile_chain.c	Wed Aug 13 15:11:45 2014 +0400
@@ -27,15 +27,6 @@
  */
 
 
-#if (IOV_MAX > 64)
-#define NGX_HEADERS   64
-#define NGX_TRAILERS  64
-#else
-#define NGX_HEADERS   IOV_MAX
-#define NGX_TRAILERS  IOV_MAX
-#endif
-
-
 ngx_chain_t *
 ngx_darwin_sendfile_chain(ngx_connection_t *c, ngx_chain_t *in, off_t limit)
 {
@@ -50,7 +41,9 @@ ngx_darwin_sendfile_chain(ngx_connection
     ngx_event_t     *wev;
     ngx_chain_t     *cl;
     struct sf_hdtr   hdtr;
-    struct iovec    *iov, headers[NGX_HEADERS], trailers[NGX_TRAILERS];
+    struct iovec    *iov;
+    struct iovec     headers[NGX_IOVS_PREALLOCATE];
+    struct iovec     trailers[NGX_IOVS_PREALLOCATE];
 
     wev = c->write;
 
@@ -79,12 +72,12 @@ ngx_darwin_sendfile_chain(ngx_connection
 
     header.elts = headers;
     header.size = sizeof(struct iovec);
-    header.nalloc = NGX_HEADERS;
+    header.nalloc = NGX_IOVS_PREALLOCATE;
     header.pool = c->pool;
 
     trailer.elts = trailers;
     trailer.size = sizeof(struct iovec);
-    trailer.nalloc = NGX_TRAILERS;
+    trailer.nalloc = NGX_IOVS_PREALLOCATE;
     trailer.pool = c->pool;
 
     for ( ;; ) {
diff -r a6e83ac70af9 -r b63e829621ab src/os/unix/ngx_freebsd_sendfile_chain.c
--- a/src/os/unix/ngx_freebsd_sendfile_chain.c	Wed Aug 13 15:11:45 2014 +0400
+++ b/src/os/unix/ngx_freebsd_sendfile_chain.c	Wed Aug 13 15:11:45 2014 +0400
@@ -29,15 +29,6 @@
  */
 
 
-#if (IOV_MAX > 64)
-#define NGX_HEADERS   64
-#define NGX_TRAILERS  64
-#else
-#define NGX_HEADERS   IOV_MAX
-#define NGX_TRAILERS  IOV_MAX
-#endif
-
-
 ngx_chain_t *
 ngx_freebsd_sendfile_chain(ngx_connection_t *c, ngx_chain_t *in, off_t limit)
 {
@@ -52,7 +43,9 @@ ngx_freebsd_sendfile_chain(ngx_connectio
     ngx_event_t     *wev;
     ngx_chain_t     *cl;
     struct sf_hdtr   hdtr;
-    struct iovec    *iov, headers[NGX_HEADERS], trailers[NGX_TRAILERS];
+    struct iovec    *iov;
+    struct iovec     headers[NGX_IOVS_PREALLOCATE];
+    struct iovec     trailers[NGX_IOVS_PREALLOCATE];
 
     wev = c->write;
 
@@ -83,12 +76,12 @@ ngx_freebsd_sendfile_chain(ngx_connectio
 
     header.elts = headers;
     header.size = sizeof(struct iovec);
-    header.nalloc = NGX_HEADERS;
+    header.nalloc = NGX_IOVS_PREALLOCATE;
     header.pool = c->pool;
 
     trailer.elts = trailers;
     trailer.size = sizeof(struct iovec);
-    trailer.nalloc = NGX_TRAILERS;
+    trailer.nalloc = NGX_IOVS_PREALLOCATE;
     trailer.pool = c->pool;
 
     for ( ;; ) {
diff -r a6e83ac70af9 -r b63e829621ab src/os/unix/ngx_linux_sendfile_chain.c
--- a/src/os/unix/ngx_linux_sendfile_chain.c	Wed Aug 13 15:11:45 2014 +0400
+++ b/src/os/unix/ngx_linux_sendfile_chain.c	Wed Aug 13 15:11:45 2014 +0400
@@ -27,13 +27,6 @@
 #define NGX_SENDFILE_MAXSIZE  2147483647L
 
 
-#if (IOV_MAX > 64)
-#define NGX_HEADERS  64
-#else
-#define NGX_HEADERS  IOV_MAX
-#endif
-
-
 ngx_chain_t *
 ngx_linux_sendfile_chain(ngx_connection_t *c, ngx_chain_t *in, off_t limit)
 {
@@ -47,7 +40,7 @@ ngx_linux_sendfile_chain(ngx_connection_
     ngx_array_t    header;
     ngx_event_t   *wev;
     ngx_chain_t   *cl;
-    struct iovec  *iov, headers[NGX_HEADERS];
+    struct iovec  *iov, headers[NGX_IOVS_PREALLOCATE];
 #if (NGX_HAVE_SENDFILE64)
     off_t          offset;
 #else
@@ -72,7 +65,7 @@ ngx_linux_sendfile_chain(ngx_connection_
 
     header.elts = headers;
     header.size = sizeof(struct iovec);
-    header.nalloc = NGX_HEADERS;
+    header.nalloc = NGX_IOVS_PREALLOCATE;
     header.pool = c->pool;
 
     for ( ;; ) {
diff -r a6e83ac70af9 -r b63e829621ab src/os/unix/ngx_os.h
--- a/src/os/unix/ngx_os.h	Wed Aug 13 15:11:45 2014 +0400
+++ b/src/os/unix/ngx_os.h	Wed Aug 13 15:11:45 2014 +0400
@@ -56,6 +56,13 @@ ngx_chain_t *ngx_aio_write_chain(ngx_con
 #endif
 
 
+#if (IOV_MAX > 64)
+#define NGX_IOVS_PREALLOCATE  64
+#else
+#define NGX_IOVS_PREALLOCATE  IOV_MAX
+#endif
+
+
 extern ngx_os_io_t  ngx_os_io;
 extern ngx_int_t    ngx_ncpu;
 extern ngx_int_t    ngx_max_sockets;
diff -r a6e83ac70af9 -r b63e829621ab src/os/unix/ngx_readv_chain.c
--- a/src/os/unix/ngx_readv_chain.c	Wed Aug 13 15:11:45 2014 +0400
+++ b/src/os/unix/ngx_readv_chain.c	Wed Aug 13 15:11:45 2014 +0400
@@ -10,13 +10,6 @@
 #include <ngx_event.h>
 
 
-#if (IOV_MAX > 64)
-#define NGX_IOVS  64
-#else
-#define NGX_IOVS  IOV_MAX
-#endif
-
-
 ssize_t
 ngx_readv_chain(ngx_connection_t *c, ngx_chain_t *chain)
 {
@@ -25,7 +18,7 @@ ngx_readv_chain(ngx_connection_t *c, ngx
     ngx_err_t      err;
     ngx_array_t    vec;
     ngx_event_t   *rev;
-    struct iovec  *iov, iovs[NGX_IOVS];
+    struct iovec  *iov, iovs[NGX_IOVS_PREALLOCATE];
 
     rev = c->read;
 
@@ -67,7 +60,7 @@ ngx_readv_chain(ngx_connection_t *c, ngx
     vec.elts = iovs;
     vec.nelts = 0;
     vec.size = sizeof(struct iovec);
-    vec.nalloc = NGX_IOVS;
+    vec.nalloc = NGX_IOVS_PREALLOCATE;
     vec.pool = c->pool;
 
     /* coalesce the neighbouring bufs */
diff -r a6e83ac70af9 -r b63e829621ab src/os/unix/ngx_solaris_sendfilev_chain.c
--- a/src/os/unix/ngx_solaris_sendfilev_chain.c	Wed Aug 13 15:11:45 2014 +0400
+++ b/src/os/unix/ngx_solaris_sendfilev_chain.c	Wed Aug 13 15:11:45 2014 +0400
@@ -35,12 +35,7 @@ ngx_chain_t *ngx_solaris_sendfilev_chain
 #endif
 
 
-#if (IOV_MAX > 64)
-#define NGX_SENDFILEVECS  64
-#else
-#define NGX_SENDFILEVECS  IOV_MAX
-#endif
-
+#define NGX_SENDFILEVECS  NGX_IOVS_PREALLOCATE
 
 
 ngx_chain_t *
diff -r a6e83ac70af9 -r b63e829621ab src/os/unix/ngx_writev_chain.c
--- a/src/os/unix/ngx_writev_chain.c	Wed Aug 13 15:11:45 2014 +0400
+++ b/src/os/unix/ngx_writev_chain.c	Wed Aug 13 15:11:45 2014 +0400
@@ -10,13 +10,6 @@
 #include <ngx_event.h>
 
 
-#if (IOV_MAX > 64)
-#define NGX_IOVS  64
-#else
-#define NGX_IOVS  IOV_MAX
-#endif
-
-
 ngx_chain_t *
 ngx_writev_chain(ngx_connection_t *c, ngx_chain_t *in, off_t limit)
 {
@@ -28,7 +21,7 @@ ngx_writev_chain(ngx_connection_t *c, ng
     ngx_array_t    vec;
     ngx_chain_t   *cl;
     ngx_event_t   *wev;
-    struct iovec  *iov, iovs[NGX_IOVS];
+    struct iovec  *iov, iovs[NGX_IOVS_PREALLOCATE];
 
     wev = c->write;
 
@@ -57,7 +50,7 @@ ngx_writev_chain(ngx_connection_t *c, ng
 
     vec.elts = iovs;
     vec.size = sizeof(struct iovec);
-    vec.nalloc = NGX_IOVS;
+    vec.nalloc = NGX_IOVS_PREALLOCATE;
     vec.pool = c->pool;
 
     for ( ;; ) {



More information about the nginx-devel mailing list