@@ -14,7 +14,9 @@ iolim() { IOLIM=$1; }
14
14
dojlink () {
15
15
local JDK=$1
16
16
rm -rf jdk
17
- $JDK /bin/jlink --bind-services --output jdk --module-path $JDK /jmods --add-modules java.base,jdk.unsupported,java.sql
17
+ MODS=java.base,jdk.unsupported,java.sql
18
+ [ -f $JDK /jmods/jdk.crac.jmod ] && MODS+=" ,jdk.crac"
19
+ $JDK /bin/jlink --bind-services --output jdk --module-path $JDK /jmods --add-modules $MODS
18
20
# XXX
19
21
cp $JDK /lib/criu jdk/lib/
20
22
}
@@ -40,9 +42,11 @@ s01_build() {
40
42
41
43
s02_start_checkpoint () {
42
44
docker run \
45
+ --ulimit nofile=1024 \
43
46
--privileged \
44
47
--rm \
45
48
--name crac-checkpoint \
49
+ -m 512m \
46
50
-v $PWD /aws-lambda-rie:/aws-lambda-rie \
47
51
-v $PWD /cr:/cr \
48
52
-p 8080:8080 \
@@ -97,11 +101,11 @@ local_test() {
97
101
s05_local_restore () {
98
102
local_test \
99
103
crac-lambda-restore \
100
- /aws-lambda-rie /bin/bash /restore.cmd.sh
104
+ /aws-lambda-rie /jdk/ bin/java -XX:CRaCRestoreFrom=/cr
101
105
}
102
106
103
107
local_baseline () {
104
- local_test crac-lambda-checkpoint \
108
+ local_test ${1 :- crac-lambda-checkpoint} \
105
109
/aws-lambda-rie /jdk/bin/java \
106
110
-XX:-UsePerfData \
107
111
-cp /function:/function/lib/* \
@@ -116,7 +120,7 @@ ltest() {
116
120
-v /home:/home \
117
121
-v $PWD /logdir:/tmp/log \
118
122
crac-lambda-restore \
119
- / bin/bash $PWD /restore.cmd.sh
123
+ $PWD /jdk/ bin/java -XX:CRaCRestoreFrom= $PWD /cr
120
124
}
121
125
122
126
s06_init_aws () {
@@ -132,7 +136,7 @@ s06_init_aws() {
132
136
}
133
137
134
138
s07_deploy_aws () {
135
- docker tag crac-lambda-restore $REMOTEIMG
139
+ docker tag ${1 :- crac-lambda-restore} $REMOTEIMG
136
140
docker push $REMOTEIMG
137
141
138
142
local digest=$( docker inspect -f ' {{ index .RepoDigests 0 }}' $REMOTEIMG )
@@ -156,10 +160,9 @@ s08_invoke_aws() {
156
160
}
157
161
158
162
make_cold_aws () {
159
- local mem=$( aws lambda get-function-configuration --function-name $LAMBDA_NAME | jq -r ' .MemorySize' )
160
- local min=256
161
- local max=512
162
- aws lambda update-function-configuration --function-name $LAMBDA_NAME --memory-size $(( $min + (($mem + 1 ) % ($max - $min )) ))
163
+ aws lambda update-function-configuration --function-name $LAMBDA_NAME --memory-size 511
164
+ aws lambda wait function-updated --function-name $LAMBDA_NAME
165
+ aws lambda update-function-configuration --function-name $LAMBDA_NAME --memory-size 512
163
166
aws lambda wait function-updated --function-name $LAMBDA_NAME
164
167
}
165
168
@@ -169,4 +172,8 @@ steps() {
169
172
done
170
173
}
171
174
175
+ okify () {
176
+ " $@ " || true
177
+ }
178
+
172
179
" $@ "
0 commit comments