cregit-Linux how code gets into the kernel

Release 4.18 fs/proc/uptime.c

Directory: fs/proc
// SPDX-License-Identifier: GPL-2.0
#include <linux/fs.h>
#include <linux/init.h>
#include <linux/proc_fs.h>
#include <linux/sched.h>
#include <linux/seq_file.h>
#include <linux/time.h>
#include <linux/kernel_stat.h>


static int uptime_proc_show(struct seq_file *m, void *v) { struct timespec uptime; struct timespec64 idle; u64 nsec; u32 rem; int i; nsec = 0; for_each_possible_cpu(i) nsec += (__force u64) kcpustat_cpu(i).cpustat[CPUTIME_IDLE]; get_monotonic_boottime(&uptime); idle.tv_sec = div_u64_rem(nsec, NSEC_PER_SEC, &rem); idle.tv_nsec = rem; seq_printf(m, "%lu.%02lu %lu.%02lu\n", (unsigned long) uptime.tv_sec, (uptime.tv_nsec / (NSEC_PER_SEC / 100)), (unsigned long) idle.tv_sec, (idle.tv_nsec / (NSEC_PER_SEC / 100))); return 0; }

Contributors

PersonTokensPropCommitsCommitProp
Alexey Dobriyan8362.88%327.27%
Martin Schwidefsky3022.73%327.27%
Michael Abbott118.33%19.09%
Glauber de Oliveira Costa43.03%19.09%
Frédéric Weisbecker21.52%19.09%
Deepa Dinamani10.76%19.09%
Oleg Nesterov10.76%19.09%
Total132100.00%11100.00%


static int __init proc_uptime_init(void) { proc_create_single("uptime", 0, NULL, uptime_proc_show); return 0; }

Contributors

PersonTokensPropCommitsCommitProp
Alexey Dobriyan2191.30%150.00%
Christoph Hellwig28.70%150.00%
Total23100.00%2100.00%

fs_initcall(proc_uptime_init);

Overall Contributors

PersonTokensPropCommitsCommitProp
Alexey Dobriyan12870.33%321.43%
Martin Schwidefsky3016.48%321.43%
Michael Abbott126.59%17.14%
Glauber de Oliveira Costa42.20%17.14%
Christoph Hellwig21.10%17.14%
Frédéric Weisbecker21.10%17.14%
Deepa Dinamani10.55%17.14%
Greg Kroah-Hartman10.55%17.14%
Paul Gortmaker10.55%17.14%
Oleg Nesterov10.55%17.14%
Total182100.00%14100.00%
Directory: fs/proc
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.