Age | Commit message (Collapse) | Author |
|
Schedulers is too restrictive. Managed threads should be
able to clean this up.
|
|
|
|
The pattern used for getting the priority from the lmconf
is based on the name of the process created. The pattern is:
ERTS_%%PROCESS_NAME%%_PRIO
with the %%PROCESS_NAME%% replaced by the prefix of the process
the priority applies to. eg:
ERTS_SCHEDULER_PRIO=24
applies to processes with name SCHEDULER_1, SCHEDULER_2 etc.
|
|
|
|
|
|
This is because it is very easy to deadlock/livelock inbetween
processes on OSE.
|
|
To enable it you have to modify the OSESSL variable in the
ose xcomp file.
|
|
Now schedulers 2..N make sure to wake sched 1 if they
find that all io has been consumed and sched 1 is
sleeping. Before sched 1 was spinning in sys_schedule
waiting for sched 2..N to finish consuming io jobs
|
|
Also removed softkernel lcf files.
|
|
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.
|
|
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.
|
|
Also deleted all the copy-paste stuff
|
|
This is needed on OSs that do not do round robin scheduling
of threads.
|
|
This is needed because when starting multiple processes
from the same shell command they will see the same
global data if using status variables.
|
|
|
|
This is in preperation for writing ose version of run_erl and to_erl
|
|
|
|
Create an specific OSE application that mainly contains documentation
around the OSE specific part of Erlang/OTP.
|
|
|
|
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.
|
|
|
|
For some reason starting with pm_create offsets the
input argument list by one, so we have to adjust them
before calling erl_start.
|
|
|
|
Some OSE cross-chains have problems with system includes
being used, so for atleast OSE specific parts we use ""
instead of <>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This simplified debugging on OSE and also limits the number of ppdata
keys that are created when beam is restarted.
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
|
|
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.
|
|
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.
|
|
This is needed because OSE does not use 1 for SEEK_CUR
|
|
|
|
This is done in order to catch rogue signals
|
|
This is needed because OSE does not have the same integers
as unix/win32 for SEEK_ST and friends.
|
|
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.
|
|
|
|
To enable just uncomment and all signals going in or out will be
printed to stdout.
|
|
Before get_envp was used and this caused the environment
variables to not be accessible in the correct way by
use debug tools.
|
|
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.
|