All of lore.kernel.org
 help / color / mirror / Atom feed
* xenbus api
@ 2006-06-15  8:30 Fabien Hermenier
  2006-06-15 21:01 ` Anthony Liguori
  0 siblings, 1 reply; 3+ messages in thread
From: Fabien Hermenier @ 2006-06-15  8:30 UTC (permalink / raw)
  To: Xen-devel

Hello
I have a lot of problem using the xenbus api (in xen-3.0-testing).

I had to modify the network backend driver (file netback.c), and each
call to a xenbus function in a virtual machine make my machine reboot
(not the virtual, the real machine).

for example, I 've add this line of code (wich is useless):
	printk("%d",xenbus_exists(XBT_NULL,"/local/domain/0/","domid"));
after a network packet reception.

When I launch my virtual machine, the station reboot after the virtual
machine console log is stopped after this block:

TCP: Hash tables configured (established 8192 bind 8192)
NET: Registered protocol family 1
NET: Registered protocol family 17

What do I wrong ? Could I use the xenbus API in the backend (I have same
problem in the frontend) ? Any tips/advice would be appreciate

Regards.
Fabien

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: xenbus api
  2006-06-15  8:30 xenbus api Fabien Hermenier
@ 2006-06-15 21:01 ` Anthony Liguori
  2006-06-20 12:22   ` Fabien Hermenier
  0 siblings, 1 reply; 3+ messages in thread
From: Anthony Liguori @ 2006-06-15 21:01 UTC (permalink / raw)
  To: Fabien Hermenier; +Cc: Xen-devel

You have to provide more context than that.  If you're domain boots at 
all, XenBus is working.

It's likely that you're using the XenBus API (which may block) while 
holding a lock in the network driver and causing a nasty dead lock of 
some sort.

Regards,

Anthony Liguori

Fabien Hermenier wrote:
> Hello
> I have a lot of problem using the xenbus api (in xen-3.0-testing).
>
> I had to modify the network backend driver (file netback.c), and each
> call to a xenbus function in a virtual machine make my machine reboot
> (not the virtual, the real machine).
>
> for example, I 've add this line of code (wich is useless):
> 	printk("%d",xenbus_exists(XBT_NULL,"/local/domain/0/","domid"));
> after a network packet reception.
>
> When I launch my virtual machine, the station reboot after the virtual
> machine console log is stopped after this block:
>
> TCP: Hash tables configured (established 8192 bind 8192)
> NET: Registered protocol family 1
> NET: Registered protocol family 17
>
> What do I wrong ? Could I use the xenbus API in the backend (I have same
> problem in the frontend) ? Any tips/advice would be appreciate
>
> Regards.
> Fabien
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel
>   

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: xenbus api
  2006-06-15 21:01 ` Anthony Liguori
@ 2006-06-20 12:22   ` Fabien Hermenier
  0 siblings, 0 replies; 3+ messages in thread
From: Fabien Hermenier @ 2006-06-20 12:22 UTC (permalink / raw)
  To: xen-devel

Hello
I think your right. I've got the same problem if I write the same code
in the netfront.

But this time I can show you the call trace

The call trace:
scheduling while atomic: swapper/0x00000100/1
 [<c0105b23>] show_trace+0x13/0x20
 [<c0105b4e>] dump_stack+0x1e/0x20
 [<c02c54f6>] schedule+0x766/0x860
 [<c0253005>] read_reply+0xe5/0x120
 [<c02530eb>] xs_talkv+0xab/0x1a0
 [<c02534b0>] xs_single+0x40/0x50
 [<c0253593>] xenbus_read+0x33/0x50
 [<c0257277>] xenbus_update_statistics+0x37/0x70 <--- my function
 [<c02597c4>] network_start_xmit+0x214/0x3f0
 [<c0274caf>] qdisc_restart+0x6f/0x280
 [<c0269d6f>] dev_queue_xmit+0x14f/0x3a0
 [<c0257330>] send_fake_arp+0x80/0x90
 [<c0257366>] inetdev_notify+0x26/0x30
 [<c012b7fd>] notifier_call_chain+0x2d/0x50
 [<c02a3d03>] inet_insert_ifa+0xe3/0x170
 [<c02a45bf>] devinet_ioctl+0x37f/0x6a9
 [<c0362e09>] ic_dev_ioctl+0x29/0x40
 [<c0363258>] ip_auto_config+0x3a8/0x84f
 [<c0102186>] init+0x116/0x3e0
 [<c0102c55>] kernel_thread_helper+0x5/0x10

Thanks for helping
Fabien.

Le jeudi 15 juin 2006 à 16:01 -0500, Anthony Liguori a écrit :
> You have to provide more context than that.  If you're domain boots at 
> all, XenBus is working.
> 
> It's likely that you're using the XenBus API (which may block) while 
> holding a lock in the network driver and causing a nasty dead lock of 
> some sort.
> 
> Regards,
> 
> Anthony Liguori
> 
> Fabien Hermenier wrote:
> > Hello
> > I have a lot of problem using the xenbus api (in xen-3.0-testing).
> >
> > I had to modify the network backend driver (file netback.c), and each
> > call to a xenbus function in a virtual machine make my machine reboot
> > (not the virtual, the real machine).
> >
> > for example, I 've add this line of code (wich is useless):
> > 	printk("%d",xenbus_exists(XBT_NULL,"/local/domain/0/","domid"));
> > after a network packet reception.
> >
> > When I launch my virtual machine, the station reboot after the virtual
> > machine console log is stopped after this block:
> >
> > TCP: Hash tables configured (established 8192 bind 8192)
> > NET: Registered protocol family 1
> > NET: Registered protocol family 17
> >
> > What do I wrong ? Could I use the xenbus API in the backend (I have same
> > problem in the frontend) ? Any tips/advice would be appreciate
> >
> > Regards.
> > Fabien
> >
> >
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xensource.com
> > http://lists.xensource.com/xen-devel
> >   
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2006-06-20 12:22 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-06-15  8:30 xenbus api Fabien Hermenier
2006-06-15 21:01 ` Anthony Liguori
2006-06-20 12:22   ` Fabien Hermenier

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.