Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 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 |
| | |||||
* | Avoid std::istringstream construction as it is extremely costly. Use ↵ | Henning Baldersheim | 2021-03-18 | 1 | -17/+15 |
| | | | | lightweight vespalib::asciistream and stringref. | ||||
* | string.h does not need alloc.h | Henning Baldersheim | 2021-02-21 | 6 | -2/+7 |
| | |||||
* | use size literals in vespalib | Arne Juul | 2021-02-15 | 4 | -10/+14 |
| | |||||
* | Less asserts in header files. | Henning Baldersheim | 2021-02-13 | 1 | -0/+1 |
| | |||||
* | Use vespalib::duration for timeouts | Henning Baldersheim | 2021-01-31 | 4 | -7/+8 |
| | |||||
* | Make the test deterministic by waiting for clock to tick at least once. | Henning Baldersheim | 2021-01-07 | 1 | -1/+10 |
| | |||||
* | Waiting 1s should be sufficient | Henning Baldersheim | 2021-01-07 | 1 | -2/+2 |
| | |||||
* | Add explorer for the ExecutorThreadingService used in a document database. | Geir Storli | 2020-12-15 | 6 | -2/+24 |
| | |||||
* | Eliminate inlining warnings. | Tor Egge | 2020-12-04 | 1 | -0/+3 |
| | |||||
* | Make it compatible with c++2a | Henning Baldersheim | 2020-12-02 | 2 | -2/+2 |
| | |||||
* | Name the threads so it is easier to see who is doing what. | Henning Baldersheim | 2020-11-12 | 7 | -19/+29 |
| | |||||
* | Removed unused IFieldBase of Serializer/Deserializer interface. | Henning Baldersheim | 2020-11-09 | 17 | -219/+151 |
| | | | | | Many years ago there were a big plan. But it went nowehere. So let us GC it instead of lying around polluting and bloating the code. | ||||
* | No need to inherit Identifiable. | Henning Baldersheim | 2020-11-07 | 1 | -1/+1 |
| | |||||
* | GC unuse code and use std::mutex/std:condition_variable over vespalib::Monitor | Henning Baldersheim | 2020-10-14 | 1 | -7/+8 |
| | |||||
* | Use std::mutex/std::condition_variable over vespalib::Monitor | Henning Baldersheim | 2020-10-14 | 2 | -20/+15 |
| | |||||
* | - GC the last usages of vespalib::Lock. | Henning Baldersheim | 2020-10-08 | 2 | -6/+5 |
| | | | | - Now it is only vespalib::Monitor left | ||||
* | Use std::mutex for the hash lock | Henning Baldersheim | 2020-10-08 | 2 | -20/+27 |
| | |||||
* | Use std::mutex | Henning Baldersheim | 2020-10-08 | 15 | -183/+33 |
| | |||||
* | Add default constructor. | Henning Baldersheim | 2020-10-08 | 1 | -3/+4 |
| | |||||
* | mutex must be mutable to be used in const method. | Henning Baldersheim | 2020-10-07 | 1 | -2/+2 |
| | |||||
* | - GC unused code. | Henning Baldersheim | 2020-10-07 | 3 | -12/+5 |
| | | | | - vespalib::Lock -> std::mutex | ||||
* | Remove broken copy and move constructor and assignment operatoos on ↵ | Henning Baldersheim | 2020-10-07 | 2 | -1/+2 |
| | | | | | | vespalib::Lock and vespalib::Monitor. Also repair broken usages of the same. | ||||
* | Add noexcept as indicated by -Wnoeexcept | Henning Baldersheim | 2020-10-07 | 8 | -24/+20 |
| | |||||
* | Use noexcept as advise by gcc -Wnoexcept | Henning Baldersheim | 2020-10-06 | 3 | -14/+10 |
| | |||||
* | Add wakeup call on the executors to allow to urgent wakeup of lazy exeutors ↵ | Henning Baldersheim | 2020-10-03 | 6 | -13/+33 |
| | | | | optimized for throughput. | ||||
* | Use an allocator that automagically allocates large buffer by using mmap. | Henning Baldersheim | 2020-08-31 | 1 | -0/+1 |
| | |||||
* | ChildProc -> ChildProcess | Arne Juul | 2020-07-17 | 1 | -2/+2 |
| | |||||
* | rename SlaveProc -> ChildProc | Arne Juul | 2020-07-17 | 1 | -2/+2 |
| | |||||
* | Use EXTERNAL_DEPENDS for external dependencies. | Tor Egge | 2020-07-07 | 1 | -0/+1 |
| | |||||
* | avoid naked exit | Arne Juul | 2020-07-03 | 1 | -1/+2 |
| | |||||
* | use appropriate lock | Håvard Pettersen | 2020-07-02 | 1 | -1/+1 |
| | |||||
* | use event barrier for sync | Håvard Pettersen | 2020-07-02 | 2 | -49/+68 |
| | |||||
* | improve sync | Håvard Pettersen | 2020-07-02 | 2 | -26/+42 |
| | | | | | | - lock once to post all sync tasks - only post to non-idle strands - let sync tasks bypass blocking based on task limit | ||||
* | Let getExecutorId be a pure interface. | Henning Baldersheim | 2020-06-26 | 9 | -50/+60 |
| | |||||
* | Run prepare step of two-phase puts in the shared executor instead of the ↵ | Geir Storli | 2020-06-25 | 1 | -0/+31 |
| | | | | | | | | attribute field executor. Benchmarking has shown that we get an uneven balance between the underlying threads when using the attribute field executor. This is a sequenced task executor, where each underlying thread only is allowed to handle a subset of the prepare tasks (based on the local document id). Using the shared executor should give an even balance. | ||||
* | Update the test to what is important for the adaptive executor. | Henning Baldersheim | 2020-06-25 | 1 | -6/+2 |
| | |||||
* | Let the executor create an executor id to its liking. | Henning Baldersheim | 2020-06-25 | 7 | -16/+27 |
| | | | | Taske full advantage over strands instead of being limited to threads. | ||||
* | Reduce from warning to info | Henning Baldersheim | 2020-05-13 | 1 | -1/+1 |
| | |||||
* | /proc/self/smaps is linux specific. | Tor Egge | 2020-04-21 | 1 | -0/+4 |
| | |||||
* | Disable some unit tests on Darwin. | Tor Egge | 2020-04-14 | 1 | -2/+7 |
| | |||||
* | Add control for kind_of_watermark and reaction time. | Henning Baldersheim | 2020-04-06 | 5 | -8/+44 |
| | |||||
* | Fix format string in SequencedTaskExecutor benchmark. | Tor Egge | 2020-04-06 | 1 | -1/+2 |
| |