On Tue, Jun 16, 2009 at 10:09:24AM +0200, Ingo Molnar wrote: > > * Frederic Weisbecker <fweisbec@xxxxxxxxx> wrote: > > > > @@ -43,11 +44,19 @@ static int full_paths; > > > static unsigned long page_size; > > > static unsigned long mmap_window = 32; > > > > > > +struct ip_chain_event { > > > + __u16 nr; > > > > Is it needed to have the nr encoded in the ip_chain? We can > > already find it by doing kernel + user. > > That's a good observation. Since we havent exposed the call-chain > bits in upstream version of the tools, we could still improve on > this a little bit. > > I think the best would be context separators which occupy a special > address in some quiet corner of the 64-bit address space. > > That way we'd have streams of u64 entries: > > ip-1 > ip-2 > CONTEXT_IRQ > ip-3 > ip-4 > CONTEXT_SYSCALL > ip-5 > ip-6 > > The following contexts IDs would be useful: > > CONTEXT_NMI > CONTEXT_HARDIRQ > CONTEXT_SOFTIRQ > CONTEXT_KERNEL > CONTEXT_USER > CONTEXT_GUEST_NMI > CONTEXT_GUEST_HARDIRQ > CONTEXT_GUEST_SOFTIRQ > CONTEXT_GUEST_KERNEL > CONTEXT_GUEST_USER > > The context IDs would occupy some rare and > unlikely-to-be-allocated-soon corner of the address space - say > startig at 0x8765432112345000. (and real RIPs would be filtered and > nudged just outside that space of a handful IDs.) > > The advantage would be that this is infinitely flexible and > extensible - any level of nesting can be expressed without having > separate fields for nr_hv_guest_irq, etc. It's also pretty fast to > parse. Indeed, nice idea! > Hm? > > Ingo -- To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html