Support Linux kernel earilier version than v4.9
authorSeung-Woo Kim <sw0312.kim@samsung.com>
Tue, 15 Dec 2020 10:43:51 +0000 (19:43 +0900)
committerSeung-Woo Kim <sw0312.kim@samsung.com>
Tue, 15 Dec 2020 11:11:00 +0000 (20:11 +0900)
From Linux kernel v4.9, seq_put_decimal_ll() changes its delimiter
argument to const char * instead of char. Support older version.

Change-Id: I1e6b74aad5b536cd6aade0b8f1b74613e20309b8
Ref: v4.9 commit 75ba1d07fd6a ("seq/proc: modify seq_put_decimal_[u]ll to take a const char *, not char")
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
kernel/proc-tsm.c

index 74cc11b..82ae966 100644 (file)
@@ -128,8 +128,13 @@ static int stability_monitor_show(struct seq_file *m, void *v)
     si_meminfo(&info);
     total_ram = PAGE_TO_KB(info.totalram);
 
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)
     seq_put_decimal_ull(m, "", uptime);
     seq_put_decimal_ull(m, " ", total_ram);
+#else
+    seq_put_decimal_ull(m, 0, uptime);
+    seq_put_decimal_ull(m, ' ', total_ram);
+#endif
     seq_printf(m, "\n");
 
     for_each_process(task) {
@@ -188,6 +193,7 @@ static int stability_monitor_show(struct seq_file *m, void *v)
 
         task_unlock(task);
 
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)
         seq_put_decimal_ll(m, "", task->pid);
         seq_put_decimal_ll(m, " ", ppid);
         seq_put_decimal_ull(m, " ", cputime_to_usecs(utime + stime));
@@ -198,6 +204,18 @@ static int stability_monitor_show(struct seq_file *m, void *v)
 #else
         seq_put_decimal_ull(m, " ", 0);
 #endif
+#else  /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0) */
+        seq_put_decimal_ll(m, 0, task->pid);
+        seq_put_decimal_ll(m, ' ', ppid);
+        seq_put_decimal_ull(m, ' ', cputime_to_usecs(utime + stime));
+        seq_put_decimal_ull(m, ' ', PAGE_TO_KB(vm_rss));
+        seq_put_decimal_ll(m, ' ', open_fds);
+#ifdef CONFIG_TASK_IO_ACCOUNTING
+        seq_put_decimal_ull(m, ' ', task_ioac.read_bytes + task_ioac.write_bytes);
+#else
+        seq_put_decimal_ull(m, ' ', 0);
+#endif
+#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0) */
         seq_printf(m, "\n");
     }