| Anonymous | Login | Signup for a new account | 2013-06-18 07:06 CEST | ![]() |
| Main | My View | View Issues | Change Log | Roadmap |
| View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||||
| ID | Project | Category | View Status | Date Submitted | Last Update | ||||||
| 0004832 | OCaml | OCaml otherlibs | public | 2009-07-03 19:23 | 2013-06-11 18:20 | ||||||
| Reporter | mottl | ||||||||||
| Assigned To | |||||||||||
| Priority | normal | Severity | minor | Reproducibility | always | ||||||
| Status | acknowledged | Resolution | open | ||||||||
| Platform | OS | OS Version | |||||||||
| Product Version | 3.11.0 | ||||||||||
| Target Version | 4.00.2+dev | Fixed in Version | |||||||||
| Summary | 0004832: Filling bigarrays may block out runtime | ||||||||||
| Description | Though bigarray data lives on the C-heap, the bigarray fill function does not release the OCaml-lock when overwriting it. This may block out the runtime from handling signals or executing other threads. If a large bigarray is memory-mapped, this can lead to many seconds of unresponsiveness. | ||||||||||
| Tags | No tags attached. | ||||||||||
| Attached Files | |||||||||||
Notes |
|
|
(0005941) doligez (manager) 2011-05-31 16:05 |
There is a trade-off between the cost of releasing the lock (which can be too high for small bigarrays) and the latency when not releasing it (which can be too high for large bigarrays). We should probably release the lock only when the bigarray is bigger than some threshold. |
|
(0005947) mottl (reporter) 2011-05-31 18:49 |
Besides taking the size into account for determining when to release the lock, we should also check whether the bigarray was memory-mapped, in which case the lock should also be released, I think. |
|
(0009457) mottl (reporter) 2013-06-11 18:20 |
Btw., this issue also affects the "blit" bigarray function, but apparently no others besides "fill". |
Issue History |
|||
| Date Modified | Username | Field | Change |
| 2009-07-03 19:23 | mottl | New Issue | |
| 2011-05-31 16:05 | doligez | Note Added: 0005941 | |
| 2011-05-31 16:05 | doligez | Status | new => acknowledged |
| 2011-05-31 18:49 | mottl | Note Added: 0005947 | |
| 2012-06-21 20:16 | frisch | Category | OCaml general => OCaml otherlibs |
| 2012-07-11 14:24 | doligez | Target Version | => 4.01.0+dev |
| 2012-07-31 13:36 | doligez | Target Version | 4.01.0+dev => 4.00.1+dev |
| 2012-09-17 14:33 | doligez | Target Version | 4.00.1+dev => 4.00.2+dev |
| 2013-06-11 18:20 | mottl | Note Added: 0009457 | |
| Copyright © 2000 - 2011 MantisBT Group |