Start filesystem_monitor and fix irq_affinity on orins

Makes it so that the image_logger will stop logging when there is
relatively little space remaining.

Change-Id: I6b1482cf6c0600bcdc03657696e16e1ac8988f0f
Signed-off-by: James Kuszmaul <jabukuszmaul+collab@gmail.com>
diff --git a/aos/starter/irq_affinity.cc b/aos/starter/irq_affinity.cc
index 8b6bb2a..a188127 100644
--- a/aos/starter/irq_affinity.cc
+++ b/aos/starter/irq_affinity.cc
@@ -109,7 +109,7 @@
     }
   }
 
-  void ConfigurePid(pid_t pid) const {
+  void ConfigurePid(pid_t pid, std::string_view name) const {
     struct sched_param param;
     param.sched_priority = priority;
     int new_scheduler;
@@ -126,7 +126,11 @@
       default:
         LOG(FATAL) << "Unknown scheduler";
     }
-    PCHECK(sched_setscheduler(pid, new_scheduler, &param) == 0);
+    PCHECK(sched_setscheduler(pid, new_scheduler, &param) == 0)
+        << ", Failed to set " << name << "(" << pid << ") to "
+        << (new_scheduler == SCHED_OTHER
+                ? "SCHED_OTHER"
+                : (new_scheduler == SCHED_RR ? "SCHED_RR" : "SCHED_FIFO"));
 
     if (scheduler == starter::Scheduler::SCHEDULER_OTHER && nice.has_value()) {
       PCHECK(setpriority(PRIO_PROCESS, pid, *nice) == 0)
@@ -172,14 +176,14 @@
         if (reading.second.kthread) {
           for (const ParsedKThreadConfig &match : kthreads_) {
             if (match.Matches(reading.second.name)) {
-              match.ConfigurePid(reading.first);
+              match.ConfigurePid(reading.first, reading.second.name);
               break;
             }
           }
         } else {
           for (const ParsedKThreadConfig &match : threads_) {
             if (match.Matches(reading.second.name)) {
-              match.ConfigurePid(reading.first);
+              match.ConfigurePid(reading.first, reading.second.name);
               break;
             }
           }