mirror of
https://github.com/systemd/systemd
synced 2024-10-06 16:21:34 +00:00
cocinelle: use GNU parallel to run spatch
spatch is single-threaded, i.e. slow. On my machine it allocates 5 GB of memory and starts swapping, which makes it even slower. Using parallel makes the whole thing pleasantly fast.
This commit is contained in:
parent
fbbe6d65b4
commit
3b253ad689
|
@ -11,11 +11,17 @@ case "$1" in
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
if ! parallel -h >/dev/null; then
|
||||||
|
echo 'Please install GNU parallel (package "parallel")'
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
for SCRIPT in ${@-$top/coccinelle/*.cocci} ; do
|
for SCRIPT in ${@-$top/coccinelle/*.cocci} ; do
|
||||||
echo "--x-- Processing $SCRIPT --x--"
|
echo "--x-- Processing $SCRIPT --x--"
|
||||||
TMPFILE=`mktemp`
|
TMPFILE=`mktemp`
|
||||||
echo "+ spatch --sp-file $SCRIPT $args ..."
|
echo "+ spatch --sp-file $SCRIPT $args ..."
|
||||||
spatch --sp-file $SCRIPT $args $files 2>"$TMPFILE" || cat "$TMPFILE"
|
parallel --halt now,fail=1 --keep-order --noswap --max-args=20 \
|
||||||
rm "$TMPFILE"
|
spatch --sp-file $SCRIPT $args ::: $files \
|
||||||
|
2>"$TMPFILE" || cat "$TMPFILE"
|
||||||
echo -e "--x-- Processed $SCRIPT --x--\n"
|
echo -e "--x-- Processed $SCRIPT --x--\n"
|
||||||
done
|
done
|
||||||
|
|
Loading…
Reference in a new issue