* [Adeos-main] When to do __adeos_takeover() on ARM [not found] <20050205014301.6569.13097.Mailman@domain.hid> @ 2005-02-24 3:03 ` Jason Huang 2005-02-24 8:10 ` Philippe Gerum 0 siblings, 1 reply; 5+ messages in thread From: Jason Huang @ 2005-02-24 3:03 UTC (permalink / raw) To: adeos-main Dear list members, If __adeos_takeover is called in init(), the timer interrupt kicks in way before adp->irqs[] have been initialized and hence adeos_switch_domain is not called and the interrupt is not handled. Has anybody seen the problem? How/where do I place __adeos_takeover? Thanks in advance. Jason Huang Wescon Technology 408-727-8818 x108 > -----Original Message----- > From: adeos-main-admin@domain.hid [mailto:adeos-main-admin@domain.hid] On Behalf Of > adeos-main-request@domain.hid > Sent: Friday, February 04, 2005 5:43 PM > To: Jason Huang > Subject: Welcome to the "Adeos-main" mailing list > > Welcome to the Adeos-main@domain.hid mailing list! > > To post to this list, send your email to: > > adeos-main@gna.org > > General information about the mailing list is at: > > https://mail.gna.org/listinfo/adeos-main > > If you ever want to unsubscribe or change your options (eg, switch to > or from digest mode, change your password, etc.), visit your > subscription page at: > > https://mail.gna.org/options/adeos-main/jason.huang%40wescongroup.com > > > You can also make such adjustments via email by sending a message to: > > Adeos-main-request@domain.hid > > with the word `help' in the subject or body (don't include the > quotes), and you will get back a message with instructions. > > You must know your password to change your options (including changing > the password, itself) or to unsubscribe. It is: > > welcome > > If you forget your password, don't worry, you will receive a monthly > reminder telling you what all your gna.org mailing list passwords are, > and how to unsubscribe or change your options. There is also a button > on your options page that will email your current password to you. > > You may also have your password mailed to you automatically from the > Web page noted above. ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Adeos-main] When to do __adeos_takeover() on ARM 2005-02-24 3:03 ` [Adeos-main] When to do __adeos_takeover() on ARM Jason Huang @ 2005-02-24 8:10 ` Philippe Gerum 2005-02-26 2:18 ` Jason Huang 2005-03-04 21:37 ` [Adeos-main] 'Badness in local_bh_enable at kernel/softirq.c:136' on 2.6.8.1 ARM Jason Huang 0 siblings, 2 replies; 5+ messages in thread From: Philippe Gerum @ 2005-02-24 8:10 UTC (permalink / raw) To: Jason Huang; +Cc: adeos-main Jason Huang wrote: > Dear list members, > > If __adeos_takeover is called in init(), the timer interrupt kicks in way before > adp->irqs[] have been initialized and hence adeos_switch_domain is not called > and the interrupt is not handled. > If the takeover has not taken place, then the standard IRQ vectors should be in place after the interrupt layer has been initialized, therefore further interrupts should be handled by the regular Linux handlers as they would if Adeos was absent. Additionally, __adeos_switch_domain() is only called when more than a single domain exists, which sounds unlikely during the boot phase. > Has anybody seen the problem? How/where do I place __adeos_takeover? Which architecture are you working on? > > Thanks in advance. > > Jason Huang > Wescon Technology > 408-727-8818 x108 > > >>-----Original Message----- >>From: adeos-main-admin@domain.hid [mailto:adeos-main-admin@domain.hid] On Behalf Of >>adeos-main-request@domain.hid >>Sent: Friday, February 04, 2005 5:43 PM >>To: Jason Huang >>Subject: Welcome to the "Adeos-main" mailing list >> >>Welcome to the Adeos-main@domain.hid mailing list! >> >>To post to this list, send your email to: >> >> adeos-main@gna.org >> >>General information about the mailing list is at: >> >> https://mail.gna.org/listinfo/adeos-main >> >>If you ever want to unsubscribe or change your options (eg, switch to >>or from digest mode, change your password, etc.), visit your >>subscription page at: >> >> https://mail.gna.org/options/adeos-main/jason.huang%40wescongroup.com >> >> >>You can also make such adjustments via email by sending a message to: >> >> Adeos-main-request@domain.hid >> >>with the word `help' in the subject or body (don't include the >>quotes), and you will get back a message with instructions. >> >>You must know your password to change your options (including changing >>the password, itself) or to unsubscribe. It is: >> >> welcome >> >>If you forget your password, don't worry, you will receive a monthly >>reminder telling you what all your gna.org mailing list passwords are, >>and how to unsubscribe or change your options. There is also a button >>on your options page that will email your current password to you. >> >>You may also have your password mailed to you automatically from the >>Web page noted above. > > > > _______________________________________________ > Adeos-main mailing list > Adeos-main@domain.hid > https://mail.gna.org/listinfo/adeos-main -- Philippe. ^ permalink raw reply [flat|nested] 5+ messages in thread
* RE: [Adeos-main] When to do __adeos_takeover() on ARM 2005-02-24 8:10 ` Philippe Gerum @ 2005-02-26 2:18 ` Jason Huang 2005-02-26 9:25 ` Philippe Gerum 2005-03-04 21:37 ` [Adeos-main] 'Badness in local_bh_enable at kernel/softirq.c:136' on 2.6.8.1 ARM Jason Huang 1 sibling, 1 reply; 5+ messages in thread From: Jason Huang @ 2005-02-26 2:18 UTC (permalink / raw) To: adeos-main I am trying to port 2.6.8.1 onto ARM9TDMI, TI's Innovator board. I found the reason that it crashes when compiling into kernel is that: when compiled in kernel, adp_pipelined is not checked; __adeos_handle_irq calls handlers when adeos has not yet been completely initialized. I forced adp_pipelined is checked even when adeos is compiled into kernel. Now that the crashing is gone, I encountered another problem: still in __adeos_handle_irq, somewhere down in __adeos_sync_stage, just before invoking irq handler, if (adp == adp_root) adeos_hw_sti(); This, adeos_hw_sti, causes a new interrupt comes in; and this repeats (__irq_svc->__adeos_handle_irq->__adeos_sync_stage->__irq_svc,...). I got stuck here for two days. Best regards. Jason Huang Wescon Technology 408-727-8818 x108 > -----Original Message----- > From: Philippe Gerum [mailto:rpm@xenomai.org] > Sent: Thursday, February 24, 2005 12:10 AM > To: Jason Huang > Cc: adeos-main@gna.org > Subject: Re: [Adeos-main] When to do __adeos_takeover() on ARM > > Jason Huang wrote: > > Dear list members, > > > > If __adeos_takeover is called in init(), the timer interrupt kicks in way > before > > adp->irqs[] have been initialized and hence adeos_switch_domain is not > called > > and the interrupt is not handled. > > > > If the takeover has not taken place, then the standard IRQ vectors > should be in place after the interrupt layer has been initialized, > therefore further interrupts should be handled by the regular Linux > handlers as they would if Adeos was absent. Additionally, > __adeos_switch_domain() is only called when more than a single domain > exists, which sounds unlikely during the boot phase. > > > Has anybody seen the problem? How/where do I place __adeos_takeover? > > Which architecture are you working on? > > > > > Thanks in advance. > > > > Jason Huang > > Wescon Technology > > 408-727-8818 x108 > > > > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Adeos-main] When to do __adeos_takeover() on ARM 2005-02-26 2:18 ` Jason Huang @ 2005-02-26 9:25 ` Philippe Gerum 0 siblings, 0 replies; 5+ messages in thread From: Philippe Gerum @ 2005-02-26 9:25 UTC (permalink / raw) To: Jason Huang; +Cc: adeos-main Jason Huang wrote: > I am trying to port 2.6.8.1 onto ARM9TDMI, TI's Innovator board. > > I found the reason that it crashes when compiling into kernel is that: when > compiled in kernel, adp_pipelined is not checked; __adeos_handle_irq calls > handlers when adeos has not yet been completely initialized. > Which is your Adeos patch of reference for porting to 2.6? > I forced adp_pipelined is checked even when adeos is compiled into kernel. Now > that the crashing is gone, I encountered another problem: still in > __adeos_handle_irq, somewhere down in __adeos_sync_stage, just before invoking > irq handler, > if (adp == adp_root) > adeos_hw_sti(); > This, adeos_hw_sti, causes a new interrupt comes in; and this repeats > (__irq_svc->__adeos_handle_irq->__adeos_sync_stage->__irq_svc,...). > Removing it is not the right way to fix this; you need to re-enable hw IRQs before calling root IRQ handlers since the latter might perform lengthy operations like, e.g. PIO. They need to be preemptable by higher domain handers, or the latency will skyrocket. A safer solution is to make sure that __adeos_sync_stage() is not called from __adeos_walk_pipeline() when returning from a domain switch if some inner __adeos_sync_stage() from the current domain has been preempted. But doing so won't still allow driving high-rate interrupts on too slow of a machine though. > I got stuck here for two days. > Still better than /me being stuck on Adeos for three years though. > Best regards. > > Jason Huang > Wescon Technology > 408-727-8818 x108 > > > >>-----Original Message----- >>From: Philippe Gerum [mailto:rpm@xenomai.org] >>Sent: Thursday, February 24, 2005 12:10 AM >>To: Jason Huang >>Cc: adeos-main@gna.org >>Subject: Re: [Adeos-main] When to do __adeos_takeover() on ARM >> >>Jason Huang wrote: >> >>>Dear list members, >>> >>>If __adeos_takeover is called in init(), the timer interrupt kicks in way >> >>before >> >>>adp->irqs[] have been initialized and hence adeos_switch_domain is not >> >>called >> >>>and the interrupt is not handled. >>> >> >>If the takeover has not taken place, then the standard IRQ vectors >>should be in place after the interrupt layer has been initialized, >>therefore further interrupts should be handled by the regular Linux >>handlers as they would if Adeos was absent. Additionally, >>__adeos_switch_domain() is only called when more than a single domain >>exists, which sounds unlikely during the boot phase. >> >> >>>Has anybody seen the problem? How/where do I place __adeos_takeover? >> >>Which architecture are you working on? >> >> >>>Thanks in advance. >>> >>>Jason Huang >>>Wescon Technology >>>408-727-8818 x108 >>> >>> > > > > _______________________________________________ > Adeos-main mailing list > Adeos-main@domain.hid > https://mail.gna.org/listinfo/adeos-main -- Philippe. ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Adeos-main] 'Badness in local_bh_enable at kernel/softirq.c:136' on 2.6.8.1 ARM 2005-02-24 8:10 ` Philippe Gerum 2005-02-26 2:18 ` Jason Huang @ 2005-03-04 21:37 ` Jason Huang 1 sibling, 0 replies; 5+ messages in thread From: Jason Huang @ 2005-03-04 21:37 UTC (permalink / raw) To: adeos-main Dear list members, After correcting a lot of my mistakes (in porting ADEOS ARM 2.4 to ARM9 2.6.8.1), I can boot up the Linux. However, I noticed a WARN_ON(irqs_disabled()) in softirq.c. Apparently, local IRQ was disabled unintentionally. This only occurs once during initial NFS bootup. Has anyone seen similar problems? What was the cause? Thanks in advance. Jason ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2005-03-04 21:37 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20050205014301.6569.13097.Mailman@domain.hid>
2005-02-24 3:03 ` [Adeos-main] When to do __adeos_takeover() on ARM Jason Huang
2005-02-24 8:10 ` Philippe Gerum
2005-02-26 2:18 ` Jason Huang
2005-02-26 9:25 ` Philippe Gerum
2005-03-04 21:37 ` [Adeos-main] 'Badness in local_bh_enable at kernel/softirq.c:136' on 2.6.8.1 ARM Jason Huang
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.