Skip to content

Commit eed5941

Browse files
committed
Isolate the judge to the 2nd core
1 parent 1d390c9 commit eed5941

File tree

3 files changed

+19
-10
lines changed

3 files changed

+19
-10
lines changed

icpc-wf/ansible/roles/judgedaemon/handlers/main.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,11 @@
1111
service: name=create-cgroups enabled=yes state=restarted
1212

1313
- name: enable and restart judgedaemon
14-
service: name=domjudge-judgehost enabled=yes state=restarted
14+
service:
15+
name="domjudge-judgedaemon@{{item}}"
16+
enabled=yes
17+
state=restarted
18+
with_items: "{{CPUCORE}}"
1519

1620
- name: update grub
1721
shell: update-grub

icpc-wf/ansible/roles/judgedaemon/tasks/main.yml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,8 @@
22
# These tasks configure the DOMjudge judgedaemon with chroot
33

44
- name: create domjudge-run users
5-
user: name={{item}} createhome=no home=/nonexistent group=nogroup shell=/bin/false
6-
with_items:
7-
- domjudge-run-0
8-
- domjudge-run-1
9-
- domjudge-run-2
10-
- domjudge-run-3
5+
user: name=domjudge-run-{{item}} createhome=no home=/nonexistent group=nogroup shell=/bin/false
6+
with_items: "{{CPUCORE}}"
117

128
- name: create domjudge-run group
139
group: name=domjudge-run state=present
@@ -32,16 +28,20 @@
3228
args:
3329
creates: "/chroot/domjudge"
3430

31+
- name: Pre-generate the kernel flags for ansible usage
32+
set_fact:
33+
procline: "cgroup_enable=memory swapaccount=1 isolcpus={{ CPUCORE|join(',') }}"
34+
3535
- name: add cgroup kernel parameters
3636
lineinfile:
3737
dest: /etc/default/grub
3838
regexp: '^GRUB_CMDLINE_LINUX_DEFAULT='
39-
line: 'GRUB_CMDLINE_LINUX_DEFAULT="quiet splash cgroup_enable=memory swapaccount=1"'
39+
line: "{{ procline }}"
4040

4141
- name: check cgroup kernel parameters
4242
command: cat /proc/cmdline
4343
register: kernel_cmdline
44-
changed_when: "'cgroup_enable=memory swapaccount=1' not in kernel_cmdline.stdout"
44+
changed_when: procline not in kernel_cmdline.stdout
4545
notify:
4646
- update grub
4747
- reboot
@@ -70,7 +70,7 @@
7070
dest: /etc/systemd/system/
7171
with_items:
7272
- create-cgroups
73-
- domjudge-judgehost
73+
- domjudge-judgedaemon@
7474
notify:
7575
- restart systemctl
7676
- enable and restart create-cgroups
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
CPUCORE:
2+
- 2
3+
# Add additional CPU cores to pin judgedaemons on as:
4+
# - 3
5+
# - 4

0 commit comments

Comments
 (0)