Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Merge pull request #20800 from ↵ | Henning Baldersheim | 2022-01-15 | 5 | -15/+62 |
|\ | | | | | | | | | vespa-engine/balder/add-an-interface-that-can-accept-a-tasklist Add an interface that can post a list of task instead of only one at … | ||||
| * | Add an interface that can post a list of task instead of only one at a time. | Henning Baldersheim | 2022-01-13 | 5 | -15/+62 |
| | | | | | | | | | | Intention is to make it cheaper to post many small tasks. It requires that the implementation adds support if it find it worthwhile. | ||||
* | | Use else instead of initializing to 0 | Henning Baldersheim | 2022-01-13 | 1 | -1/+3 |
| | | |||||
* | | Differentiate between numTasks called when holding lock and not. | Henning Baldersheim | 2022-01-13 | 2 | -11/+22 |
| | | |||||
* | | - Add support for using an unbound Q -> nonblocking. | Henning Baldersheim | 2022-01-13 | 4 | -24/+101 |
|/ | | | | | - It uses a synchronized overflow Q if the main Q is full. - Long term it is the intention that the blocking option will be removed. | ||||
* | Add noexcept specifiers. | Tor Egge | 2021-12-11 | 1 | -1/+1 |
| | |||||
* | Merge pull request #20438 from ↵ | Henning Baldersheim | 2021-12-09 | 1 | -2/+1 |
|\ | | | | | | | | | vespa-engine/balder/add-init_fun-to-vespalib_Thread-too Add init_fun to vespalib::Thread too to figure out what the thread is… | ||||
| * | Add init_fun to vespalib::Thread too to figure out what the thread is used for. | Henning Baldersheim | 2021-12-09 | 1 | -2/+1 |
| | | |||||
* | | Reduce watermark from 50% to 10% to get faster reaction. | Henning Baldersheim | 2021-12-09 | 1 | -1/+1 |
|/ | |||||
* | Compute watermarkRatio once | Henning Baldersheim | 2021-12-06 | 2 | -4/+5 |
| | |||||
* | Add testing of watermark and change it to have the ration to the taskLimit as | Henning Baldersheim | 2021-12-06 | 3 | -7/+15 |
| | | | | it had on initial construction time. | ||||
* | Round up to a power of 2 AFTER you have capped tasklimit. | Henning Baldersheim | 2021-12-06 | 1 | -1/+1 |
| | |||||
* | Modify test to trigger the case where watermark would prevent correct power ↵ | Henning Baldersheim | 2021-12-06 | 1 | -13/+15 |
| | | | | of 2 task limit when reducing below watermark. | ||||
* | Only issue wakeup if there is a good reason too. | Henning Baldersheim | 2021-12-03 | 1 | -1/+3 |
| | |||||
* | GC unused code. | Henning Baldersheim | 2021-12-02 | 1 | -8/+0 |
| | |||||
* | - Use the wakeupservice as main source for frequent regular wakeups. | Henning Baldersheim | 2021-12-02 | 3 | -10/+35 |
| | | | | | - Keep a self wakeup of 100ms - Avoid using default arguments to be able to find callsite. | ||||
* | Add a wakeup service | Henning Baldersheim | 2021-11-29 | 1 | -2/+2 |
| | |||||
* | Remove the need for Syncable | Henning Baldersheim | 2021-11-26 | 2 | -2/+3 |
| | |||||
* | vespalib::SequencedTaskExecutor uses std::optional. Add needed include. | Tor Egge | 2021-11-17 | 1 | -0/+1 |
| | |||||
* | Rename test to reflect current behaviour | Henning Baldersheim | 2021-11-16 | 1 | -1/+1 |
| | |||||
* | Use std::optional instead of separate class. | Henning Baldersheim | 2021-11-16 | 2 | -16/+6 |
| | |||||
* | Address both thread safety in regards to visibility of updates and race for ↵ | Henning Baldersheim | 2021-11-15 | 2 | -31/+51 |
| | | | | the last spots. | ||||
* | If we lost the race for the last spots we need to use the second option. | Henning Baldersheim | 2021-11-14 | 1 | -3/+9 |
| | |||||
* | Add a fixed size table of 8 * num_exutors with 16 bit entries. Use this for ↵ | Henning Baldersheim | 2021-11-13 | 3 | -32/+68 |
| | | | | | | | | mapping the first components exact. With more components than 8x we fall abck to to using shrunk id of 8 bits as before. This enables perfect distribution for the first 8x and then 'good enough' for the rest. The more there are the less impact of imperfect distribution will be. | ||||
* | Test the distribution we get with 8 attributes and 4/8 threads. | Henning Baldersheim | 2021-11-10 | 1 | -0/+24 |
| | |||||
* | Let default watermark be at 50% instead of 10%. | Henning Baldersheim | 2021-11-09 | 1 | -1/+1 |
| | | | | That will favour more frequent wakeups, and should give more stable flow. | ||||
* | Use alternate executor id for push stage when sharing sequenced task executor | Tor Egge | 2021-11-08 | 2 | -0/+18 |
| | | | | with invert stage. | ||||
* | Bundle fields using same executor for memory index. | Tor Egge | 2021-11-05 | 1 | -6/+6 |
| | |||||
* | Rename ISequencedTaskExecutor::sync() to sync_all(). | Tor Egge | 2021-10-28 | 12 | -34/+34 |
| | |||||
* | Update 2020 Oath copyrights. | gjoranv | 2021-10-27 | 4 | -4/+4 |
| | |||||
* | Update 2019 Oath copyrights. | gjoranv | 2021-10-27 | 2 | -2/+2 |
| | |||||
* | foreground executors are never woken up. | Henning Baldersheim | 2021-10-22 | 2 | -2/+2 |
| | |||||
* | properly set utilization | Henning Baldersheim | 2021-10-22 | 5 | -10/+10 |
| | |||||
* | Track time outside of idle loop. | Henning Baldersheim | 2021-10-22 | 1 | -2/+2 |
| | |||||
* | Rename executorCount -> threadCount | Henning Baldersheim | 2021-10-22 | 1 | -1/+1 |
| | |||||
* | Add a metric for how many times a worker in a thread pool has woken up. | Henning Baldersheim | 2021-10-22 | 7 | -11/+38 |
| | | | | Also track the idle time a worker has and add metric for the utilization. | ||||
* | Reduce to 3 tries as this is a rather expensive operation with many smaps. | Henning Baldersheim | 2021-10-20 | 1 | -1/+1 |
| | |||||
* | Silence info message by reducing it to debug. | Henning Baldersheim | 2021-10-20 | 1 | -1/+1 |
| | |||||
* | Use the ExecutorStats type directly. | Henning Baldersheim | 2021-10-19 | 7 | -17/+15 |
| | |||||
* | Update Verizon Media copyright notices. | gjoranv | 2021-10-07 | 5 | -5/+5 |
| | |||||
* | Update 2018 copyright notices. | gjoranv | 2021-10-07 | 2 | -2/+2 |
| | |||||
* | Update 2017 copyright notices. | gjoranv | 2021-10-07 | 244 | -244/+244 |
| | |||||
* | Reduce exposure of internal details to reduce number of includes. | Henning Baldersheim | 2021-06-30 | 1 | -1/+0 |
| | |||||
* | Include cassert when needed. | Tor Egge | 2021-06-04 | 1 | -0/+1 |
| | |||||
* | Add DistributorStripe thread pool with thread park/unpark support | Tor Brede Vekterli | 2021-04-29 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | | | To enable safe and well-defined access to underlying stripe data structures from the main distributor thread, the pool has functionality for "parking" and "unparking" all stripe threads: * Parking makes all threads go into a blocked holding pattern where it is guaranteed that they may not race with any other threads. * Unparking releases all threads from their holding pattern, allowing them to continue their event processing loop. Also adds a custom run loop for distributor threads that largely emulates the waiting semantics found in the current framework ticking thread pool run loop. But unlike the framework pool, there is no global mutex that must be acquired by all threads in the pool. All stripe event handling uses per-thread mutexes and condition variables. Global state is only accessed when thread parking is requested, which happens very rarely. | ||||
* | Use signed char when needed for base64 encoding. | Tor Egge | 2021-04-28 | 1 | -2/+2 |
| | |||||
* | Avoid using slow std::string and std::ifstream, just use asciistream. | Henning Baldersheim | 2021-03-19 | 1 | -7/+4 |
| | |||||
* | Remove duplicate headers | Jon Bratseth | 2021-03-18 | 1 | -1/+0 |
| | |||||
* | Add copyright headers | Jon Bratseth | 2021-03-18 | 1 | -0/+1 |
| | |||||
* | Ensure NameCollection can not be copied | Henning Baldersheim | 2021-03-18 | 4 | -17/+12 |
| |