diff options
author | Rickard Green <[email protected]> | 2010-10-19 14:31:31 +0200 |
---|---|---|
committer | Rickard Green <[email protected]> | 2010-11-02 13:39:50 +0100 |
commit | 9fb85488909f45d65409f3d8158398f6ad3bbbf2 (patch) | |
tree | 76b47deac61cda333bb94babb23cf90cb98d34bd /erts/emulator/beam/dist.h | |
parent | 158ed71a5ddc5050809723a214a8d8c841022871 (diff) | |
download | otp-9fb85488909f45d65409f3d8158398f6ad3bbbf2.tar.gz otp-9fb85488909f45d65409f3d8158398f6ad3bbbf2.tar.bz2 otp-9fb85488909f45d65409f3d8158398f6ad3bbbf2.zip |
Be less eager to set dist entry in busy state
The runtime system is now less eager to suspend
processes sending messages over the distribution. The
default value of the distribution buffer busy limit
has also been increased from 128 KB to 1 MB. This in
order to improve throughput.
Diffstat (limited to 'erts/emulator/beam/dist.h')
-rw-r--r-- | erts/emulator/beam/dist.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/erts/emulator/beam/dist.h b/erts/emulator/beam/dist.h index 28cdd05c3c..64caf34550 100644 --- a/erts/emulator/beam/dist.h +++ b/erts/emulator/beam/dist.h @@ -99,7 +99,7 @@ typedef struct { #define ERTS_DE_IS_CONNECTED(DEP) \ (!ERTS_DE_IS_NOT_CONNECTED((DEP))) -#define ERTS_DE_BUSY_LIMIT (128*1024) +#define ERTS_DE_BUSY_LIMIT (1024*1024) extern int erts_dist_buf_busy_limit; extern int erts_is_alive; @@ -154,10 +154,10 @@ erts_dsig_prepare(ErtsDSigData *dsdp, } if (no_suspend) { failure = ERTS_DSIG_PREP_CONNECTED; - erts_smp_spin_lock(&dep->qlock); + erts_smp_mtx_lock(&dep->qlock); if (dep->qflgs & ERTS_DE_QFLG_BUSY) failure = ERTS_DSIG_PREP_WOULD_SUSPEND; - erts_smp_spin_unlock(&dep->qlock); + erts_smp_mtx_unlock(&dep->qlock); if (failure == ERTS_DSIG_PREP_WOULD_SUSPEND) goto fail; } |