Commit Graph

1165 Commits

Author SHA1 Message Date
用jfb8856606 d2fe88ce5e Add executable permissions to configure of nginx-1.25.2. 2023-09-06 12:48:44 +00:00
fengbojiang 33903b65de Fix some issues of HTTP/3 in nginx-1.25.2. 2023-09-05 20:38:05 +08:00
fengbojiang 51dc2a507f Fix some issue of ff_sendmsg and ff_recvmsg. 2023-09-05 20:32:04 +08:00
fengbojiang 05b573ded1 Add nginx-1.25.2 to support HTTP3.
Build passed, to be tested.
2023-09-01 16:20:49 +08:00
fengbojiang 8bf6ef65e0 Support LINUX_IP_TRANSPARENT and LINUX_IPV6_TRANSPARENT to IP_BINDANY
and IPV6_BINDANY in lib/ff_syscall_wrapper.c.
2023-09-01 16:17:56 +08:00
fengbojiang 2157bebab6 Add FSTACK define in if_gre.h. 2023-08-29 16:21:37 +08:00
fengbojiang 0a92bc396c fix some issue of ff_sendmsg and ff_recvmsg, build pass, to be tested.
Ref #768 #775.
2023-08-25 18:00:57 +08:00
fengbojiang 0ba3e0f107 Fiexd some build errors of micro_thread on ubuntu 22.04 (kernel:5.19.0-1025, gcc:11.4.0),
Ref #777.
2023-08-14 21:01:56 +08:00
fengbojiang 2f169245d3 Fiexd some build errors of ipfw on ubuntu 22.04 (kernel:5.19.0-1025, gcc:11.4.0),
Ref #777.
2023-08-14 20:45:10 +08:00
fengbojiang 0ee517ed0a Fiexd some build errors ubuntu 22.04 (kernel:5.19.0-1025, gcc:11.4.0),
Ref #777.
2023-08-14 20:42:34 +08:00
fengbojiang 8471eecb32 Fixed an issue that before C99 mode. 2023-08-14 20:21:29 +08:00
fengbojiang 5ada33e91a Update igb_uio, sync from git://dpdk.org/dpdk-kmods. 2023-08-14 19:21:26 +08:00
fengbojiang fe40712835 Revert "fix cmsg for sendmsg". Fix #778.
This reverts commit 9582dbb778.
2023-08-11 15:13:37 +08:00
johnjiang ac031c3e5d
Merge pull request #775 from sarosharif/dev
fix cmsg for sendmsg
2023-06-15 11:34:47 +08:00
johnjiang dd27d061c2
Merge pull request #773 from jiegec/dev
Fix netmask in nginx conf
2023-06-15 11:33:50 +08:00
sarosh 9582dbb778 fix cmsg for sendmsg 2023-06-12 15:04:29 +05:00
Jiajie Chen 15450d6666 Fix netmask in nginx conf
Reported by @JisonRWang in #754.
2023-05-31 14:56:59 +08:00
fengbojiang cbcadd4435 update doc of syscall. 2023-05-18 11:19:40 +08:00
fengbojiang d5d872badf Update syscall's REAMDME. 2023-05-12 16:26:57 +08:00
fengbojiang 52c04c6c7f Update url of LD_PRELOAD. 2023-05-04 16:19:04 +08:00
johnjiang 4c623d4a5f
Update README.md
Modify url.
2023-05-03 23:51:30 +08:00
fengbojiang 419e3b16fe Merge branch 'preload_syscall' into dev 2023-05-03 23:25:53 +08:00
fengbojiang 3e1a3d8082 Add README.md。 2023-05-03 23:23:09 +08:00
fengbojiang 6c13a60c87 Add adapter/README.md. 2023-05-03 17:16:01 +08:00
fengbojiang 8d38554a6f Add LICENSE. 2023-05-03 17:09:29 +08:00
fengbojiang f52469fde1 move /app/micro_thread to adapter/micro_thread. 2023-05-03 17:06:40 +08:00
fengbojiang 8f5f1dfbb0 Move adapter diretcory's all file to adapter/syscall. 2023-05-03 17:04:14 +08:00
fengbojiang b64f360ebc 1. Add main_stack_epoll_kernel.c for helloworld_stack_epoll_kernel that support f-stack and kernel stack at the same time.
2. move all main_stack*.c to adapter directory.
2023-05-03 16:59:40 +08:00
fengbojiang 94d26c8a13 modify IOV_MAX to 16. 2023-05-03 12:02:19 +08:00
fengbojiang edeb90e0b5 fix an issue that close sockfd while Nginx exiting. 2023-04-28 14:48:18 +08:00
fengbojiang 3d3266071c Use ff_global_cfg.dpdk.pkt_tx_delay to delay ff_handle_each_context to
improve the performance of nginx.
2023-04-28 12:26:11 +08:00
fengbojiang 1b25a84cc6 Fix waring. 2023-04-27 20:47:43 +08:00
fengbojiang 85173ced83 try reduce the number of call ff_linux_epoll_wait(). 2023-04-27 20:41:54 +08:00
fengbojiang 8ae79cd438 support mutli ff_so_zones. 2023-04-27 18:34:44 +08:00
fengbojiang 3240dd0dad Add FF_MULTI_SC macro definition to support some special application scenarios, let the child process worker inherit the specified sc.
Like Nginx with reuseport.
  Parent process socket/bind/listen multi sockets, and use them in different child process worker.

  All child process workers must be forked by the same process, scilicet:
    support master fork child1, [child1 fork child2], chilid2 fork worker1/worker2/worker3...
    But not support master fork worker1, worker fork worker2, worker2 fork worker3...

