| @@ -1,14 +1,14 @@ | | | @@ -1,14 +1,14 @@ |
1 | /* $NetBSD: sys_sched.c,v 1.46 2016/07/30 15:38:17 christos Exp $ */ | | 1 | /* $NetBSD: sys_sched.c,v 1.47 2020/01/27 22:05:10 ad Exp $ */ |
2 | | | 2 | |
3 | /* | | 3 | /* |
4 | * Copyright (c) 2008, 2011 Mindaugas Rasiukevicius <rmind at NetBSD org> | | 4 | * Copyright (c) 2008, 2011 Mindaugas Rasiukevicius <rmind at NetBSD org> |
5 | * All rights reserved. | | 5 | * All rights reserved. |
6 | * | | 6 | * |
7 | * Redistribution and use in source and binary forms, with or without | | 7 | * Redistribution and use in source and binary forms, with or without |
8 | * modification, are permitted provided that the following conditions | | 8 | * modification, are permitted provided that the following conditions |
9 | * are met: | | 9 | * are met: |
10 | * 1. Redistributions of source code must retain the above copyright | | 10 | * 1. Redistributions of source code must retain the above copyright |
11 | * notice, this list of conditions and the following disclaimer. | | 11 | * notice, this list of conditions and the following disclaimer. |
12 | * 2. Redistributions in binary form must reproduce the above copyright | | 12 | * 2. Redistributions in binary form must reproduce the above copyright |
13 | * notice, this list of conditions and the following disclaimer in the | | 13 | * notice, this list of conditions and the following disclaimer in the |
14 | * documentation and/or other materials provided with the distribution. | | 14 | * documentation and/or other materials provided with the distribution. |
| @@ -28,31 +28,30 @@ | | | @@ -28,31 +28,30 @@ |
28 | | | 28 | |
29 | /* | | 29 | /* |
30 | * System calls relating to the scheduler. | | 30 | * System calls relating to the scheduler. |
31 | * | | 31 | * |
32 | * Lock order: | | 32 | * Lock order: |
33 | * | | 33 | * |
34 | * cpu_lock -> | | 34 | * cpu_lock -> |
35 | * proc_lock -> | | 35 | * proc_lock -> |
36 | * proc_t::p_lock -> | | 36 | * proc_t::p_lock -> |
37 | * lwp_t::lwp_lock | | 37 | * lwp_t::lwp_lock |
38 | * | | 38 | * |
39 | * TODO: | | 39 | * TODO: |
40 | * - Handle pthread_setschedprio() as defined by POSIX; | | 40 | * - Handle pthread_setschedprio() as defined by POSIX; |
41 | * - Handle sched_yield() case for SCHED_FIFO as defined by POSIX; | | | |
42 | */ | | 41 | */ |
43 | | | 42 | |
44 | #include <sys/cdefs.h> | | 43 | #include <sys/cdefs.h> |
45 | __KERNEL_RCSID(0, "$NetBSD: sys_sched.c,v 1.46 2016/07/30 15:38:17 christos Exp $"); | | 44 | __KERNEL_RCSID(0, "$NetBSD: sys_sched.c,v 1.47 2020/01/27 22:05:10 ad Exp $"); |
46 | | | 45 | |
47 | #include <sys/param.h> | | 46 | #include <sys/param.h> |
48 | | | 47 | |
49 | #include <sys/cpu.h> | | 48 | #include <sys/cpu.h> |
50 | #include <sys/kauth.h> | | 49 | #include <sys/kauth.h> |
51 | #include <sys/kmem.h> | | 50 | #include <sys/kmem.h> |
52 | #include <sys/lwp.h> | | 51 | #include <sys/lwp.h> |
53 | #include <sys/mutex.h> | | 52 | #include <sys/mutex.h> |
54 | #include <sys/proc.h> | | 53 | #include <sys/proc.h> |
55 | #include <sys/pset.h> | | 54 | #include <sys/pset.h> |
56 | #include <sys/sched.h> | | 55 | #include <sys/sched.h> |
57 | #include <sys/syscallargs.h> | | 56 | #include <sys/syscallargs.h> |
58 | #include <sys/sysctl.h> | | 57 | #include <sys/sysctl.h> |