aboutsummaryrefslogtreecommitdiffstats
path: root/erts
AgeCommit message (Collapse)Author
2014-02-24ose: Eliminating delays when trying to open filesRobert Paal
When opening filers on not mounted volumes the default timeout on OSE is quite big and since at startup we load something like 20 beam files this slows down startup by as much as 50 seconds.
2014-02-24ose: Remove receive in debugLukas Larsson
Sometimes scheduler 1 should go in here and it will have signals, so remove this. If needed later a check to see that fsem is used for scheduler 1 is needed.
2014-02-24ose: Update ddll interface after rebase to 17.0-rc1Lukas Larsson
Also deleted all the copy-paste stuff
2014-02-24ose: Add fair scheduling yieldsLukas Larsson
This is needed on OSs that do not do round robin scheduling of threads.
2014-02-24ose: Refactor global variables to ppdataLukas Larsson
This is needed because when starting multiple processes from the same shell command they will see the same global data if using status variables.
2014-02-24ose: Port run_erl and to_erlLukas Larsson
2014-02-24erts: Refactor common parts out of run_erl and to_erlLukas Larsson
This is in preperation for writing ose version of run_erl and to_erl
2014-02-24to_erl: Fix handshake ^R -> ^L code commentsLukas Larsson
2014-02-24ose: Create OSE applicationLukas Larsson
Create an specific OSE application that mainly contains documentation around the OSE specific part of Erlang/OTP.
2014-02-24ose: Fix check for HAVE_OSE_SPI_HLukas Larsson
2014-02-24ose: Rewrite resolve_signal API for ose driversLukas Larsson
This new API has less impact on the check_io code and also removes the callback from ErlDrvEntry. The downside is that you have to give the resolve function when creating each event. Also the mode if the resolve was removed as this mimics the win32 code and decreases complexity.
2014-02-24ose: Shutdown cleanlyLukas Larsson
2014-02-24ose: Fix starting with pm_createLukas Larsson
For some reason starting with pm_create offsets the input argument list by one, so we have to adjust them before calling erl_start.
2014-02-24ose: Update erl_assert_error after R16B03 api changeLukas Larsson
2014-02-24ose: OSE port related cleanup and fixesJonas Karlsson
Some OSE cross-chains have problems with system includes being used, so for atleast OSE specific parts we use "" instead of <>.
2014-02-24ose: efile driver updates.Jonas Karlsson
2014-02-24ose: Fix printout to stdout to not duplicate long buffersLukas Larsson
2014-02-24ose: Bugfixes to filesystem related issues.Jonas Karlsson
2014-02-24ose: Use spinlock as default heap lock mechanismJonas Karlsson
2014-02-24ose: Handle lseek() with offset beyond EOF in the file driver.Lukas Larsson
2014-02-24ose: Fix clearmake compat issueLukas Larsson
2014-02-24ose,erts: Specify name for tsd keysLukas Larsson
This simplified debugging on OSE and also limits the number of ppdata keys that are created when beam is restarted.
2014-02-24ose: Style updates onlyLukas Larsson
2014-02-24ose: Fix various build environment issuesLukas Larsson
2014-02-24erts: configure number of write_concurrency locksLukas Larsson
Make it possible to change the number of write_concurrency locks to use. This is usefull to change when you for some reason want to use more/less locks per write_concurrency ets table. eg. OSs with a limit on how many mutexes can exist at once.
2014-02-24ose: Change signal base to registered rangeLukas Larsson
2014-02-24ose: Add eh_frame_hdr section to linker fileLukas Larsson
2014-02-24ose: Add link conf for gcc 4.4.3Lukas Larsson
2014-02-24ose: Change get_envp to ose_get_ppdata for tsdLukas Larsson
There is a system limit on the number of ppdata that is available but that should not be reached, and ppdata is faster than using get_envp.
2014-02-24ose: Copied driver_int.h from unixLukas Larsson
2014-02-24ose: Add module that allows interaction with any OSE processLukas Larsson
The interface of this module is made to be as generic as possible in order for other IPC mechanisms to mimic it and allow porting of code between different os:es.
2014-02-24ose: Change start way to use arguments to beam.smp directlyLukas Larsson
The old way registered a shell command that needed to be executed. This way is more flexible as you can also use the lmconf file to set arguments there.
2014-02-24ose: lseek() to use SEEK_CURJonas Karlsson
This is needed because OSE does not use 1 for SEEK_CUR
2014-02-24ose: Extract signal numbers to common fileLukas Larsson
2014-02-24ose: Debug wait__ does receive_fsem instead of wait_fsemLukas Larsson
This is done in order to catch rogue signals
2014-02-24ose: Convert EFILE_SEEK to unistd seek for gzioLukas Larsson
This is needed because OSE does not have the same integers as unix/win32 for SEEK_ST and friends.
2014-02-24ose: Force atleast one async thread for oseLukas Larsson
This is needed because a file has to be opened and operated on in the same process at all times. Using async threads guarantee this.
2014-02-24erts: Make source file info available in lcLukas Larsson
2014-02-24ose: Add signal debugging macrosLukas Larsson
To enable just uncomment and all signals going in or out will be printed to stdout.
2014-02-24ose: Add unsetenv and update to use get_envLukas Larsson
Before get_envp was used and this caused the environment variables to not be accessible in the correct way by use debug tools.
2014-02-24Added support for ENEA OSELukas Larsson
This port has support for both non-smp and smp. It contains a new way to do io checking in which erts_poll_wait receives the payload of the polled entity. This has implications for all linked-in drivers.
2014-02-24Merge branch 'rickard/configure-defaults/OTP-11723'Rickard Green
* rickard/configure-defaults/OTP-11723: Always default to disabled floating point exceptions on Linux
2014-02-24Always default to disabled floating point exceptions on LinuxRickard Green
This since there exist unresolved stability issues in the implementation for Linux.
2014-02-24Merge branch 'egil/maps/fix-cerl-inlining'Björn-Egil Dahlberg
* egil/maps/fix-cerl-inlining: compiler: Update map_SUITE to handle inlining erts: Maps src instructions can't be literals compiler: Fix map inlining compiler: Add variable coverage of map in cerl
2014-02-24Merge branch 'rickard/assumed-cacheline-size/OTP-11742'Rickard Green
* rickard/assumed-cacheline-size/OTP-11742: Introduce configure option --with-assumed-cache-line-size=SIZE
2014-02-24Merge branch 'vinoski/ds2'Rickard Green
* vinoski/ds2: further enhancements for dirty schedulers allow optional whitespace in dirty scheduler erl options
2014-02-24further enhancements for dirty schedulersSteve Vinoski
Add support for setting the number of dirty CPU schedulers online via erlang:system_flag/2. Assuming the emulator is built with dirty schedulers enabled, the number of dirty CPU schedulers online may not be less than 1, nor greater than the number of dirty CPU schedulers available, nor greater than the number of normal schedulers online. Dirty CPU scheduler threads that are taken offline via system_flag/2 are suspended. The number of dirty CPU schedulers online may be adjusted independently of the number of normal schedulers online, but if system_flag/2 is used to set the number of normal schedulers online to a value less than the current number of normal schedulers online, the number of dirty CPU schedulers online is decreased proportionally. Likewise, if the number of normal schedulers online is increased, the number of dirty CPU schedulers online is increased proportionally. For example, if 8 normal schedulers and 4 dirty CPU schedulers are online, and system_flag/2 is called to set the number of normal schedulers online to 4, the number of dirty CPU schedulers online is also decreased by half, to 2. Subsequently setting the number of normal schedulers online back to 8 also sets the number of dirty CPU schedulers online back to 4. Augment the system_flag/2 documentation in the erlang man page to explain this relationship between schedulers_online and dirty_cpu_schedulers_online. Also ensure that all dirty CPU and I/O schedulers are suspended when multi-scheduling is blocked via system_flag/2, and brought back online when multi-scheduling is unblocked. Add Rickard Green's rewritten check_enqueue_in_prio_queue() function that inspects process state more thoroughly to determine if to enqueue it and if so on what queue, including dirty queues when appropriate. Make sure dirty NIF jobs do not trigger erlang:system_monitor long_schedule messages. Add more dirty scheduler testing to the scheduler test suite. Remove the erts_no_dirty_cpu_schedulers_online global variable, since it's no longer needed. Execute dirty NIFs on a normal scheduler thread while multi-scheduling blocking is in effect. Evacuate any dirty jobs residing in the dirty run queues over to a normal run queue when multi-scheduling is blocked. Allow dirty schedulers to execute aux work. Set the dirty run queues halt_in_progress flag when halting the normal schedulers. Change dirty scheduler numbers to a structure including both scheduler number and type, either dirty CPU or dirty I/O. Add some assertions to ensure that dirty CPU schedulers operate only on dirty CPU scheduler process flags, and the same for dirty I/O schedulers.
2014-02-24Include more applications in upgrade_SUITESiri Hansen
Many appup files are now corrected and the applications can be included in the upgrade suite.
2014-02-24Start all non-core applications as temporary in upgrade_SUITESiri Hansen
2014-02-24Allow config to point out old releases in upgrade_SUITESiri Hansen
This suite was earlier only possible to run on linux hosts in the OTP test lab. Now a ct config file can be used to point out the two last major releases, e.g. like this: {otp_releases,[{r16,"/path/to/r16/bin/erl"}, {'17',"/path/to/17/bin/erl"}]}. Until OTP 17.0 is really released, the entry named '17' may well be left out, causing the test case upgrade_SUITE:minor to be skipped.