X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=kernel%2Fvserver%2Fcvirt.c;h=fb0684f7a75e679d584607e9157f63c4a60fa06f;hb=34a75f0025b9cf803b6a88db032e6ad6950c9313;hp=48053039d2b9eb6fe47600a4440c0997ad386caa;hpb=43bc926fffd92024b46cafaf7350d669ba9ca884;p=linux-2.6.git diff --git a/kernel/vserver/cvirt.c b/kernel/vserver/cvirt.c index 48053039d..fb0684f7a 100644 --- a/kernel/vserver/cvirt.c +++ b/kernel/vserver/cvirt.c @@ -68,8 +68,9 @@ void vx_update_load(struct vx_info *vxi) uint32_t now, last, delta; unsigned int nr_running, nr_uninterruptible; unsigned int total; + unsigned long flags; - spin_lock(&vxi->cvirt.load_lock); + spin_lock_irqsave(&vxi->cvirt.load_lock, flags); now = jiffies; last = vxi->cvirt.load_last; @@ -92,7 +93,7 @@ void vx_update_load(struct vx_info *vxi) vxi->cvirt.load_last = now; out: atomic_inc(&vxi->cvirt.load_updates); - spin_unlock(&vxi->cvirt.load_lock); + spin_unlock_irqrestore(&vxi->cvirt.load_lock, flags); }