Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock().

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: <jarkao2@...>
Cc: <herbert@...>, <netdev@...>, <denys@...>
Date: Monday, August 18, 2008 - 7:54 pm

From: Jarek Poplawski <jarkao2@gmail.com>
Date: Mon, 18 Aug 2008 22:12:36 +0200


It sounds good in theory, but you cannot make this place be netdev_queue,
because multiple netdev_queue objects can point to the same qdisc.

That's why the lock isn't in netdev_queue any more, there is no longer
a 1 to 1 relationship.


Yep, and that's the lock debugging thing which is triggering now.
Likely what I'll do is simply reinstate RCU but only for the freeing
of the memory, nothing more.

This keeps everything doing destruction under RTNL as desired,
yet fixes the "we're holding lock that's being freed" problem.


If RTNL is held, we must be saving the correct lock.

Root qdisc and other aspects of qdisc configuration cannot be changing
when RTNL is held.  That is why I put RTNL assertion in
qdisc_root_lock() as this is the only valid situation where it may be
used.

-------------------- sch_generic.h --------------------
static inline spinlock_t *qdisc_root_lock(struct Qdisc *qdisc)
{
	struct Qdisc *root = qdisc_root(qdisc);

	ASSERT_RTNL();
	return qdisc_lock(root);
}
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH] pkt_sched: Destroy gen estimators under rtnl_lock()., Jarek Poplawski, (Mon Aug 11, 4:53 pm)
Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_loc..., David Miller, (Mon Aug 18, 7:54 pm)
[PATCH take 2] pkt_sched: Fix qdisc list locking, Jarek Poplawski, (Fri Aug 22, 5:27 am)
Re: [PATCH take 2] pkt_sched: Fix qdisc list locking, David Miller, (Fri Aug 22, 6:23 am)
Re: [PATCH take 2] pkt_sched: Fix qdisc list locking, Herbert Xu, (Fri Aug 22, 6:15 am)
Re: [PATCH take 2] pkt_sched: Fix qdisc list locking, David Miller, (Fri Aug 22, 6:28 am)
[PATCH] pkt_sched: Fix qdisc list locking, Jarek Poplawski, (Fri Aug 22, 4:41 am)
Re: [PATCH] pkt_sched: Fix qdisc list locking, Herbert Xu, (Fri Aug 22, 6:14 am)
Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_loc..., Stephen Hemminger, (Sun Aug 24, 7:26 pm)
Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_loc..., Stephen Hemminger, (Sun Aug 24, 8:29 pm)
Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_loc..., Stephen Hemminger, (Tue Aug 26, 8:24 am)
Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_loc..., Stephen Hemminger, (Tue Aug 26, 8:50 am)
RE: [PATCH take 2] pkt_sched: Fix qdisc_watchdog() vs. dev_d..., Duyck, Alexander H, (Mon Sep 15, 7:44 pm)
Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_loc..., Denys Fedoryshchenko, (Mon Aug 18, 2:08 am)