diff options
author | Rickard Green <[email protected]> | 2015-06-17 13:32:37 +0200 |
---|---|---|
committer | Rickard Green <[email protected]> | 2015-06-17 13:32:37 +0200 |
commit | bcbc0bdd0f8e118687174c59aa8ea24bfc4b3107 (patch) | |
tree | 20f856376af65943a6a3b6a1db27079f85098fe1 /erts/emulator/beam/dist.c | |
parent | f08aaaf0d636ef987879dfb1e751e29ce80279bf (diff) | |
parent | 74f0d7c8ea47b363136c86de5d7ea78a48c40570 (diff) | |
download | otp-bcbc0bdd0f8e118687174c59aa8ea24bfc4b3107.tar.gz otp-bcbc0bdd0f8e118687174c59aa8ea24bfc4b3107.tar.bz2 otp-bcbc0bdd0f8e118687174c59aa8ea24bfc4b3107.zip |
Merge branch 'rickard/io-bytes/OTP-12842'
* rickard/io-bytes/OTP-12842:
Save IO bytes in scheduler specific data
Diffstat (limited to 'erts/emulator/beam/dist.c')
-rw-r--r-- | erts/emulator/beam/dist.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/erts/emulator/beam/dist.c b/erts/emulator/beam/dist.c index ae46174a14..1354cee267 100644 --- a/erts/emulator/beam/dist.c +++ b/erts/emulator/beam/dist.c @@ -2088,6 +2088,7 @@ erts_dist_command(Port *prt, int reds_limit) DistEntry *dep = prt->dist_entry; Uint (*send)(Port *prt, ErtsDistOutputBuf *obuf); erts_aint32_t sched_flags; + ErtsSchedulerData *esdp = erts_get_scheduler_data(); ERTS_SMP_LC_ASSERT(erts_lc_is_port_locked(prt)); @@ -2142,12 +2143,12 @@ erts_dist_command(Port *prt, int reds_limit) ErtsDistOutputBuf *fob; size = (*send)(prt, foq.first); + esdp->io.out += (Uint64) size; #ifdef ERTS_RAW_DIST_MSG_DBG erts_fprintf(stderr, ">> "); bw(foq.first->extp, size); #endif reds += ERTS_PORT_REDS_DIST_CMD_DATA(size); - erts_smp_atomic_add_nob(&erts_bytes_out, size); fob = foq.first; obufsize += size_obuf(fob); foq.first = foq.first->next; @@ -2227,12 +2228,12 @@ erts_dist_command(Port *prt, int reds_limit) ASSERT(&oq.first->data[0] <= oq.first->extp && oq.first->extp < oq.first->ext_endp); size = (*send)(prt, oq.first); + esdp->io.out += (Uint64) size; #ifdef ERTS_RAW_DIST_MSG_DBG erts_fprintf(stderr, ">> "); bw(oq.first->extp, size); #endif reds += ERTS_PORT_REDS_DIST_CMD_DATA(size); - erts_smp_atomic_add_nob(&erts_bytes_out, size); fob = oq.first; obufsize += size_obuf(fob); oq.first = oq.first->next; |