* irqhandler for xenbus device
@ 2012-03-21 6:26 Nupur Ghatnekar
2012-03-21 8:49 ` Jan Beulich
2012-05-10 15:38 ` Konrad Rzeszutek Wilk
0 siblings, 2 replies; 3+ messages in thread
From: Nupur Ghatnekar @ 2012-03-21 6:26 UTC (permalink / raw)
To: xen-devel
[-- Attachment #1.1: Type: text/plain, Size: 3953 bytes --]
Hello,
I have written 2 modules (front and backend) of a device driver.
here all i have tried to do is share a page and map the page.
i have added an irqhandler to the eventchannel using
bind_interdomain_evtchn_to_irqhandler()
but ,this is what i got.. i do not understand what happened.
any help will be appreciated!!
[ 6098.141305] p9_xen_backend_init
[ 6098.141332] leaving backend_init
[ 6169.434245] Backprobe fired 1
[ 6169.434703] node name: /local/domain/2/device/p9xen/0
[ 6169.434980] INITIAL PAGE: 855 INITAL PORT: 34
[ 6169.435005] Map Successful: data: Hey this is a new page..we just sent
it!
[ 6169.435032] interrupt registered:: 312
[ 6169.435037] we are in the irq handler!!312
[ 6169.435040]
[ 6169.435040] notify by irq
[ 6169.435043] irq event 312: bogus return value 33
[ 6169.435047] Pid: 20, comm: xenwatch Tainted: G WC
3.0.0-12-generic-pae #20-Ubuntu
[ 6169.435050] Call Trace:
[ 6169.435059] [<c15414ca>] ? printk+0x2d/0x2f
[ 6169.435066] [<c10b3c99>] __report_bad_irq+0x29/0xd0
[ 6169.435070] [<c10b4031>] note_interrupt+0xd1/0x150
[ 6169.435075] [<effb91d1>] ? p9xen_irq+0x31/0x40 [p9_xen_backend]
[ 6169.435079] [<c10b258e>] handle_irq_event_percpu+0x9e/0x200
[ 6169.435085] [<c128d1ba>] ? radix_tree_lookup+0xa/0x10
[ 6169.435089] [<c10b40fd>] ? irq_get_irq_data+0xd/0x10
[ 6169.435094] [<c131c32d>] ? info_for_irq+0xd/0x20
[ 6169.435098] [<c10b272b>] handle_irq_event+0x3b/0x60
[ 6169.435102] [<c10b48c6>] handle_edge_irq+0x66/0xf0
[ 6169.435106] [<c131c265>] __xen_evtchn_do_upcall+0x155/0x200
[ 6169.435110] [<c131df90>] xen_evtchn_do_upcall+0x20/0x40
[ 6169.435115] [<c155cc17>] xen_do_upcall+0x7/0xc
[ 6169.435120] [<c1002407>] ? hypercall_page+0x407/0x1000
[ 6169.435124] [<c131fcfe>] ? xb_write+0xce/0x1e0
[ 6169.435131] [<c1050972>] ? console_unlock+0xa2/0xf0
[ 6169.435134] [<c1050bf1>] ? vprintk+0x151/0x430
[ 6169.435138] [<c132078d>] xs_talkv+0x5d/0x1a0
[ 6169.435143] [<c1291d31>] ? vsnprintf+0xb1/0x390
[ 6169.435147] [<c132091a>] xs_watch+0x4a/0x60
[ 6169.435150] [<c1320bb3>] register_xenbus_watch+0x83/0xf0
[ 6169.435154] [<c131f8ca>] xenbus_watch_path+0x2a/0x70
[ 6169.435158] [<c1295033>] ? kvasprintf+0x43/0x60
[ 6169.435162] [<c131f948>] xenbus_watch_pathfmt+0x38/0x70
[ 6169.435166] [<c13222b0>] ? xenbus_uevent_backend+0xb0/0xb0
[ 6169.435170] [<c1321bac>] xenbus_dev_probe+0xac/0x140
[ 6169.435174] [<c13222b0>] ? xenbus_uevent_backend+0xb0/0xb0
[ 6169.435179] [<c135f1ad>] really_probe+0x4d/0x150
[ 6169.435184] [<c13675c0>] ? pm_runtime_barrier+0x50/0xb0
[ 6169.435188] [<c135f3ea>] driver_probe_device+0x3a/0x60
[ 6169.435191] [<c135f4f1>] __device_attach+0x41/0x50
[ 6169.435195] [<c135f4b0>] ? __driver_attach+0xa0/0xa0
[ 6169.435199] [<c135e279>] bus_for_each_drv+0x49/0x70
[ 6169.435202] [<c135f37a>] device_attach+0x8a/0xa0
[ 6169.435206] [<c135f4b0>] ? __driver_attach+0xa0/0xa0
[ 6169.435209] [<c135eaa5>] bus_probe_device+0x25/0x40
[ 6169.435214] [<c135d0bc>] device_add+0x28c/0x380
[ 6169.435218] [<c13652da>] ? device_pm_init+0x4a/0x60
[ 6169.435222] [<c135d1c7>] device_register+0x17/0x20
[ 6169.435226] [<c1321e21>] xenbus_probe_node.part.4+0x101/0x170
[ 6169.435230] [<c1321ed3>] xenbus_probe_node+0x43/0x60
[ 6169.435234] [<c1322173>] xenbus_dev_changed.part.7+0x163/0x170
[ 6169.435239] [<c1007248>] ? xen_force_evtchn_callback+0x18/0x30
[ 6169.435243] [<c10079e0>] ? check_events+0x8/0xc
[ 6169.435247] [<c13221b7>] xenbus_dev_changed+0x37/0x40
[ 6169.435251] [<c13221f6>] backend_changed+0x16/0x20
[ 6169.435254] [<c1320567>] xenwatch_thread+0x87/0x130
[ 6169.435260] [<c106f280>] ? add_wait_queue+0x50/0x50
[ 6169.435264] [<c13204e0>] ? xenbus_thread+0x40/0x40
[ 6169.435268] [<c106ea7d>] kthread+0x6d/0x80
[ 6169.435271] [<c106ea10>] ? flush_kthread_worker+0x80/0x80
[ 6169.435275] [<c155cbbe>] kernel_thread_helper+0x6/0x10
[ 6169.435277] handlers:
[ 6169.435280] [<effb91a0>] p9xen_irq
--
Nupur Ghatnekar
[-- Attachment #1.2: Type: text/html, Size: 4630 bytes --]
[-- Attachment #2: Type: text/plain, Size: 126 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: irqhandler for xenbus device
2012-03-21 6:26 irqhandler for xenbus device Nupur Ghatnekar
@ 2012-03-21 8:49 ` Jan Beulich
2012-05-10 15:38 ` Konrad Rzeszutek Wilk
1 sibling, 0 replies; 3+ messages in thread
From: Jan Beulich @ 2012-03-21 8:49 UTC (permalink / raw)
To: Nupur Ghatnekar; +Cc: xen-devel
>>> On 21.03.12 at 07:26, Nupur Ghatnekar <nupurghatnekar@gmail.com> wrote:
> Hello,
>
> I have written 2 modules (front and backend) of a device driver.
> here all i have tried to do is share a page and map the page.
> i have added an irqhandler to the eventchannel using
> bind_interdomain_evtchn_to_irqhandler()
>
> but ,this is what i got.. i do not understand what happened.
>
> any help will be appreciated!!
>
> [ 6098.141305] p9_xen_backend_init
> [ 6098.141332] leaving backend_init
> [ 6169.434245] Backprobe fired 1
> [ 6169.434703] node name: /local/domain/2/device/p9xen/0
> [ 6169.434980] INITIAL PAGE: 855 INITAL PORT: 34
> [ 6169.435005] Map Successful: data: Hey this is a new page..we just sent
> it!
> [ 6169.435032] interrupt registered:: 312
> [ 6169.435037] we are in the irq handler!!312
> [ 6169.435040]
> [ 6169.435040] notify by irq
> [ 6169.435043] irq event 312: bogus return value 33
Doesn't this tell you pretty clearly what was wrong (presumably in
your interrupt handler function)?
Jan
> [ 6169.435047] Pid: 20, comm: xenwatch Tainted: G WC
> 3.0.0-12-generic-pae #20-Ubuntu
> [ 6169.435050] Call Trace:
> [ 6169.435059] [<c15414ca>] ? printk+0x2d/0x2f
> [ 6169.435066] [<c10b3c99>] __report_bad_irq+0x29/0xd0
> [ 6169.435070] [<c10b4031>] note_interrupt+0xd1/0x150
> [ 6169.435075] [<effb91d1>] ? p9xen_irq+0x31/0x40 [p9_xen_backend]
> [ 6169.435079] [<c10b258e>] handle_irq_event_percpu+0x9e/0x200
> [ 6169.435085] [<c128d1ba>] ? radix_tree_lookup+0xa/0x10
> [ 6169.435089] [<c10b40fd>] ? irq_get_irq_data+0xd/0x10
> [ 6169.435094] [<c131c32d>] ? info_for_irq+0xd/0x20
> [ 6169.435098] [<c10b272b>] handle_irq_event+0x3b/0x60
> [ 6169.435102] [<c10b48c6>] handle_edge_irq+0x66/0xf0
> [ 6169.435106] [<c131c265>] __xen_evtchn_do_upcall+0x155/0x200
> [ 6169.435110] [<c131df90>] xen_evtchn_do_upcall+0x20/0x40
> [ 6169.435115] [<c155cc17>] xen_do_upcall+0x7/0xc
> [ 6169.435120] [<c1002407>] ? hypercall_page+0x407/0x1000
> [ 6169.435124] [<c131fcfe>] ? xb_write+0xce/0x1e0
> [ 6169.435131] [<c1050972>] ? console_unlock+0xa2/0xf0
> [ 6169.435134] [<c1050bf1>] ? vprintk+0x151/0x430
> [ 6169.435138] [<c132078d>] xs_talkv+0x5d/0x1a0
> [ 6169.435143] [<c1291d31>] ? vsnprintf+0xb1/0x390
> [ 6169.435147] [<c132091a>] xs_watch+0x4a/0x60
> [ 6169.435150] [<c1320bb3>] register_xenbus_watch+0x83/0xf0
> [ 6169.435154] [<c131f8ca>] xenbus_watch_path+0x2a/0x70
> [ 6169.435158] [<c1295033>] ? kvasprintf+0x43/0x60
> [ 6169.435162] [<c131f948>] xenbus_watch_pathfmt+0x38/0x70
> [ 6169.435166] [<c13222b0>] ? xenbus_uevent_backend+0xb0/0xb0
> [ 6169.435170] [<c1321bac>] xenbus_dev_probe+0xac/0x140
> [ 6169.435174] [<c13222b0>] ? xenbus_uevent_backend+0xb0/0xb0
> [ 6169.435179] [<c135f1ad>] really_probe+0x4d/0x150
> [ 6169.435184] [<c13675c0>] ? pm_runtime_barrier+0x50/0xb0
> [ 6169.435188] [<c135f3ea>] driver_probe_device+0x3a/0x60
> [ 6169.435191] [<c135f4f1>] __device_attach+0x41/0x50
> [ 6169.435195] [<c135f4b0>] ? __driver_attach+0xa0/0xa0
> [ 6169.435199] [<c135e279>] bus_for_each_drv+0x49/0x70
> [ 6169.435202] [<c135f37a>] device_attach+0x8a/0xa0
> [ 6169.435206] [<c135f4b0>] ? __driver_attach+0xa0/0xa0
> [ 6169.435209] [<c135eaa5>] bus_probe_device+0x25/0x40
> [ 6169.435214] [<c135d0bc>] device_add+0x28c/0x380
> [ 6169.435218] [<c13652da>] ? device_pm_init+0x4a/0x60
> [ 6169.435222] [<c135d1c7>] device_register+0x17/0x20
> [ 6169.435226] [<c1321e21>] xenbus_probe_node.part.4+0x101/0x170
> [ 6169.435230] [<c1321ed3>] xenbus_probe_node+0x43/0x60
> [ 6169.435234] [<c1322173>] xenbus_dev_changed.part.7+0x163/0x170
> [ 6169.435239] [<c1007248>] ? xen_force_evtchn_callback+0x18/0x30
> [ 6169.435243] [<c10079e0>] ? check_events+0x8/0xc
> [ 6169.435247] [<c13221b7>] xenbus_dev_changed+0x37/0x40
> [ 6169.435251] [<c13221f6>] backend_changed+0x16/0x20
> [ 6169.435254] [<c1320567>] xenwatch_thread+0x87/0x130
> [ 6169.435260] [<c106f280>] ? add_wait_queue+0x50/0x50
> [ 6169.435264] [<c13204e0>] ? xenbus_thread+0x40/0x40
> [ 6169.435268] [<c106ea7d>] kthread+0x6d/0x80
> [ 6169.435271] [<c106ea10>] ? flush_kthread_worker+0x80/0x80
> [ 6169.435275] [<c155cbbe>] kernel_thread_helper+0x6/0x10
> [ 6169.435277] handlers:
> [ 6169.435280] [<effb91a0>] p9xen_irq
>
>
> --
>
> Nupur Ghatnekar
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: irqhandler for xenbus device
2012-03-21 6:26 irqhandler for xenbus device Nupur Ghatnekar
2012-03-21 8:49 ` Jan Beulich
@ 2012-05-10 15:38 ` Konrad Rzeszutek Wilk
1 sibling, 0 replies; 3+ messages in thread
From: Konrad Rzeszutek Wilk @ 2012-05-10 15:38 UTC (permalink / raw)
To: Nupur Ghatnekar; +Cc: xen-devel
On Wed, Mar 21, 2012 at 11:56:41AM +0530, Nupur Ghatnekar wrote:
> Hello,
>
> I have written 2 modules (front and backend) of a device driver.
> here all i have tried to do is share a page and map the page.
> i have added an irqhandler to the eventchannel using
> bind_interdomain_evtchn_to_irqhandler()
>
> but ,this is what i got.. i do not understand what happened.
>
> any help will be appreciated!!
>
> [ 6098.141305] p9_xen_backend_init
> [ 6098.141332] leaving backend_init
> [ 6169.434245] Backprobe fired 1
> [ 6169.434703] node name: /local/domain/2/device/p9xen/0
> [ 6169.434980] INITIAL PAGE: 855 INITAL PORT: 34
> [ 6169.435005] Map Successful: data: Hey this is a new page..we just sent
> it!
> [ 6169.435032] interrupt registered:: 312
> [ 6169.435037] we are in the irq handler!!312
> [ 6169.435040]
> [ 6169.435040] notify by irq
> [ 6169.435043] irq event 312: bogus return value 33
That is the problem. You need to return IRQ_HANDLED in your
irq handler.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2012-05-10 15:38 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-03-21 6:26 irqhandler for xenbus device Nupur Ghatnekar
2012-03-21 8:49 ` Jan Beulich
2012-05-10 15:38 ` Konrad Rzeszutek Wilk
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.