[rtems-schedsim commit] schedsim_smppriority_affinity: New simulator instance

Joel Sherrill joel at rtems.org
Wed May 14 14:47:38 UTC 2014


Module:    rtems-schedsim
Branch:    master
Commit:    57629d2f3260588f71311ec6aee1da16e25313a3
Changeset: http://git.rtems.org/rtems-schedsim/commit/?id=57629d2f3260588f71311ec6aee1da16e25313a3

Author:    Joel Sherrill <joel.sherrill at oarcorp.com>
Date:      Wed May 14 08:25:08 2014 -0500

schedsim_smppriority_affinity: New simulator instance

---

 schedsim/configure.ac                              |    1 +
 schedsim/rtems/Makefile.am                         |    4 ++
 schedsim/shell/Makefile.am                         |    2 +
 .../schedsim_smppriority_affinity/Makefile.am      |   50 ++++++++++++++++++++
 .../shell/schedsim_smppriority_affinity/config.c   |   18 +++++++
 5 files changed, 75 insertions(+), 0 deletions(-)

diff --git a/schedsim/configure.ac b/schedsim/configure.ac
index 727b994..91b215c 100644
--- a/schedsim/configure.ac
+++ b/schedsim/configure.ac
@@ -188,5 +188,6 @@ shell/shared/Makefile
 shell/schedsim_priority/Makefile
 shell/schedsim_smpsimple/Makefile
 shell/schedsim_smppriority/Makefile
+shell/schedsim_smppriority_affinity/Makefile
 ])
 AC_OUTPUT
diff --git a/schedsim/rtems/Makefile.am b/schedsim/rtems/Makefile.am
index ffa9b33..056bb43 100644
--- a/schedsim/rtems/Makefile.am
+++ b/schedsim/rtems/Makefile.am
@@ -251,7 +251,11 @@ librtems_a_SOURCES += $(cpukitdir)/score/src/debugisthreaddispatchingallowed.c
 librtems_a_SOURCES += $(cpukitdir)/score/src/schedulerdefaultgetaffinity.c
 librtems_a_SOURCES += $(cpukitdir)/score/src/schedulerdefaultsetaffinity.c
 librtems_a_SOURCES += $(cpukitdir)/score/src/schedulersmpvalidstatechanges.c
+librtems_a_SOURCES += $(cpukitdir)/score/src/schedulergetaffinity.c
+librtems_a_SOURCES += $(cpukitdir)/score/src/schedulerpriorityaffinitysmp.c
+librtems_a_SOURCES += $(cpukitdir)/score/src/schedulersetaffinity.c
 librtems_a_SOURCES += $(cpukitdir)/score/src/cpuset.c
+
 endif
 
 schedsim_includedir = $(includedir)/schedsim
diff --git a/schedsim/shell/Makefile.am b/schedsim/shell/Makefile.am
index 2df602d..11af9c5 100644
--- a/schedsim/shell/Makefile.am
+++ b/schedsim/shell/Makefile.am
@@ -8,6 +8,8 @@ SUBDIRS += schedsim_smpsimple
 DIST_SUBDIRS += schedsim_smpsimple
 SUBDIRS += schedsim_smppriority
 DIST_SUBDIRS += schedsim_smppriority
+SUBDIRS += schedsim_smppriority_affinity
+DIST_SUBDIRS += schedsim_smppriority_affinity
 endif
 
 include $(top_srcdir)/../automake/subdirs.am
