|   xen-devel
[Xen-devel] Re: [patch 13/26] Xen-paravirt_ops: Consistently wrap	paravi 
| To: | Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> |  
| Subject: | [Xen-devel] Re: [patch 13/26] Xen-paravirt_ops: Consistently wrap	paravirt ops callsites to make them patchable |  
| From: | Ingo Molnar <mingo@xxxxxxx> |  
| Date: | Tue, 20 Mar 2007 18:00:25 +0100 |  
| Cc: | Zachary Amsden <zach@xxxxxxxxxx>, Jeremy Fitzhardinge <jeremy@xxxxxxxx>,	xen-devel@xxxxxxxxxxxxxxxxxxx, virtualization@xxxxxxxxxxxxxx,	netdev@xxxxxxxxxxxxxxx, Rusty Russell <rusty@xxxxxxxxxxxxxxx>,	linux-kernel@xxxxxxxxxxxxxxx, chrisw@xxxxxxxxxxxx, Andi Kleen <ak@xxxxxx>,	"Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>,	anthony@xxxxxxxxxxxxx, akpm@xxxxxxxxxxxxxxxxxxxx,	David Miller <davem@xxxxxxxxxxxxx> |  
| Delivery-date: | Tue, 20 Mar 2007 10:00:30 -0700 |  
| Envelope-to: | www-data@xxxxxxxxxxxxxxxxxx |  
| In-reply-to: | <Pine.LNX.4.64.0703200805450.6730@xxxxxxxxxxxxxxxxxxxxxxxxxx> |  
| List-help: | <mailto:xen-devel-request@lists.xensource.com?subject=help> |  
| List-id: | Xen developer discussion <xen-devel.lists.xensource.com> |  
| List-post: | <mailto:xen-devel@lists.xensource.com> |  
| List-subscribe: | <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>,	<mailto:xen-devel-request@lists.xensource.com?subject=subscribe> |  
| List-unsubscribe: | <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>,	<mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe> |  
| References: | <1174127638.8897.75.camel@xxxxxxxxxxxxxxxxxxxxx>	<20070318.003309.71088169.davem@xxxxxxxxxxxxx>	<20070318120814.GA45869@xxxxxx>	<1174272469.11680.23.camel@xxxxxxxxxxxxxxxxxxxxx>	<m1648xxf93.fsf@xxxxxxxxxxxxxxxxxxxxxxxxx>	<Pine.LNX.4.64.0703191134190.6730@xxxxxxxxxxxxxxxxxxxxxxxxxx>	<1174348905.11680.54.camel@xxxxxxxxxxxxxxxxxxxxx>	<45FF4043.4000805@xxxxxxxxxx> <45FF770C.7050301@xxxxxxxx>	<Pine.LNX.4.64.0703200805450.6730@xxxxxxxxxxxxxxxxxxxxxxxxxx> |  
| Sender: | xen-devel-bounces@xxxxxxxxxxxxxxxxxxx |  
| User-agent: | Mutt/1.4.2.2i |  
| 
* Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
> I have this dim memory that ARM has done it that way for a long time 
> because it's so expensive to do a "real" cli/sti.
> 
> And I think -rt does it for other reasons. It's just more flexible.
-rt doesnt wrap cli/sti anymore: spin_lock_irq*() doesnt disable irq 
flags on -rt, thus the amount of real irqs-off sections is very small 
and reviewable.
But nevertheless an incarnation of the code survived and is upstream 
already, in the form of TRACE_IRQFLAGS lockdep code ;) This implements a 
soft hardirq flag _today_: all that would be needed is for Xen to define 
raw_local_irq_disable() as a NOP, and to use the 
current->hardirqs_enabled as 'soft IRQ-off flag'.
Note that ->hardirqs_enabled is self-maintained, i.e. it's not just a 
stupid shadow of the hardirq flag, it's an independently maintained flag 
that does not rely on the existence of the hard flag.
[ this code even has its own debugging code, so out-of-sync-flags,
  double-off and double-on is detected and complained about. So all the 
  hard stuff has already been done as part of lockdep, and it's even 
  long-term maintainable because under a native lockdep kernel we check 
  the soft flag against the hard flag. ]
so i think a soft cli/sti flag support should be merged/unified with the 
trace_hardirqs_on()/trace_hardirqs_off() code.
        Ingo
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 | 
 
| <Prev in Thread] | Current Thread | [Next in Thread> |  | 
[Xen-devel] Re: [patch 13/26] Xen-paravirt_ops: Consistently wrap paravirt ops callsites to make them patchable, (continued)
[Xen-devel] Re: [patch 13/26] Xen-paravirt_ops: Consistently wrap paravirt ops callsites to make them patchable, Linus Torvalds
[Xen-devel] Re: [patch 13/26] Xen-paravirt_ops: Consistently wrap paravirt ops callsites to make them patchable, Jeremy Fitzhardinge
[Xen-devel] Re: [patch 13/26] Xen-paravirt_ops: Consistently wrap	paravirt ops callsites to make them patchable, Rusty Russell
[Xen-devel] Re: [patch 13/26] Xen-paravirt_ops: Consistently wrap paravirt ops callsites to make them patchable, Zachary Amsden
[Xen-devel] Re: [patch 13/26] Xen-paravirt_ops: Consistently wrap	paravirt ops callsites to make them patchable, Rusty Russell
[Xen-devel] Re: [patch 13/26] Xen-paravirt_ops: Consistently wrap paravirt ops callsites to make them patchable, Jeremy Fitzhardinge
[Xen-devel] Re: [patch 13/26] Xen-paravirt_ops: Consistently wrap	paravirt ops	callsites to make them patchable, Andreas Kleen
[Xen-devel] Re: [patch 13/26] Xen-paravirt_ops: Consistently wrap paravirt ops callsites to make them patchable, Linus Torvalds
[Xen-devel] Re: [patch 13/26] Xen-paravirt_ops: Consistently wrap	paravirt ops callsites to make them patchable,
Ingo Molnar <=
[Xen-devel] Re: [patch 13/26] Xen-paravirt_ops: Consistently wrap	paravirt ops callsites to make them patchable, Eric W. Biederman
[Xen-devel] Re: [patch 13/26] Xen-paravirt_ops: Consistently wrap paravirt ops callsites to make them patchable, Jeremy Fitzhardinge
[Xen-devel] Re: [patch 13/26] Xen-paravirt_ops: Consistently wrap	paravirt ops callsites to make them patchable, Rusty Russell
[Xen-devel] Re: [patch 13/26] Xen-paravirt_ops: Consistently wrap paravirt ops callsites to make them patchable, Linus Torvalds
[Xen-devel] Re: [patch 13/26] Xen-paravirt_ops: Consistently wrap paravirt ops callsites to make them patchable, Jeremy Fitzhardinge
[Xen-devel] Re: [patch 13/26] Xen-paravirt_ops: Consistently wrap paravirt ops callsites to make them patchable, Zachary Amsden
[Xen-devel] Re: [patch 13/26] Xen-paravirt_ops: Consistently wrap paravirt ops callsites to make them patchable, Linus Torvalds
[Xen-devel] Re: [patch 13/26] Xen-paravirt_ops: Consistently wrap paravirt ops callsites to make them patchable, Zachary Amsden
[Xen-devel] Re: [patch 13/26] Xen-paravirt_ops: Consistently wrap paravirt ops callsites to make them patchable, Linus Torvalds
[Xen-devel] Re: [patch 13/26] Xen-paravirt_ops: Consistently wrap paravirt ops callsites to make them patchable, Zachary Amsden
 |  |  |