PROCESS_MANAGEMENT.EXE/journal=vector_quant
!
!	Patch to module RSE (SCH$QEND) ...
!		... in PROCESS_MANAGEMENT.EXE (VMS V5/V6)
!
!	w.j.m. jul 1994 (from 6.1 listing CD)
!
!	Intention of this patch:
!		Do _not_ give a vector consumer (on base priority)
!		a quantum different from other processes.
!
!	NOTE: It seems that setting bit 9 of SCH$GL_CTLFLAGS
!		(i.e. SYSGEN parameter SCH_CTLFLAGS)
!		will have the same effect as this patch (not tested!)
!
! This patch is valid for:
!	VAX/VMS 6.1
!
!
define CPB$C_VECTOR = 01
define PHD$W_QUANT = 0B0
define PCB$L_CAPABILITY = 012C
define PCB$B_PRI = 01C
define PCB$B_PRIB = 01D
!
define RSE_nonpaged_data = 06980
define VP_QUANTUM = RSE_nonpaged_data + 3E
!
define SCH$V_NO_VEC_QUANTADJ = 09
define SCH$GL_CTLFLAGS = 8000836C
!
define SCH$QEND_30$ = SCH$QEND - 0732 + 07A4
define DETECT_MARGINAL_VP_CONSUMER = SCH$QEND - 0732 + 09F3
!
set eco 101
!
verify/instr SCH$QEND - 0732 + 077C
'bbc    #CPB$C_VECTOR,w^PCB$L_CAPABILITY(r4),SCH$QEND_30$'
'jsb    DETECT_MARGINAL_VP_CONSUMER'
'bbs	#SCH$V_NO_VEC_QUANTADJ,@#SCH$GL_CTLFLAGS,SCH$QEND_30$'
'bbc	#CPB$C_VECTOR,w^PCB$L_CAPABILITY(r4),SCH$QEND_30$'
'cmpb   b^PCB$B_PRI(r4),b^PCB$B_PRIB(r4)'
'bneq   SCH$QEND_30$'
'mnegw  w^VP_QUANTUM,w^PHD$W_QUANT(r5)'
exit
!
replace/ins SCH$QEND - 0732 + 079B
'bneq   SCH$QEND_30$'
exit
'brb    SCH$QEND_30$'
exit
!
update
!
exit
