Print this page
6583 remove whole-process swapping


1093          */
1094         panic("sysdc cannot be forked");
1095 
1096         return (ENOSYS);
1097 }
1098 
1099 /*ARGSUSED*/
1100 static void
1101 sysdc_forkret(kthread_t *t, kthread_t *ct)
1102 {
1103         /* SDC threads are part of system processes, which never fork. */
1104         panic("sysdc cannot be forked");
1105 }
1106 
1107 static pri_t
1108 sysdc_globpri(kthread_t *t)
1109 {
1110         return (t->t_epri);
1111 }
1112 
1113 /*ARGSUSED*/
1114 static pri_t
1115 sysdc_no_swap(kthread_t *t, int flags)
1116 {
1117         /* SDC threads cannot be swapped. */
1118         return (-1);
1119 }
1120 
1121 /*
1122  * Get maximum and minimum priorities enjoyed by SDC threads.
1123  */
1124 static int
1125 sysdc_getclpri(pcpri_t *pcprip)
1126 {
1127         pcprip->pc_clpmax = sysdc_maxpri;
1128         pcprip->pc_clpmin = sysdc_minpri;
1129         return (0);
1130 }
1131 
1132 /*ARGSUSED*/
1133 static int
1134 sysdc_getclinfo(void *arg)
1135 {
1136         return (0);             /* no class-specific info */
1137 }
1138 
1139 /*ARGSUSED*/
1140 static int


1185                 sysdc_enosys,   /* parmsout */
1186                 sysdc_enosys,   /* vaparmsin */
1187                 sysdc_enosys,   /* vaparmsout */
1188                 sysdc_getclpri,
1189                 sysdc_alloc,
1190                 sysdc_free,
1191         },
1192         /* operations on threads */
1193         {
1194                 sysdc_enterclass,
1195                 sysdc_exitclass,
1196                 sysdc_canexit,
1197                 sysdc_fork,
1198                 sysdc_forkret,
1199                 sysdc_nullsys,  /* parmsget */
1200                 sysdc_enosys,   /* parmsset */
1201                 sysdc_nullsys,  /* stop */
1202                 sysdc_exit,
1203                 sysdc_nullsys,  /* active */
1204                 sysdc_nullsys,  /* inactive */
1205                 sysdc_no_swap,  /* swapin */
1206                 sysdc_no_swap,  /* swapout */
1207                 sysdc_nullsys,  /* trapret */
1208                 sysdc_preempt,
1209                 sysdc_setrun,
1210                 sysdc_sleep,
1211                 sysdc_tick,
1212                 sysdc_wakeup,
1213                 sysdc_einval,   /* donice */
1214                 sysdc_globpri,
1215                 sysdc_nullsys,  /* set_process_group */
1216                 sysdc_nullsys,  /* yield */
1217                 sysdc_einval,   /* doprio */
1218         }
1219 };
1220 
1221 static int
1222 sysdc_enosys()
1223 {
1224         return (ENOSYS);
1225 }
1226 




1093          */
1094         panic("sysdc cannot be forked");
1095 
1096         return (ENOSYS);
1097 }
1098 
1099 /*ARGSUSED*/
1100 static void
1101 sysdc_forkret(kthread_t *t, kthread_t *ct)
1102 {
1103         /* SDC threads are part of system processes, which never fork. */
1104         panic("sysdc cannot be forked");
1105 }
1106 
1107 static pri_t
1108 sysdc_globpri(kthread_t *t)
1109 {
1110         return (t->t_epri);
1111 }
1112 








1113 /*
1114  * Get maximum and minimum priorities enjoyed by SDC threads.
1115  */
1116 static int
1117 sysdc_getclpri(pcpri_t *pcprip)
1118 {
1119         pcprip->pc_clpmax = sysdc_maxpri;
1120         pcprip->pc_clpmin = sysdc_minpri;
1121         return (0);
1122 }
1123 
1124 /*ARGSUSED*/
1125 static int
1126 sysdc_getclinfo(void *arg)
1127 {
1128         return (0);             /* no class-specific info */
1129 }
1130 
1131 /*ARGSUSED*/
1132 static int


1177                 sysdc_enosys,   /* parmsout */
1178                 sysdc_enosys,   /* vaparmsin */
1179                 sysdc_enosys,   /* vaparmsout */
1180                 sysdc_getclpri,
1181                 sysdc_alloc,
1182                 sysdc_free,
1183         },
1184         /* operations on threads */
1185         {
1186                 sysdc_enterclass,
1187                 sysdc_exitclass,
1188                 sysdc_canexit,
1189                 sysdc_fork,
1190                 sysdc_forkret,
1191                 sysdc_nullsys,  /* parmsget */
1192                 sysdc_enosys,   /* parmsset */
1193                 sysdc_nullsys,  /* stop */
1194                 sysdc_exit,
1195                 sysdc_nullsys,  /* active */
1196                 sysdc_nullsys,  /* inactive */


1197                 sysdc_nullsys,  /* trapret */
1198                 sysdc_preempt,
1199                 sysdc_setrun,
1200                 sysdc_sleep,
1201                 sysdc_tick,
1202                 sysdc_wakeup,
1203                 sysdc_einval,   /* donice */
1204                 sysdc_globpri,
1205                 sysdc_nullsys,  /* set_process_group */
1206                 sysdc_nullsys,  /* yield */
1207                 sysdc_einval,   /* doprio */
1208         }
1209 };
1210 
1211 static int
1212 sysdc_enosys()
1213 {
1214         return (ENOSYS);
1215 }
1216