2. modify some log.
2023-04-27 17:24:32 +08:00
fengbojiang f98fd1a615 Don't free the memory malloc with rte_malloc in more socket API to
improve proformance, such as ff_hook_writev(), ff_hook_ioctl(), ff_hook_setsockopt(), etc.

But there are some others socket API not support this now, such as
ff_hook_recvmsg(), ff_hook_readv(), ff_hook_sendmsg, because it not be
used now, and do it is relatively troublesome, So If you need call them
very frequently, maybe you should support it, and can see
ff_hook_writev().

Now it will cause memory lead, need to fix it later.
2023-04-26 15:29:15 +08:00
fengbojiang a791578c8a Fix the issue that memory leak in ff_hook_ioctl and ff_hook_getsockopt. 2023-04-25 15:01:22 +08:00
fengbojiang 77d7051991 Nginx can basic work with libff_syscall.so without any code modify now.
1. Add FF_KERNEL_EVENT argument, default disable. If enable FF_KERNEL_EVENT, epoll_create/epoll_clt/epoll_wait always call f-stack and system API at the same time. Use for some scenarios similar to Nginx. And F-Stack's kern.maxfiles value shoudn't > 65536.
2. Fix the issue that abs_timeout possibly is negative numbers.
3. If timeout < 0, such as -1, ff_hook_epoll_wait will run loop always until return some events.
3. Add some log.
2023-04-25 11:59:10 +08:00
fengbojiang ac0321e70e Add refcoount in sc for fork and detach. 2023-04-23 11:32:33 +08:00
fengbojiang dd7dc378ef opt code. 2023-04-23 10:51:56 +08:00
fengbojiang cf587718c2 set cpu affinity in main_stack_thread_socket.c. 2023-04-19 13:54:10 +08:00
fengbojiang 3cd0ab86b6 1. Reduce the number of locks with dirty read first, and then try to lock sc and real read. QPS:360k -> 380k.
2. memory alignment. QPS:380k -> 400k.
2023-04-14 14:37:15 +08:00
fengbojiang 4af5a643fb 1. Fixed some issue that sem_timewait and sem_post.
2. Modify timeout of epoll_wait/kevent from 100us to 100ms by default.
3. set cpu affinity in main_stack_epoll_thread socket.
2023-04-13 19:27:57 +08:00
fengbojiang d3fabc9cef some opt. 2023-04-13 19:05:46 +08:00
fengbojiang e45925dd79 Don't free the memory malloc with rte_malloc in most commonly used socket API, to improve proformance.
The performance of single instance from 200,000 QPS improve to 260,000QPS.
NOTE:May cause memory leak.
2023-04-12 18:57:59 +08:00
fengbojiang dfb462caa7 Save the event num kevent or epoll_wait returned, Use for burst process event in one F-Stack loop to improve performance.
The performance of single instance improve from 4500 QPS to 200, 000
QPS.
2023-04-12 18:55:27 +08:00
fengbojiang f85c52e341 Don't sleep while no event triggerd in demo. 2023-04-12 17:49:16 +08:00
fengbojiang 2471d2560c Modify some log. 2023-04-12 17:48:39 +08:00
fengbojiang 739ea21764 Add some log. 2023-04-12 12:03:34 +08:00
fengbojiang 03b606ff9b Support timeout is NULL or 0 in libffsyscall.so.
And support it in main_stack.c.
2023-04-12 12:00:53 +08:00