summaryrefslogtreecommitdiffstats
path: root/staging_vespalib
Commit message (Collapse)AuthorAgeFilesLines
* Reduce exposure of internal details to reduce number of includes.Henning Baldersheim2021-06-301-1/+0
|
* Include cassert when needed.Tor Egge2021-06-041-0/+1
|
* Add DistributorStripe thread pool with thread park/unpark supportTor Brede Vekterli2021-04-291-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 Egge2021-04-281-2/+2
|
* Avoid using slow std::string and std::ifstream, just use asciistream.Henning Baldersheim2021-03-191-7/+4
|
* Remove duplicate headersJon Bratseth2021-03-181-1/+0
|
* Add copyright headersJon Bratseth2021-03-181-0/+1
|
* Ensure NameCollection can not be copiedHenning Baldersheim2021-03-184-17/+12
|
* Avoid std::istringstream construction as it is extremely costly. Use ↵Henning Baldersheim2021-03-181-17/+15
| | | | lightweight vespalib::asciistream and stringref.
* string.h does not need alloc.hHenning Baldersheim2021-02-216-2/+7
|
* use size literals in vespalibArne Juul2021-02-154-10/+14
|
* Less asserts in header files.Henning Baldersheim2021-02-131-0/+1
|
* Use vespalib::duration for timeoutsHenning Baldersheim2021-01-314-7/+8
|
* Make the test deterministic by waiting for clock to tick at least once.Henning Baldersheim2021-01-071-1/+10
|
* Waiting 1s should be sufficientHenning Baldersheim2021-01-071-2/+2
|
* Add explorer for the ExecutorThreadingService used in a document database.Geir Storli2020-12-156-2/+24
|
* Eliminate inlining warnings.Tor Egge2020-12-041-0/+3
|
* Make it compatible with c++2aHenning Baldersheim2020-12-022-2/+2
|
* Name the threads so it is easier to see who is doing what.Henning Baldersheim2020-11-127-19/+29
|
* Removed unused IFieldBase of Serializer/Deserializer interface.Henning Baldersheim2020-11-0917-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 Baldersheim2020-11-071-1/+1
|
* GC unuse code and use std::mutex/std:condition_variable over vespalib::MonitorHenning Baldersheim2020-10-141-7/+8
|
* Use std::mutex/std::condition_variable over vespalib::MonitorHenning Baldersheim2020-10-142-20/+15
|
* - GC the last usages of vespalib::Lock.Henning Baldersheim2020-10-082-6/+5
| | | | - Now it is only vespalib::Monitor left
* Use std::mutex for the hash lockHenning Baldersheim2020-10-082-20/+27
|
* Use std::mutexHenning Baldersheim2020-10-0815-183/+33
|
* Add default constructor.Henning Baldersheim2020-10-081-3/+4
|
* mutex must be mutable to be used in const method.Henning Baldersheim2020-10-071-2/+2
|
* - GC unused code.Henning Baldersheim2020-10-073-12/+5
| | | | - vespalib::Lock -> std::mutex
* Remove broken copy and move constructor and assignment operatoos on ↵Henning Baldersheim2020-10-072-1/+2
| | | | | | vespalib::Lock and vespalib::Monitor. Also repair broken usages of the same.
* Add noexcept as indicated by -WnoeexceptHenning Baldersheim2020-10-078-24/+20
|
* Use noexcept as advise by gcc -WnoexceptHenning Baldersheim2020-10-063-14/+10
|
* Add wakeup call on the executors to allow to urgent wakeup of lazy exeutors ↵Henning Baldersheim2020-10-036-13/+33
| | | | optimized for throughput.
* Use an allocator that automagically allocates large buffer by using mmap.Henning Baldersheim2020-08-311-0/+1
|
* ChildProc -> ChildProcessArne Juul2020-07-171-2/+2
|
* rename SlaveProc -> ChildProcArne Juul2020-07-171-2/+2
|
* Use EXTERNAL_DEPENDS for external dependencies.Tor Egge2020-07-071-0/+1
|
* avoid naked exitArne Juul2020-07-031-1/+2
|
* use appropriate lockHåvard Pettersen2020-07-021-1/+1
|
* use event barrier for syncHåvard Pettersen2020-07-022-49/+68
|
* improve syncHåvard Pettersen2020-07-022-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 Baldersheim2020-06-269-50/+60
|
* Run prepare step of two-phase puts in the shared executor instead of the ↵Geir Storli2020-06-251-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 Baldersheim2020-06-251-6/+2
|
* Let the executor create an executor id to its liking.Henning Baldersheim2020-06-257-16/+27
| | | | Taske full advantage over strands instead of being limited to threads.
* Reduce from warning to infoHenning Baldersheim2020-05-131-1/+1
|
* /proc/self/smaps is linux specific.Tor Egge2020-04-211-0/+4
|
* Disable some unit tests on Darwin.Tor Egge2020-04-141-2/+7
|
* Add control for kind_of_watermark and reaction time.Henning Baldersheim2020-04-065-8/+44
|
* Fix format string in SequencedTaskExecutor benchmark.Tor Egge2020-04-061-1/+2
|