The ROme OpTimistic Simulator  2.0.0
A General-Purpose Multithreaded Parallel/Distributed Simulation Platform
schedule.h
Go to the documentation of this file.
1 
26 #pragma once
27 #ifndef __KERNEL_TIME_SLICE_STRETCH
28 #define __KERNEL_TIME_SLICE_STRETCH
29 
30 #include <linux/ioctl.h>
31 
32 #define TSTRETCH_IOCTL_MAGIC 'T'
33 
34 #define UNLIKELY_FLAG 0xf0f0f0f0
35 #define RESET_FLAG 0x00000000
36 
37 #define MAX_STRETCH 3000 //this is expressed in milliseconds
38 
39 #define DELAY 1000
40 #define ENABLE if(1)
41 //#define MAX_CPUs 32
42 #define SIBLING_PGD 128 // max number of concurrent memory views (concurrent root-sim worker threads on a node)
43 #define TS_THREADS (SIBLING_PGD) //max number of concurrent HTM threads with time stretch
44 
45 
46 
47 
48 #define HTM_THREADS 16 // max number of concurrent threads rnning HTM transactions with timer stretch
49 
50 #define IOCTL_SETUP_PID _IOW(TSTRETCH_IOCTL_MAGIC, 2, unsigned long )
51 #define IOCTL_SHUTDOWN_PID _IOW(TSTRETCH_IOCTL_MAGIC, 3, unsigned long )
52 #define IOCTL_SHUTDOWN_ACK _IOW(TSTRETCH_IOCTL_MAGIC, 4, unsigned long )
53 #define IOCTL_SHUTDOWN_VIEWS _IOW(TSTRETCH_IOCTL_MAGIC, 5, unsigned long )
54 
55 #endif /* __KERNEL_TIME_SLICE_STRETCH */