Repeat flush loop at timeout intervals
mnesia: Fixed bad data in table

If mnesia:cleartable/1 was called during a table_load an schema event
with delete and write of that table is sent, which caused the table
to contain the schema record instead of clearing the table.
Optimize index creation for Mnesia set tables

ETS bag tables have very poor performance on insertion if you have lots
of rows with duplicate keys, since it has to check each existing record
and make sure it's not inserting any duplicates. This can lead to some
pretty drastic slowdowns when inserting lots of rows into an Mnesia
table, IF you're introducing lots of duplicate values into an indexed
column.

As it turns out, we can fix this by switching to duplicate_bag tables
for storing Mnesia indexes on tables of type 'set', and it ultimately
makes no functional difference since we will never actually attempt to
insert any duplicate records anyway. (We would have to make some bigger
changes to make this work for Mnesia bag tables though, so that is left
as a possible enhancement for the future.)
Add 'frmptr' emulator type
Fix missing case clause for ordered_set tables

The previous commit contained a regression that would trigger a crash
when attempting to add an index to an Mnesia table of type ordered_set.
Do not treat port_set_data/port_get_data as signals
Fix possibly "not owner" error while file copy with reltool.
Make high_msgq_watermark and low_msgq_watermark generic inet options
Only verify not busy for erlang:send(Port, Msg, [nosuspend]) until scheduled
erl_interface: check if file descriptor is valid before closing
Print process memory usage info in crash dump
[observer] Update crahshdump_viewer_SUITE for R17
Merge branch 'siri/master-cuddle-with-tests'

* siri/master-cuddle-with-tests:
  [observer] Update crahshdump_viewer_SUITE for R17
Merge branch 'dgud/mnesia/schema_info_in_table/OTP-11030' into maint

* dgud/mnesia/schema_info_in_table/OTP-11030:
  mnesia: Fixed bad data in table
Merge branch 'maint'
Merge branch 'lukas/erts/win32_io_flush_hangs/OTP-11096' into maint

* lukas/erts/win32_io_flush_hangs/OTP-11096:
  Repeat flush loop at timeout intervals
Merge branch 'maint'

* maint:
  Repeat flush loop at timeout intervals
Change rwlock to rlock where possible

Having rwlock could cause high unneccesary contention on the
dist table when calling erlang:nodes() from many schedulers at
the same time.
Merge branch 'lukas/erts/nodes_rwlock_contentions/OTP-11097' into maint

* lukas/erts/nodes_rwlock_contentions/OTP-11097:
  Change rwlock to rlock where possible
Merge branch 'maint'

* maint:
  Change rwlock to rlock where possible