Welcome! Log In Create A New Profile

Advanced

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

Valentin Bartenev
September 21, 2014 08:22AM
details: http://hg.nginx.org/nginx/rev/b63e829621ab
branches:
changeset: 5854:b63e829621ab
user: Valentin Bartenev <vbart@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 ( ;; ) {

_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

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

Valentin Bartenev 658 September 21, 2014 08:22AM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 152
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready