Commit Graph

636 Commits (4b05018ffe82e49a15dba9417e3dd5a04bb6c9ff)

Author SHA1 Message Date
chenwei 917b95625c Nginx: bugfix, secondary worker should be spawned after primary worker completing initialization of fstack(dpdk)
When starting nginx with mutil-processes, secondary worker may be spawned before primary worker completing initialization of fstack(dpdk), so errors occurred, for one, in kni.
2018-03-12 17:13:02 +08:00
logwang 6b34d16078 Set the default configuration `kern.ncallout`(number of entries in
callwheel and size of timeout() preallocation).
2018-03-01 16:07:35 +08:00
logwang bb6ad8038f Set the default configuration `kern.ncallout`(number of entries in
callwheel and size of timeout() preallocation).
2018-03-01 16:07:35 +08:00
logwang eba4f71434
Merge pull request #166 from chadwill/master
Nginx : bugfix, changing `listening socket type` may lead to errors.
2018-03-01 16:03:28 +08:00
logwang 92b0c746e9 Merge pull request #166 from chadwill/master
Nginx : bugfix, changing `listening socket type` may lead to errors.
2018-03-01 16:03:28 +08:00
chenwei 65c723a426 Nginx : bugfix, changing `listening socket type` in cycle may lead to errors.
Uses a temporaty variable to hold of potentially changing socket type but
does not modify `listening socket type` in cycle.
2018-03-01 15:39:33 +08:00
chenwei 8eec41ee4c Nginx : bugfix, changing `listening socket type` in cycle may lead to errors.
Uses a temporaty variable to hold of potentially changing socket type but
does not modify `listening socket type` in cycle.
2018-03-01 15:39:33 +08:00
logwang 7b05e9bf4e
Merge pull request #161 from chadwill/master
Nginx : directive proxy_kernel_network_stack
2018-02-24 18:03:29 +08:00
logwang 895b4b629f Merge pull request #161 from chadwill/master
Nginx : directive proxy_kernel_network_stack
2018-02-24 18:03:29 +08:00
chenwei 42f547056e Nginx: revise indent. 2018-02-24 17:08:59 +08:00
chenwei 99c10b6c22 Nginx: revise indent. 2018-02-24 17:08:59 +08:00
chenwei 76e16b226f Nginx : add a creation flag SOCK_FSTACK(create-fstack-socket) for socket()
1. `#define SOCK_FSTACK 0x1000`
2. when we want to create socket by fstack, we code like this :
`s = ngx_socket(domain, type | SOCK_FSTACK , protocol);`
2018-02-24 16:45:10 +08:00
chenwei 7f2b0d8fb1 Nginx : add a creation flag SOCK_FSTACK(create-fstack-socket) for socket()
1. `#define SOCK_FSTACK 0x1000`
2. when we want to create socket by fstack, we code like this :
`s = ngx_socket(domain, type | SOCK_FSTACK , protocol);`
2018-02-24 16:45:10 +08:00
陈威 edbcaf6eef
Update F-Stack_Nginx_APP_Guide.md 2018-02-09 20:09:05 +08:00
陈威 f8aeb5ebf4 Update F-Stack_Nginx_APP_Guide.md 2018-02-09 20:09:05 +08:00
陈威 38120bf0aa
Merge pull request #1 from chadwill/develop
Nginx :directive ```proxy_kernel_network_stack```
2018-02-06 01:56:24 -06:00
陈威 33f57e6e77 Merge pull request #1 from chadwill/develop
Nginx :directive ```proxy_kernel_network_stack```
2018-02-06 01:56:24 -06:00
logwang 80b2d7d52b
Merge pull request #159 from chadwill/master
Nginx :  ngx_configure_listening_sockets and hijack `recvmsg`
2018-02-06 15:22:14 +08:00
logwang 6213bcc6e0 Merge pull request #159 from chadwill/master
Nginx :  ngx_configure_listening_sockets and hijack `recvmsg`
2018-02-06 15:22:14 +08:00
chenwei d1d95d5185 Nginx : directive proxy_kernel_network_stack
1. Add a new directive proxy_kernel_network_stack :
    Syntax: 	proxy_kernel_network_stack on | off;
    Default: 	proxy_kernel_network_stack off;
   Context: 	http, stream, mail, server
  This directive is available only when NGX_HAVE_FF_STACK is defined.
  Determines whether proxy should go throught kernel network stack or fstack.
2.Update F-Stack_Nginx_APP_Guide.md
2018-02-05 15:55:20 +08:00
chenwei 3d7e1b6b15 Nginx : directive proxy_kernel_network_stack
1. Add a new directive proxy_kernel_network_stack :
    Syntax: 	proxy_kernel_network_stack on | off;
    Default: 	proxy_kernel_network_stack off;
   Context: 	http, stream, mail, server
  This directive is available only when NGX_HAVE_FF_STACK is defined.
  Determines whether proxy should go throught kernel network stack or fstack.
