Convert bonding timers to workqueues
Convert bonding timers to workqueues. This converts the various monitor functions to run in periodic work queues instead of timers. This patch introduces the framework and convers the calls, but does not resolve various locking issues, and does not stand alone. Signed-off-by: Andy Gospodarek <andy@greyhouse.net> Signed-off-by: Jay Vosburgh <fubar@us.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
@@ -1375,8 +1375,10 @@ out:
|
||||
return 0;
|
||||
}
|
||||
|
||||
void bond_alb_monitor(struct bonding *bond)
|
||||
void bond_alb_monitor(struct work_struct *work)
|
||||
{
|
||||
struct bonding *bond = container_of(work, struct bonding,
|
||||
alb_work.work);
|
||||
struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond));
|
||||
struct slave *slave;
|
||||
int i;
|
||||
@@ -1479,7 +1481,7 @@ void bond_alb_monitor(struct bonding *bond)
|
||||
}
|
||||
|
||||
re_arm:
|
||||
mod_timer(&(bond_info->alb_timer), jiffies + alb_delta_in_ticks);
|
||||
queue_delayed_work(bond->wq, &bond->alb_work, alb_delta_in_ticks);
|
||||
out:
|
||||
read_unlock(&bond->lock);
|
||||
}
|
||||
|
مرجع در شماره جدید
Block a user