On Mon, Jan 03, 2022 at 10:19:56AM -0800, Walt Drummond wrote: > Support TTY VSTATUS character, NOKERNINFO local control bit and the > signal SIGINFO, all as in 4.3BSD. I am sorry, but this changelog text does not make any sense to me at all. It needs to be much more detailed and explain why you are doing this and what exactly it is doing as I have no idea. Also, you seem to be adding new user/kernel apis here with no documentation that I can see, nor any tests. So how is anyone supposed to use this? And finally: > --- /dev/null > +++ b/drivers/tty/tty_status.c > @@ -0,0 +1,135 @@ > +// SPDX-License-Identifier: GPL-1.0+ Please no, you know better than that, and the checkpatch tool should have warned you. > +/* > + * tty_status.c --- implements VSTATUS and TIOCSTAT from BSD4.3/4.4 > + * > + */ > + > +#include <linux/sched.h> > +#include <linux/mm.h> > +#include <linux/tty.h> > +#include <linux/sched/cputime.h> > +#include <linux/sched/loadavg.h> > +#include <linux/pid.h> > +#include <linux/slab.h> > +#include <linux/math64.h> > + > +#define MSGLEN (160 + TASK_COMM_LEN) > + > +inline unsigned long getRSSk(struct mm_struct *mm) > +{ > + if (mm == NULL) > + return 0; > + return get_mm_rss(mm) * PAGE_SIZE / 1024; > +} > + > +inline long nstoms(long l) > +{ > + l /= NSEC_PER_MSEC * 10; > + if (l < 10) > + l *= 10; > + return l; > +} > + > +inline struct task_struct *compare(struct task_struct *new, > + struct task_struct *old) > +{ > + unsigned int ostate, nstate; > + > + if (old == NULL) > + return new; > + > + ostate = task_state_index(old); > + nstate = task_state_index(new); > + > + if (ostate == nstate) { > + if (old->start_time > new->start_time) > + return old; > + return new; > + } > + > + if (ostate < nstate) > + return old; > + > + return new; > +} > + > +struct task_struct *pick_process(struct pid *pgrp) Also, always run sparse on your changes, you have loads of new global functions for no reason. thanks, greg k-h