Received: from oss.sgi.com (localhost.localdomain [127.0.0.1]) by oss.sgi.com (8.12.3/8.12.3) with ESMTP id g3BEKj8d024186 for ; Thu, 11 Apr 2002 07:20:45 -0700 Received: (from majordomo@localhost) by oss.sgi.com (8.12.3/8.12.3/Submit) id g3BEKjl3024185 for netdev-outgoing; Thu, 11 Apr 2002 07:20:45 -0700 X-Authentication-Warning: oss.sgi.com: majordomo set sender to owner-netdev@oss.sgi.com using -f Received: from luxik.cdi.cz (root@inway106.cdi.cz [213.151.81.106]) by oss.sgi.com (8.12.3/8.12.3) with SMTP id g3BEKe8d024181 for ; Thu, 11 Apr 2002 07:20:41 -0700 Received: from localhost ([127.0.0.1] ident=devik) by luxik.cdi.cz with esmtp (Exim 3.34 #3) id 16vepO-0003Of-00; Thu, 11 Apr 2002 15:41:30 +0200 Date: Thu, 11 Apr 2002 15:41:30 +0200 (CEST) From: Martin Devera To: jamal cc: netdev@oss.sgi.com, kuznet@ms2.inr.ac.ru Subject: Re: QoS _put, _get and _delete class ops semantic In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-netdev@oss.sgi.com Precedence: bulk Content-Length: 979 Lines: 27 > > Unfortunately there is delete class op which seems to do > > almost the same as put. > > Do you know rationale behind it ? Why we have both put > > and delete and what tc framework expect from qdisc ? > > Alexey can give a better answer. probably he could step in here ;) > Typically put() is the backup for delete. Should delete fail > to destroy because of reference counts being non-zero, put will catch it. So that if I understand it correctly: delete can only assure that class is "invisible" from now to subsequent gets/walks and other uses and leave actual destroy to the last put. Do you think that it is reasonable ? > CBQ is an easier scheduler to see this. For a fun one look at the ATM > scheduler. I looked at them but I hate to blindly copy-n-paste code without in-depth knowledge of interface's expectation. Especially when yesterday (after year of flawless operation) someone made my code oops during class deletion under high load ;-\ thanks, Martin