diff --git a/hbal.1 b/hbal.1
index 7924d65db172c32e9ca432ae81cf43f3d34604b1..829da6d0af95a81a373b058f096a92510c37cea6 100644
--- a/hbal.1
+++ b/hbal.1
@@ -28,6 +28,7 @@ Algorithm options:
 .BI "[ -e " score " ]"
 .BI "[ -O " name... " ]"
 .B "[ --no-disk-moves ]"
+.BI "[ -U " util-file " ]"
 
 .TP
 Reporting options:
@@ -113,6 +114,10 @@ offline nodes
 \(em
 coefficent of variance of the ratio of virtual-to-physical cpus (for
 primary instaces of the node)
+.TP
+\(em
+coefficients of variance of the dynamic load on the nodes, for cpus,
+memory, disk and network
 .RE
 
 The free memory and free disk values help ensure that all nodes are
@@ -142,6 +147,20 @@ instances away from offline nodes. This, coupled with the restriction
 on placement given by offline nodes, will cause evacuation of such
 nodes.
 
+The dynamic load values need to be read from an external file (Ganeti
+doesn't supply them), and are computed for each node as: sum of
+primary instance cpu load, sum of primary instance memory load, sum of
+primary and secondary instance disk load (as DRBD generates write load
+on secondary nodes too in normal case and in degraded scenarios also
+read load), and sum of primary instance network load. An example of
+how to generate these values for input to hbal would be to track "xm
+list" for instance over a day and by computing the delta of the cpu
+values, and feed that via the \fI-U\fR option for all instances (and
+keep the other metrics as zero). For the algorithm to work, all that
+is needed is that the values are consistent for a metric across all
+instances (e.g. all instances use cpu% to report cpu usage, but they
+could represent network bandwith in Gbps).
+
 On a perfectly balanced cluster (all nodes the same size, all
 instances the same size and spread across the nodes equally), all
 values would be zero. This doesn't happen too often in practice :)
@@ -337,11 +356,24 @@ empirically).
 
 .TP
 .BI "--no-disk-moves"
-This parameter prevent hbal from using disk move (i.e. "gnt-instance
+This parameter prevents hbal from using disk move (i.e. "gnt-instance
 replace-disks") operations. This will result in a much quicker
 balancing, but of course the improvements are limited. It is up to the
 user to decide when to use one or another.
 
+.TP
+.BI "-U" util-file
+This parameter specifies a file holding instance dynamic utilisation
+information that will be used to tweak the balancing algorithm to
+equalise load on the nodes (as opposed to static resource usage). The
+file is in the format "instance_name cpu_util mem_util disk_util
+net_util" where the "_util" parameters are interpreted as numbers and
+the instance name must match exactly the instance as read from
+Ganeti. In case of unknown instance names, the program will abort.
+
+If not given, the default values are zero for all metrics and thus
+dynamic utilisation has no effect on the balancing algorithm.
+
 .TP
 .BI "-n" nodefile ", --nodes=" nodefile
 The name of the file holding node information (if not collecting via