Repository navigation
Commit 9bc2e1f
committed
optimize: resume queued connects in constant time.
Replace the scan over posted connect events with a cursor pointing to
the next unposted operation. Advance it when scheduling a waiter and
when its waiter times out or is cancelled, and reset it on pool shutdown.
Keep operations on the existing wait queue until resumed. Place the
cursor after the pool's hot fields so their offsets stay unchanged,
adding eight bytes per pool on 64-bit builds.
Add regressions for closing several connections in one cycle, cancelling
a posted operation, timing out the next waiter, and appending waiters
after all existing operations have been posted.
Keepalive, preread, timeout, and HUP checks pass 454 assertions. An
isolated ASan probe verifies shutdown cleanup. Short fixed-CPU load tests
show no throughput regression against the previous implementation.
Template source: openresty/meta-lua-nginx-module@6b1be53.1 parent fb91acd commit 9bc2e1f
3 files changed
Lines changed: 232 additions & 48 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
607 | 607 | | |
608 | 608 | | |
609 | 609 | | |
| 610 | + | |
610 | 611 | | |
611 | 612 | | |
612 | 613 | | |
| |||
749 | 750 | | |
750 | 751 | | |
751 | 752 | | |
| 753 | + | |
| 754 | + | |
| 755 | + | |
| 756 | + | |
| 757 | + | |
| 758 | + | |
752 | 759 | | |
753 | 760 | | |
754 | 761 | | |
| |||
4854 | 4861 | | |
4855 | 4862 | | |
4856 | 4863 | | |
| 4864 | + | |
| 4865 | + | |
| 4866 | + | |
| 4867 | + | |
| 4868 | + | |
| 4869 | + | |
4857 | 4870 | | |
4858 | 4871 | | |
4859 | | - | |
4860 | 4872 | | |
4861 | 4873 | | |
4862 | 4874 | | |
| |||
4942 | 4954 | | |
4943 | 4955 | | |
4944 | 4956 | | |
4945 | | - | |
4946 | | - | |
4947 | | - | |
4948 | | - | |
4949 | | - | |
4950 | | - | |
4951 | | - | |
4952 | | - | |
4953 | | - | |
4954 | | - | |
4955 | | - | |
4956 | | - | |
4957 | | - | |
4958 | | - | |
4959 | | - | |
4960 | | - | |
4961 | | - | |
4962 | | - | |
4963 | | - | |
4964 | | - | |
4965 | | - | |
4966 | | - | |
4967 | | - | |
4968 | | - | |
| 4957 | + | |
4969 | 4958 | | |
4970 | 4959 | | |
4971 | 4960 | | |
4972 | 4961 | | |
| 4962 | + | |
| 4963 | + | |
| 4964 | + | |
| 4965 | + | |
| 4966 | + | |
| 4967 | + | |
4973 | 4968 | | |
4974 | 4969 | | |
4975 | 4970 | | |
| |||
5021 | 5016 | | |
5022 | 5017 | | |
5023 | 5018 | | |
5024 | | - | |
5025 | | - | |
5026 | | - | |
5027 | | - | |
5028 | | - | |
5029 | | - | |
5030 | | - | |
5031 | | - | |
5032 | | - | |
5033 | | - | |
5034 | | - | |
5035 | | - | |
5036 | | - | |
5037 | | - | |
5038 | | - | |
5039 | | - | |
5040 | | - | |
5041 | | - | |
5042 | | - | |
5043 | | - | |
5044 | | - | |
5045 | 5019 | | |
5046 | 5020 | | |
5047 | 5021 | | |
| |||
6542 | 6516 | | |
6543 | 6517 | | |
6544 | 6518 | | |
| 6519 | + | |
| 6520 | + | |
6545 | 6521 | | |
6546 | 6522 | | |
6547 | 6523 | | |
| |||
6572 | 6548 | | |
6573 | 6549 | | |
6574 | 6550 | | |
6575 | | - | |
6576 | | - | |
6577 | 6551 | | |
6578 | 6552 | | |
6579 | 6553 | | |
| |||
6989 | 6963 | | |
6990 | 6964 | | |
6991 | 6965 | | |
| 6966 | + | |
| 6967 | + | |
| 6968 | + | |
| 6969 | + | |
6992 | 6970 | | |
6993 | 6971 | | |
6994 | 6972 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
87 | 87 | | |
88 | 88 | | |
89 | 89 | | |
| 90 | + | |
| 91 | + | |
90 | 92 | | |
91 | 93 | | |
92 | 94 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2542 | 2542 | | |
2543 | 2543 | | |
2544 | 2544 | | |
| 2545 | + | |
| 2546 | + | |
| 2547 | + | |
| 2548 | + | |
| 2549 | + | |
| 2550 | + | |
| 2551 | + | |
| 2552 | + | |
| 2553 | + | |
| 2554 | + | |
| 2555 | + | |
| 2556 | + | |
| 2557 | + | |
| 2558 | + | |
| 2559 | + | |
| 2560 | + | |
| 2561 | + | |
| 2562 | + | |
| 2563 | + | |
| 2564 | + | |
| 2565 | + | |
| 2566 | + | |
| 2567 | + | |
| 2568 | + | |
| 2569 | + | |
| 2570 | + | |
| 2571 | + | |
| 2572 | + | |
| 2573 | + | |
| 2574 | + | |
| 2575 | + | |
| 2576 | + | |
| 2577 | + | |
| 2578 | + | |
| 2579 | + | |
| 2580 | + | |
| 2581 | + | |
| 2582 | + | |
| 2583 | + | |
| 2584 | + | |
| 2585 | + | |
| 2586 | + | |
| 2587 | + | |
| 2588 | + | |
| 2589 | + | |
| 2590 | + | |
| 2591 | + | |
| 2592 | + | |
| 2593 | + | |
| 2594 | + | |
| 2595 | + | |
| 2596 | + | |
| 2597 | + | |
| 2598 | + | |
| 2599 | + | |
| 2600 | + | |
| 2601 | + | |
| 2602 | + | |
| 2603 | + | |
| 2604 | + | |
| 2605 | + | |
| 2606 | + | |
| 2607 | + | |
| 2608 | + | |
| 2609 | + | |
| 2610 | + | |
| 2611 | + | |
| 2612 | + | |
| 2613 | + | |
| 2614 | + | |
| 2615 | + | |
| 2616 | + | |
| 2617 | + | |
| 2618 | + | |
| 2619 | + | |
| 2620 | + | |
| 2621 | + | |
| 2622 | + | |
| 2623 | + | |
| 2624 | + | |
| 2625 | + | |
| 2626 | + | |
| 2627 | + | |
| 2628 | + | |
| 2629 | + | |
| 2630 | + | |
| 2631 | + | |
| 2632 | + | |
| 2633 | + | |
| 2634 | + | |
| 2635 | + | |
| 2636 | + | |
| 2637 | + | |
| 2638 | + | |
| 2639 | + | |
| 2640 | + | |
| 2641 | + | |
| 2642 | + | |
| 2643 | + | |
| 2644 | + | |
| 2645 | + | |
| 2646 | + | |
| 2647 | + | |
| 2648 | + | |
| 2649 | + | |
| 2650 | + | |
| 2651 | + | |
| 2652 | + | |
| 2653 | + | |
| 2654 | + | |
| 2655 | + | |
| 2656 | + | |
| 2657 | + | |
| 2658 | + | |
| 2659 | + | |
| 2660 | + | |
| 2661 | + | |
| 2662 | + | |
| 2663 | + | |
| 2664 | + | |
| 2665 | + | |
| 2666 | + | |
| 2667 | + | |
| 2668 | + | |
| 2669 | + | |
| 2670 | + | |
| 2671 | + | |
| 2672 | + | |
| 2673 | + | |
| 2674 | + | |
| 2675 | + | |
| 2676 | + | |
| 2677 | + | |
| 2678 | + | |
| 2679 | + | |
| 2680 | + | |
| 2681 | + | |
| 2682 | + | |
| 2683 | + | |
| 2684 | + | |
| 2685 | + | |
| 2686 | + | |
| 2687 | + | |
| 2688 | + | |
| 2689 | + | |
| 2690 | + | |
| 2691 | + | |
| 2692 | + | |
| 2693 | + | |
| 2694 | + | |
| 2695 | + | |
| 2696 | + | |
| 2697 | + | |
| 2698 | + | |
| 2699 | + | |
| 2700 | + | |
| 2701 | + | |
| 2702 | + | |
| 2703 | + | |
| 2704 | + | |
| 2705 | + | |
| 2706 | + | |
| 2707 | + | |
| 2708 | + | |
| 2709 | + | |
| 2710 | + | |
| 2711 | + | |
| 2712 | + | |
| 2713 | + | |
| 2714 | + | |
| 2715 | + | |
| 2716 | + | |
| 2717 | + | |
| 2718 | + | |
| 2719 | + | |
| 2720 | + | |
| 2721 | + | |
| 2722 | + | |
| 2723 | + | |
| 2724 | + | |
| 2725 | + | |
| 2726 | + | |
| 2727 | + | |
| 2728 | + | |
| 2729 | + | |
| 2730 | + | |
| 2731 | + | |
| 2732 | + | |
| 2733 | + | |
| 2734 | + | |
| 2735 | + | |
| 2736 | + | |
| 2737 | + | |
| 2738 | + | |
| 2739 | + | |
| 2740 | + | |
| 2741 | + | |
| 2742 | + | |
| 2743 | + | |
| 2744 | + | |
| 2745 | + | |
| 2746 | + | |
| 2747 | + | |
| 2748 | + | |
0 commit comments