2.Update F-Stack_Nginx_APP_Guide.md
2018-02-05 15:55:20 +08:00
chenwei b60bba339e API : ff_sendmsg, use transient variables to avoid polluting user's data. 2018-02-02 17:58:17 +08:00
chenwei 6c629acab4 API : ff_sendmsg, use transient variables to avoid polluting user's data. 2018-02-02 17:58:17 +08:00
chenwei 26fa2bc45b API : fix bug of ff_sendmsg and ff_recvmsg
freebsd and linux have a different "struct sockaddr".
In ff_recvmsg and ff_recvmsg, ```msg->msg_name```,which can refer to address, can be expected to be converted .
2018-02-02 15:28:58 +08:00
chenwei d8829f7e5a API : fix bug of ff_sendmsg and ff_recvmsg
freebsd and linux have a different "struct sockaddr".
In ff_recvmsg and ff_recvmsg, ```msg->msg_name```,which can refer to address, can be expected to be converted .
2018-02-02 15:28:58 +08:00
chenwei 4e5f8d85e1 Nginx : replace macro with inline function to implement ```ngx_ff_skip_listening_socket``` 2018-02-01 16:30:46 +08:00
chenwei d65c1f94b4 Nginx : replace macro with inline function to implement ```ngx_ff_skip_listening_socket``` 2018-02-01 16:30:46 +08:00
chenwei ab555adef4 Nginx: hijack `recvmsg`.
Since Nginx calls `recvmsg` in stream with udp, we must
hijack this function, so that the network IO can pass through
f-stack.
2018-01-31 13:47:44 +08:00
chenwei 19acab5d5f Nginx: hijack `recvmsg`.
Since Nginx calls `recvmsg` in stream with udp, we must
hijack this function, so that the network IO can pass through
f-stack.
2018-01-31 13:47:44 +08:00
chenwei f6a681c496 Nginx : ngx_configure_listening_sockets
1. Nginx based on fstack delays setting up server on fstack until ngx_worker_process_init. ngx_configure_listening_sockets should as well.
2. FStack does not support IP_PKTINFO
2018-01-31 13:37:58 +08:00
chenwei c41d837fae Nginx : ngx_configure_listening_sockets
1. Nginx based on fstack delays setting up server on fstack until ngx_worker_process_init. ngx_configure_listening_sockets should as well.
2. FStack does not support IP_PKTINFO
2018-01-31 13:37:58 +08:00
logwang 6adaac3368
Merge pull request #158 from chadwill/master
Nginx : Fix Compile error with `--with-stream`
2018-01-31 12:45:26 +08:00
logwang 94e48a9b34 Merge pull request #158 from chadwill/master
Nginx : Fix Compile error with `--with-stream`
2018-01-31 12:45:26 +08:00
chenwei 0a6b81772e Nginx : Fix Compile error
Fix compile error when configure nginx with --with-stream
2018-01-31 09:02:25 +08:00
chenwei 8c19c41dfc Nginx : Fix Compile error
Fix compile error when configure nginx with --with-stream
2018-01-31 09:02:25 +08:00
logwang cc7be195f4
Merge pull request #156 from chadwill/patch-1
Update F-Stack_Nginx_APP_Guide.md
2018-01-29 19:01:26 +08:00
logwang 13270ed0ec Merge pull request #156 from chadwill/patch-1
Update F-Stack_Nginx_APP_Guide.md
2018-01-29 19:01:26 +08:00
logwang 17140315e7
Merge pull request #151 from chadwill/master
Nginx : Get rid of "ff_host" thread
2018-01-29 19:01:11 +08:00
logwang 676ac0fa5b Merge pull request #151 from chadwill/master
Nginx : Get rid of "ff_host" thread
2018-01-29 19:01:11 +08:00
chenwei dcfbe1ad39 Nginx: Restore ngx_get_connection and ngx_free_connection
The code that we used to preserve ngx_get_connection and ngx_free_connection thread safety , is not necessary now.
2018-01-29 16:41:35 +08:00
chenwei fc3a7422fa Nginx: Restore ngx_get_connection and ngx_free_connection
The code that we used to preserve ngx_get_connection and ngx_free_connection thread safety , is not necessary now.
2018-01-29 16:41:35 +08:00
陈威 bb4234c89c
Update F-Stack_Nginx_APP_Guide.md
Add description of directive  ```kernel_network_stack```.
2018-01-26 21:44:05 +08:00
陈威 8461d8a70b Update F-Stack_Nginx_APP_Guide.md
Add description of directive  ```kernel_network_stack```.
2018-01-26 21:44:05 +08:00
陈威 d918f1d3ae
Update F-Stack_Nginx_APP_Guide.md
Handle fstack in nginx ```work process cycle```. Refer to #151.
2018-01-26 17:44:47 +08:00
陈威 684588066b Update F-Stack_Nginx_APP_Guide.md
Handle fstack in nginx ```work process cycle```. Refer to #151.
2018-01-26 17:44:47 +08:00
陈威 6484644fe3
Nginx: Cut out code about poll-kernel frequency
Cut out unreasonable code about poll-kernel frequency
2018-01-26 17:14:13 +08:00
陈威 5eaa396dce Nginx: Cut out code about poll-kernel frequency
Cut out unreasonable code about poll-kernel frequency
2018-01-26 17:14:13 +08:00
logwang 9f78ac569c ff_kern_timeout: optimize the timecounter.
This timecounter implementation retrieves the current time and reports it
as the equivalent number of counts from a counter incrementing at 'hz'.
2018-01-19 21:03:20 +08:00
logwang 39be5a505f ff_kern_timeout: optimize the timecounter.
This timecounter implementation retrieves the current time and reports it
as the equivalent number of counts from a counter incrementing at 'hz'.
2018-01-19 21:03:20 +08:00
logwang 54e1dbca13 FreeBSD: initialize `mp_ncpus`.
Fix crash when executing `./sysctl -w kern.callout_stat=1`.
2018-01-18 21:08:22 +08:00