diff --git a/schedsim/shell/schedsim_smppriority_affinity/Makefile.am b/schedsim/shell/schedsim_smppriority_affinity/Makefile.am
new file mode 100644
index 0000000..1c65cf2
--- /dev/null
+++ b/schedsim/shell/schedsim_smppriority_affinity/Makefile.am
@@ -0,0 +1,50 @@
+bin_PROGRAMS = schedsim_smppriority_affinity
+
+SOURCES  = config.c
+SOURCES += $(srcdir)/../schedsim_smpsimple/add_commands.c
+SOURCES += $(srcdir)/../schedsim_smpsimple/main_current_cpu.c
+SOURCES += $(srcdir)/../schedsim_smpsimple/main_dispatch.c
+SOURCES += $(srcdir)/../schedsim_smpsimple/main_dump_all_cpus.c
+SOURCES += $(srcdir)/../schedsim_smpsimple/main_dump_ready_tasks.c
+SOURCES += $(srcdir)/../schedsim_smpsimple/printheir_executing.c
+SOURCES += $(srcdir)/../schedsim_smpsimple/smp_stub.c
+SOURCES += $(srcdir)/../schedsim_smpsimple/wrap_thread_dispatch.c
+SOURCES += $(srcdir)/../schedsim_smpsimple/schedsim.cc
+schedsim_smppriority_affinity_SOURCES = $(SOURCES)
+
+cpukitdir=@rtems_srcdir@/cpukit
+schedsim_smppriority_affinity_CPPFLAGS  = -I$(top_builddir)/score/include
+schedsim_smppriority_affinity_CPPFLAGS += -I$(srcdir)/sched_cpu
+schedsim_smppriority_affinity_CPPFLAGS += -I$(srcdir)/../../rtems
+schedsim_smppriority_affinity_CPPFLAGS += -I$(cpukitdir)/include
+schedsim_smppriority_affinity_CPPFLAGS += -I$(cpukitdir)/score/include
+schedsim_smppriority_affinity_CPPFLAGS += -I$(cpukitdir)/score/inline
+schedsim_smppriority_affinity_CPPFLAGS += -I$(cpukitdir)/rtems/include
+schedsim_smppriority_affinity_CPPFLAGS += -I$(cpukitdir)/rtems/inline
+schedsim_smppriority_affinity_CPPFLAGS += -I$(cpukitdir)/sapi/include
+schedsim_smppriority_affinity_CPPFLAGS += -I$(cpukitdir)/sapi/inline
+schedsim_smppriority_affinity_CPPFLAGS += -I$(cpukitdir)/libcsupport/include
+schedsim_smppriority_affinity_CPPFLAGS += -I$(cpukitdir)/libmisc/stringto
+schedsim_smppriority_affinity_CPPFLAGS += -I$(srcdir)/../../rtems/sched_cpu
+schedsim_smppriority_affinity_CPPFLAGS += -I$(srcdir)/../shared/include
+schedsim_smppriority_affinity_CPPFLAGS += -I$(srcdir)/../shared
+if HAS_PTHREADS
+schedsim_smppriority_affinity_CPPFLAGS += -I$(cpukitdir)/posix/include
+schedsim_smppriority_affinity_CPPFLAGS += -I$(cpukitdir)/posix/inline
+endif
+## Ensure all linker provided symbols are available
+schedsim_smppriority_affinity_LDFLAGS = 
+schedsim_smppriority_affinity_LDFLAGS += -Wl,--defsym=_TLS_Data_begin=0
+schedsim_smppriority_affinity_LDFLAGS += -Wl,--defsym=_TLS_BSS_end=0
+schedsim_smppriority_affinity_LDFLAGS += -Wl,--defsym=_TLS_Alignment=4
+
+## Wrap _Thread_Dispatch so we can see context switches
+schedsim_smppriority_affinity_LDFLAGS +=-Wl,--wrap=_Thread_Dispatch
+
+## schedsim_smppriority_affinity_LDADD +=-Wl,--start-group
+schedsim_smppriority_affinity_LDADD = ../shared/libschedsim.a
+schedsim_smppriority_affinity_LDADD += ../../rtems/librtems.a
+schedsim_smppriority_affinity_LDADD += ../shared/libschedsim.a
+## schedsim_smppriority_affinity_LDADD +=-Wl,--end-group
+
+include $(top_srcdir)/../automake/host.am
diff --git a/schedsim/shell/schedsim_smppriority_affinity/config.c b/schedsim/shell/schedsim_smppriority_affinity/config.c
new file mode 100644
index 0000000..25395df
--- /dev/null
+++ b/schedsim/shell/schedsim_smppriority_affinity/config.c
@@ -0,0 +1,18 @@
+/**
+ * @file
+ *
+ * Configuration file for Scheduler Simulator using Priority SMP
+ */
+
+#include <rtems.h>
+
+#define CONFIGURE_INIT
+#define CONFIGURE_MAXIMUM_TASKS             1000
+#define CONFIGURE_MAXIMUM_SEMAPHORES        1000
+
+#define CONFIGURE_SMP_APPLICATION
+#define CONFIGURE_SMP_MAXIMUM_PROCESSORS 4
+#define CONFIGURE_SCHEDULER_PRIORITY_AFFINITY_SMP
+
+#define CONFIGURE_DISABLE_BSP_SETTINGS
+#include <rtems/confdefs.h>




More information about the vc mailing list