}; struct proc { struct adjslot_list asl; int pid; uid_t uid; int oomadj; struct proc *pidhash_next; }; #define PIDHASH_SZ 1024 static struct proc *pidhash[PIDHASH_SZ]; #define pid_hashfn(x) ((((x) >> 8) ^ (x)) & (PIDHASH_SZ - 1)) #define ADJTOSLOT(adj) (adj + -OOM_SCORE_ADJ_MIN) static struct adjslot_list procadjslot_list[ADJTOSLOT(OOM_SCORE_ADJ_MAX) + 1]; /* * Wait 1-2 seconds for the death report of a killed process prior to * considering killing more processes. */ #define KILL_TIMEOUT 2 /* Time of last process kill we initiated, stop me before I kill again */ static time_t kill_lasttime; /* PAGE_SIZE / 1024 */ static long page_k; static ssize_t read_all(int fd, char *buf, size_t max_len) { ssize_t ret = 0;
}; struct proc { struct adjslot_list asl; int pid; uid_t uid; int oomadj; struct proc *pidhash_next; }; #define PIDHASH_SZ 1024 static struct proc *pidhash[PIDHASH_SZ]; #define pid_hashfn(x) ((((x) >> 8) ^ (x)) & (PIDHASH_SZ - 1)) #define ADJTOSLOT(adj) (adj + -OOM_ADJUST_MIN) static struct adjslot_list procadjslot_list[ADJTOSLOT(OOM_ADJUST_MAX) + 1]; /* * Wait 1-2 seconds for the death report of a killed process prior to * considering killing more processes. */ #define KILL_TIMEOUT 2 /* Time of last process kill we initiated, stop me before I kill again */ static time_t kill_lasttime; /* PAGE_SIZE / 1024 */ static long page_k; static ssize_t read_all(int fd, char *buf, size_t max_len) { ssize_t ret = 0;