mirror of
https://github.com/nginx/nginx.git
synced 2024-12-02 20:09:01 +08:00
Generalized definitions of the number of preallocated iovec's.
No functional changes.
This commit is contained in:
parent
1cbeabfd4c
commit
651be6067e
@ -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_chain_t *
|
||||||
ngx_darwin_sendfile_chain(ngx_connection_t *c, ngx_chain_t *in, off_t limit)
|
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_t *c, ngx_chain_t *in, off_t limit)
|
|||||||
ngx_event_t *wev;
|
ngx_event_t *wev;
|
||||||
ngx_chain_t *cl;
|
ngx_chain_t *cl;
|
||||||
struct sf_hdtr hdtr;
|
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;
|
wev = c->write;
|
||||||
|
|
||||||
@ -79,12 +72,12 @@ ngx_darwin_sendfile_chain(ngx_connection_t *c, ngx_chain_t *in, off_t limit)
|
|||||||
|
|
||||||
header.elts = headers;
|
header.elts = headers;
|
||||||
header.size = sizeof(struct iovec);
|
header.size = sizeof(struct iovec);
|
||||||
header.nalloc = NGX_HEADERS;
|
header.nalloc = NGX_IOVS_PREALLOCATE;
|
||||||
header.pool = c->pool;
|
header.pool = c->pool;
|
||||||
|
|
||||||
trailer.elts = trailers;
|
trailer.elts = trailers;
|
||||||
trailer.size = sizeof(struct iovec);
|
trailer.size = sizeof(struct iovec);
|
||||||
trailer.nalloc = NGX_TRAILERS;
|
trailer.nalloc = NGX_IOVS_PREALLOCATE;
|
||||||
trailer.pool = c->pool;
|
trailer.pool = c->pool;
|
||||||
|
|
||||||
for ( ;; ) {
|
for ( ;; ) {
|
||||||
|
@ -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_chain_t *
|
||||||
ngx_freebsd_sendfile_chain(ngx_connection_t *c, ngx_chain_t *in, off_t limit)
|
ngx_freebsd_sendfile_chain(ngx_connection_t *c, ngx_chain_t *in, off_t limit)
|
||||||
{
|
{
|
||||||
@ -52,7 +43,9 @@ ngx_freebsd_sendfile_chain(ngx_connection_t *c, ngx_chain_t *in, off_t limit)
|
|||||||
ngx_event_t *wev;
|
ngx_event_t *wev;
|
||||||
ngx_chain_t *cl;
|
ngx_chain_t *cl;
|
||||||
struct sf_hdtr hdtr;
|
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;
|
wev = c->write;
|
||||||
|
|
||||||
@ -83,12 +76,12 @@ ngx_freebsd_sendfile_chain(ngx_connection_t *c, ngx_chain_t *in, off_t limit)
|
|||||||
|
|
||||||
header.elts = headers;
|
header.elts = headers;
|
||||||
header.size = sizeof(struct iovec);
|
header.size = sizeof(struct iovec);
|
||||||
header.nalloc = NGX_HEADERS;
|
header.nalloc = NGX_IOVS_PREALLOCATE;
|
||||||
header.pool = c->pool;
|
header.pool = c->pool;
|
||||||
|
|
||||||
trailer.elts = trailers;
|
trailer.elts = trailers;
|
||||||
trailer.size = sizeof(struct iovec);
|
trailer.size = sizeof(struct iovec);
|
||||||
trailer.nalloc = NGX_TRAILERS;
|
trailer.nalloc = NGX_IOVS_PREALLOCATE;
|
||||||
trailer.pool = c->pool;
|
trailer.pool = c->pool;
|
||||||
|
|
||||||
for ( ;; ) {
|
for ( ;; ) {
|
||||||
|
@ -27,13 +27,6 @@
|
|||||||
#define NGX_SENDFILE_MAXSIZE 2147483647L
|
#define NGX_SENDFILE_MAXSIZE 2147483647L
|
||||||
|
|
||||||
|
|
||||||
#if (IOV_MAX > 64)
|
|
||||||
#define NGX_HEADERS 64
|
|
||||||
#else
|
|
||||||
#define NGX_HEADERS IOV_MAX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
ngx_chain_t *
|
ngx_chain_t *
|
||||||
ngx_linux_sendfile_chain(ngx_connection_t *c, ngx_chain_t *in, off_t limit)
|
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_t *c, ngx_chain_t *in, off_t limit)
|
|||||||
ngx_array_t header;
|
ngx_array_t header;
|
||||||
ngx_event_t *wev;
|
ngx_event_t *wev;
|
||||||
ngx_chain_t *cl;
|
ngx_chain_t *cl;
|
||||||
struct iovec *iov, headers[NGX_HEADERS];
|
struct iovec *iov, headers[NGX_IOVS_PREALLOCATE];
|
||||||
#if (NGX_HAVE_SENDFILE64)
|
#if (NGX_HAVE_SENDFILE64)
|
||||||
off_t offset;
|
off_t offset;
|
||||||
#else
|
#else
|
||||||
@ -72,7 +65,7 @@ ngx_linux_sendfile_chain(ngx_connection_t *c, ngx_chain_t *in, off_t limit)
|
|||||||
|
|
||||||
header.elts = headers;
|
header.elts = headers;
|
||||||
header.size = sizeof(struct iovec);
|
header.size = sizeof(struct iovec);
|
||||||
header.nalloc = NGX_HEADERS;
|
header.nalloc = NGX_IOVS_PREALLOCATE;
|
||||||
header.pool = c->pool;
|
header.pool = c->pool;
|
||||||
|
|
||||||
for ( ;; ) {
|
for ( ;; ) {
|
||||||
|
@ -56,6 +56,13 @@ ngx_chain_t *ngx_aio_write_chain(ngx_connection_t *c, ngx_chain_t *in,
|
|||||||
#endif
|
#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_os_io_t ngx_os_io;
|
||||||
extern ngx_int_t ngx_ncpu;
|
extern ngx_int_t ngx_ncpu;
|
||||||
extern ngx_int_t ngx_max_sockets;
|
extern ngx_int_t ngx_max_sockets;
|
||||||
|
@ -10,13 +10,6 @@
|
|||||||
#include <ngx_event.h>
|
#include <ngx_event.h>
|
||||||
|
|
||||||
|
|
||||||
#if (IOV_MAX > 64)
|
|
||||||
#define NGX_IOVS 64
|
|
||||||
#else
|
|
||||||
#define NGX_IOVS IOV_MAX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
ssize_t
|
ssize_t
|
||||||
ngx_readv_chain(ngx_connection_t *c, ngx_chain_t *chain)
|
ngx_readv_chain(ngx_connection_t *c, ngx_chain_t *chain)
|
||||||
{
|
{
|
||||||
@ -25,7 +18,7 @@ ngx_readv_chain(ngx_connection_t *c, ngx_chain_t *chain)
|
|||||||
ngx_err_t err;
|
ngx_err_t err;
|
||||||
ngx_array_t vec;
|
ngx_array_t vec;
|
||||||
ngx_event_t *rev;
|
ngx_event_t *rev;
|
||||||
struct iovec *iov, iovs[NGX_IOVS];
|
struct iovec *iov, iovs[NGX_IOVS_PREALLOCATE];
|
||||||
|
|
||||||
rev = c->read;
|
rev = c->read;
|
||||||
|
|
||||||
@ -67,7 +60,7 @@ ngx_readv_chain(ngx_connection_t *c, ngx_chain_t *chain)
|
|||||||
vec.elts = iovs;
|
vec.elts = iovs;
|
||||||
vec.nelts = 0;
|
vec.nelts = 0;
|
||||||
vec.size = sizeof(struct iovec);
|
vec.size = sizeof(struct iovec);
|
||||||
vec.nalloc = NGX_IOVS;
|
vec.nalloc = NGX_IOVS_PREALLOCATE;
|
||||||
vec.pool = c->pool;
|
vec.pool = c->pool;
|
||||||
|
|
||||||
/* coalesce the neighbouring bufs */
|
/* coalesce the neighbouring bufs */
|
||||||
|
@ -35,12 +35,7 @@ ngx_chain_t *ngx_solaris_sendfilev_chain(ngx_connection_t *c, ngx_chain_t *in,
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#if (IOV_MAX > 64)
|
#define NGX_SENDFILEVECS NGX_IOVS_PREALLOCATE
|
||||||
#define NGX_SENDFILEVECS 64
|
|
||||||
#else
|
|
||||||
#define NGX_SENDFILEVECS IOV_MAX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ngx_chain_t *
|
ngx_chain_t *
|
||||||
|
@ -10,13 +10,6 @@
|
|||||||
#include <ngx_event.h>
|
#include <ngx_event.h>
|
||||||
|
|
||||||
|
|
||||||
#if (IOV_MAX > 64)
|
|
||||||
#define NGX_IOVS 64
|
|
||||||
#else
|
|
||||||
#define NGX_IOVS IOV_MAX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
ngx_chain_t *
|
ngx_chain_t *
|
||||||
ngx_writev_chain(ngx_connection_t *c, ngx_chain_t *in, off_t limit)
|
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, ngx_chain_t *in, off_t limit)
|
|||||||
ngx_array_t vec;
|
ngx_array_t vec;
|
||||||
ngx_chain_t *cl;
|
ngx_chain_t *cl;
|
||||||
ngx_event_t *wev;
|
ngx_event_t *wev;
|
||||||
struct iovec *iov, iovs[NGX_IOVS];
|
struct iovec *iov, iovs[NGX_IOVS_PREALLOCATE];
|
||||||
|
|
||||||
wev = c->write;
|
wev = c->write;
|
||||||
|
|
||||||
@ -57,7 +50,7 @@ ngx_writev_chain(ngx_connection_t *c, ngx_chain_t *in, off_t limit)
|
|||||||
|
|
||||||
vec.elts = iovs;
|
vec.elts = iovs;
|
||||||
vec.size = sizeof(struct iovec);
|
vec.size = sizeof(struct iovec);
|
||||||
vec.nalloc = NGX_IOVS;
|
vec.nalloc = NGX_IOVS_PREALLOCATE;
|
||||||
vec.pool = c->pool;
|
vec.pool = c->pool;
|
||||||
|
|
||||||
for ( ;; ) {
|
for ( ;; ) {
|
||||||
|
Loading…
Reference in New Issue
Block a user