Age | Commit message (Collapse) | Author | |
---|---|---|---|
2013-02-13 | Implement erl_drv_consume_timeslice() | Rickard Green | |
2012-12-03 | Implement functionality for delaying thread progress from unmanaged threads | Rickard Green | |
2011-12-09 | driver_SUITE.erl: Fix sys info drivers | Raimo Niskanen | |
2011-11-13 | Use generic lock-free queue for async threads | Rickard Green | |
Queues used for communication between async threads and scheduler threads have been replaced with lock-free queues. Drivers using the driver_async functionality are not automatically locked to the system anymore, and can be unloaded as any dynamically linked in driver. Scheduling of ready async jobs is now also interleaved in between other jobs. Previously all ready async jobs was performed at once. | |||
2011-11-13 | Optimize memory allocation | Rickard Green | |
A number of memory allocation optimizations have been implemented. Most optimizations reduce contention caused by synchronization between threads during allocation and deallocation of memory. Most notably: * Synchronization of memory management in scheduler specific allocator instances has been rewritten to use lock-free synchronization. * Synchronization of memory management in scheduler specific pre-allocators has been rewritten to use lock-free synchronization. * The 'mseg_alloc' memory segment allocator now use scheduler specific instances instead of one instance. Apart from reducing contention this also ensures that memory allocators always create memory segments on the local NUMA node on a NUMA system. | |||
2011-05-18 | Fix driver_async_cancel() | Rickard Green | |
2009-11-20 | The R13B03 release.OTP_R13B03 | Erlang/OTP | |