News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests
NB: Posting URL's See here: Posted URL Change

Main Menu

TSX/RTM

Started by aw27, May 16, 2018, 09:39:54 PM

Previous topic - Next topic

aw27

This is the RTM counterpart of the HLE published yesterday.

Unlike the HLE, for RTM you will need a TSX supported CPU or the Intel CPU emulator.

I followed closely what the TSX developer of GCC has done here:
https://github.com/andikleen/tsx-tools/blob/master/locks/spin-rtm.c
because I could not find a better example.


HLE supported
RTM supported
Thread: 0 amount: 100
Thread: 8 amount: 500
Thread: 2 amount: 200
Thread: 3 amount: 250
Thread: 4 amount: 300
Thread: 5 amount: 350
Thread: 6 amount: 400
Thread: 31 amount: 1650
Thread: 32 amount: 1700
Thread: 10 amount: 600
Thread: 34 amount: 1800
....
Thread: 2421 amount: 121150
Thread: 2606 amount: 130400
Thread: 2990 amount: 149600
Thread: 2994 amount: 149800
Thread: 1322 amount: 66200
Thread: 1817 amount: 90950
All threads terminated. Transactionals: 3000 Sums: 225225000


BTW, I found a solution for the problem of the program terminating before all threads (in last topic about TSX/HLE) being done. This demo uses that  solution.