Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1211691 > unrolled thread
| Started by | Corey Minyard <minyard@acm.org> |
|---|---|
| First post | 2015-08-24 01:20 +0200 |
| Last post | 2015-08-27 03:40 +0200 |
| Articles | 6 — 2 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: [PATCH 7/7] ipmi/kcs: Don't run the KCS state machine when it is KCS_IDLE Corey Minyard <minyard@acm.org> - 2015-08-24 01:20 +0200
RE: [PATCH 7/7] ipmi/kcs: Don't run the KCS state machine when it is KCS_IDLE 河合英宏 / KAWAI,HIDEHIRO <hidehiro.kawai.ez@hitachi.com> - 2015-08-24 04:00 +0200
Re: [PATCH 7/7] ipmi/kcs: Don't run the KCS state machine when it is KCS_IDLE Corey Minyard <minyard@acm.org> - 2015-08-24 18:10 +0200
RE: [PATCH 7/7] ipmi/kcs: Don't run the KCS state machine when it is KCS_IDLE 河合英宏 / KAWAI,HIDEHIRO <hidehiro.kawai.ez@hitachi.com> - 2015-08-25 06:00 +0200
Re: [PATCH 7/7] ipmi/kcs: Don't run the KCS state machine when it is KCS_IDLE Corey Minyard <minyard@acm.org> - 2015-08-26 22:30 +0200
RE: [PATCH 7/7] ipmi/kcs: Don't run the KCS state machine when it is KCS_IDLE 河合英宏 / KAWAI,HIDEHIRO <hidehiro.kawai.ez@hitachi.com> - 2015-08-27 03:40 +0200
| From | Corey Minyard <minyard@acm.org> |
|---|---|
| Date | 2015-08-24 01:20 +0200 |
| Subject | Re: [PATCH 7/7] ipmi/kcs: Don't run the KCS state machine when it is KCS_IDLE |
| Message-ID | <q0MIp-6Pv-3@gated-at.bofh.it> |
On 08/17/2015 09:54 PM, 河合英宏 / KAWAI,HIDEHIRO wrote: >> From: Corey Minyard [mailto:tcminyard@gmail.com] On Behalf Of Corey Minyard >> >> This patch will break ATN handling on the interfaces. So we can't do this. > I understand. So how about doing like this: > > /* All states wait for ibf, so just do it here. */ > - if (!check_ibf(kcs, status, time)) > + if (kcs->state != KCS_IDLE && !check_ibf(kcs, status, time)) > return SI_SM_CALL_WITH_DELAY; > > I think it is not necessary to wait IBF when the state is IDLE. > In this way, we can also handle the ATN case. I think it would be more reliable to go up a level and add a timeout. One should be there, anyway. I thought they were all covered, but I may have missed something. -corey > > Regards, > > Hidehiro Kawai > Hitachi, Ltd. Research & Development Group > >> It's going to be extremely hard to recover if the BMC is not working >> correctly when a panic happens. I'm not sure what can be done, but if >> you can fix it another way it would be good. >> >> -corey >> >> On 07/27/2015 12:55 AM, Hidehiro Kawai wrote: >>> If a BMC is unresponsive for some reason, it ends up completing >>> the requested message as an error, then kcs_event() is called once >>> to advance the state machine. However, since the BMC is >>> unresponsive now, the status of the KCS interface may not be >>> idle. As the result, the state machine can continue to run and >>> comsume CPU time indefinitely even if there is no more request >>> message. Moreover, if this happens in run-to-completion mode >>> (i.e. context of panic_event()), the kernel hangs up. >>> >>> To fix this problem, this patch ignores kcs_event() call if there >>> is no request message to be processed. >>> >>> Signed-off-by: Hidehiro Kawai <hidehiro.kawai.ez@hitachi.com> >>> --- >>> drivers/char/ipmi/ipmi_kcs_sm.c | 4 ++++ >>> 1 file changed, 4 insertions(+) >>> >>> diff --git a/drivers/char/ipmi/ipmi_kcs_sm.c b/drivers/char/ipmi/ipmi_kcs_sm.c >>> index 8c25f59..0e187fb 100644 >>> --- a/drivers/char/ipmi/ipmi_kcs_sm.c >>> +++ b/drivers/char/ipmi/ipmi_kcs_sm.c >>> @@ -353,6 +353,10 @@ static enum si_sm_result kcs_event(struct si_sm_data *kcs, long time) >>> if (kcs_debug & KCS_DEBUG_STATES) >>> printk(KERN_DEBUG "KCS: State = %d, %x\n", kcs->state, status); >>> >>> + /* We don't want to run the state machine when the state is IDLE */ >>> + if (kcs->state == KCS_IDLE) >>> + return SI_SM_IDLE; >>> + >>> /* All states wait for ibf, so just do it here. */ >>> if (!check_ibf(kcs, status, time)) >>> return SI_SM_CALL_WITH_DELAY; >>> >>> -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | 河合英宏 / KAWAI,HIDEHIRO <hidehiro.kawai.ez@hitachi.com> |
|---|---|
| Date | 2015-08-24 04:00 +0200 |
| Message-ID | <q0Pdf-1LJ-3@gated-at.bofh.it> |
| In reply to | #1211691 |
PiBGcm9tOiBDb3JleSBNaW55YXJkIFttYWlsdG86dGNtaW55YXJkQGdtYWlsLmNvbV0gT24gQmVo YWxmIE9mIENvcmV5IE1pbnlhcmQNCj4gDQo+IE9uIDA4LzE3LzIwMTUgMDk6NTQgUE0sIOays+WQ iOiLseWujyAvIEtBV0FJ77yMSElERUhJUk8gd3JvdGU6DQo+ID4+IEZyb206IENvcmV5IE1pbnlh cmQgW21haWx0bzp0Y21pbnlhcmRAZ21haWwuY29tXSBPbiBCZWhhbGYgT2YgQ29yZXkgTWlueWFy ZA0KPiA+Pg0KPiA+PiBUaGlzIHBhdGNoIHdpbGwgYnJlYWsgQVROIGhhbmRsaW5nIG9uIHRoZSBp bnRlcmZhY2VzLiAgU28gd2UgY2FuJ3QgZG8gdGhpcy4NCj4gPiBJIHVuZGVyc3RhbmQuICBTbyBo b3cgYWJvdXQgZG9pbmcgbGlrZSB0aGlzOg0KPiA+DQo+ID4gCS8qIEFsbCBzdGF0ZXMgd2FpdCBm b3IgaWJmLCBzbyBqdXN0IGRvIGl0IGhlcmUuICovDQo+ID4gLQlpZiAoIWNoZWNrX2liZihrY3Ms IHN0YXR1cywgdGltZSkpDQo+ID4gKwlpZiAoa2NzLT5zdGF0ZSAhPSBLQ1NfSURMRSAmJiAhY2hl Y2tfaWJmKGtjcywgc3RhdHVzLCB0aW1lKSkNCj4gPiAJCXJldHVybiBTSV9TTV9DQUxMX1dJVEhf REVMQVk7DQo+ID4NCj4gPiBJIHRoaW5rIGl0IGlzIG5vdCBuZWNlc3NhcnkgdG8gd2FpdCBJQkYg d2hlbiB0aGUgc3RhdGUgaXMgSURMRS4NCj4gPiBJbiB0aGlzIHdheSwgd2UgY2FuIGFsc28gaGFu ZGxlIHRoZSBBVE4gY2FzZS4NCj4gDQo+IEkgdGhpbmsgaXQgd291bGQgYmUgbW9yZSByZWxpYWJs ZSB0byBnbyB1cCBhIGxldmVsIGFuZCBhZGQgYSB0aW1lb3V0Lg0KDQpJdCBtYXkgYmUgc28sIGJ1 dCB3ZSBzaG91bGQgYWRkcmVzcyB0aGlzIGlzc3VlIHNlcGFyYXRlbHkgKGF0IGxlYXN0DQpJIHRo aW5rIGFib3ZlIHNvbHV0aW9uIHJlYXNvbmFibHkgc29sdmVzIHRoZSBpc3N1ZSkuDQoNClRoaXMg aXNzdWUgaGFwcGVucyBhZnRlciBhbGwgcXVldWVkIG1lc3NhZ2VzIGFyZSBwcm9jZXNzZWQgb3Ig ZHJvcHBlZA0KYnkgdGltZW91dC4gIFRoZXJlIGlzIG5vIGN1cnJlbnQgbWVzc2FnZS4gIFNvIHdo YXQgc2hvdWxkIHdlIHNldA0KYSB0aW1lb3V0IGFnYWluc3Q/ICBXZSBjYW4gYWRkIGEgdGltZW91 dCBpbnRvIG15IG5ldyBmbHVzaF9tZXNzYWdlcygpLA0KYnV0IHRoYXQgaXMgbWVhbmluZ2Z1bCBv bmx5IGluIHBhbmljIGNvbnRleHQuICBUaGF0IGRvZXNuJ3QgaGVscA0KaW4gbm9ybWFsIGNvbnRl eHQ7IHdlIHdvdWxkIHBlcmZvcm0gYSBidXN5IGxvb3Agb2Ygc21pX2V2ZW50X2hhbmRsZXIoKQ0K YW5kIHNjaGVkdWxlKCkgaW4gaXBtaV90aHJlYWQoKS4NCg0KUmVnYXJkcywNCg0KSGlkZWhpcm8g S2F3YWkNCg0KPiBPbmUgc2hvdWxkDQo+IGJlIHRoZXJlLCBhbnl3YXkuICBJIHRob3VnaHQgdGhl eSB3ZXJlIGFsbCBjb3ZlcmVkLCBidXQgSSBtYXkgaGF2ZSBtaXNzZWQNCj4gc29tZXRoaW5nLg0K PiANCj4gLWNvcmV5DQo+IA0KPiA+DQo+ID4gUmVnYXJkcywNCj4gPg0KPiA+IEhpZGVoaXJvIEth d2FpDQo+ID4gSGl0YWNoaSwgTHRkLiBSZXNlYXJjaCAmIERldmVsb3BtZW50IEdyb3VwDQo+ID4N Cj4gPj4gSXQncyBnb2luZyB0byBiZSBleHRyZW1lbHkgaGFyZCB0byByZWNvdmVyIGlmIHRoZSBC TUMgaXMgbm90IHdvcmtpbmcNCj4gPj4gY29ycmVjdGx5IHdoZW4gYSBwYW5pYyBoYXBwZW5zLiAg SSdtIG5vdCBzdXJlIHdoYXQgY2FuIGJlIGRvbmUsIGJ1dCBpZg0KPiA+PiB5b3UgY2FuIGZpeCBp dCBhbm90aGVyIHdheSBpdCB3b3VsZCBiZSBnb29kLg0KPiA+Pg0KPiA+PiAtY29yZXkNCj4gPj4N Cj4gPj4gT24gMDcvMjcvMjAxNSAxMjo1NSBBTSwgSGlkZWhpcm8gS2F3YWkgd3JvdGU6DQo+ID4+ PiBJZiBhIEJNQyBpcyB1bnJlc3BvbnNpdmUgZm9yIHNvbWUgcmVhc29uLCBpdCBlbmRzIHVwIGNv bXBsZXRpbmcNCj4gPj4+IHRoZSByZXF1ZXN0ZWQgbWVzc2FnZSBhcyBhbiBlcnJvciwgdGhlbiBr Y3NfZXZlbnQoKSBpcyBjYWxsZWQgb25jZQ0KPiA+Pj4gdG8gYWR2YW5jZSB0aGUgc3RhdGUgbWFj aGluZS4gIEhvd2V2ZXIsIHNpbmNlIHRoZSBCTUMgaXMNCj4gPj4+IHVucmVzcG9uc2l2ZSBub3cs IHRoZSBzdGF0dXMgb2YgdGhlIEtDUyBpbnRlcmZhY2UgbWF5IG5vdCBiZQ0KPiA+Pj4gaWRsZS4g IEFzIHRoZSByZXN1bHQsIHRoZSBzdGF0ZSBtYWNoaW5lIGNhbiBjb250aW51ZSB0byBydW4gYW5k DQo+ID4+PiBjb21zdW1lIENQVSB0aW1lIGluZGVmaW5pdGVseSBldmVuIGlmIHRoZXJlIGlzIG5v IG1vcmUgcmVxdWVzdA0KPiA+Pj4gbWVzc2FnZS4gIE1vcmVvdmVyLCBpZiB0aGlzIGhhcHBlbnMg aW4gcnVuLXRvLWNvbXBsZXRpb24gbW9kZQ0KPiA+Pj4gKGkuZS4gY29udGV4dCBvZiBwYW5pY19l dmVudCgpKSwgdGhlIGtlcm5lbCBoYW5ncyB1cC4NCj4gPj4+DQo+ID4+PiBUbyBmaXggdGhpcyBw cm9ibGVtLCB0aGlzIHBhdGNoIGlnbm9yZXMga2NzX2V2ZW50KCkgY2FsbCBpZiB0aGVyZQ0KPiA+ Pj4gaXMgbm8gcmVxdWVzdCBtZXNzYWdlIHRvIGJlIHByb2Nlc3NlZC4NCj4gPj4+DQo+ID4+PiBT aWduZWQtb2ZmLWJ5OiBIaWRlaGlybyBLYXdhaSA8aGlkZWhpcm8ua2F3YWkuZXpAaGl0YWNoaS5j b20+DQo+ID4+PiAtLS0NCj4gPj4+ICBkcml2ZXJzL2NoYXIvaXBtaS9pcG1pX2tjc19zbS5jIHwg ICAgNCArKysrDQo+ID4+PiAgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQ0KPiA+Pj4N Cj4gPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvaXBtaS9pcG1pX2tjc19zbS5jIGIvZHJp dmVycy9jaGFyL2lwbWkvaXBtaV9rY3Nfc20uYw0KPiA+Pj4gaW5kZXggOGMyNWY1OS4uMGUxODdm YiAxMDA2NDQNCj4gPj4+IC0tLSBhL2RyaXZlcnMvY2hhci9pcG1pL2lwbWlfa2NzX3NtLmMNCj4g Pj4+ICsrKyBiL2RyaXZlcnMvY2hhci9pcG1pL2lwbWlfa2NzX3NtLmMNCj4gPj4+IEBAIC0zNTMs NiArMzUzLDEwIEBAIHN0YXRpYyBlbnVtIHNpX3NtX3Jlc3VsdCBrY3NfZXZlbnQoc3RydWN0IHNp X3NtX2RhdGEgKmtjcywgbG9uZyB0aW1lKQ0KPiA+Pj4gIAlpZiAoa2NzX2RlYnVnICYgS0NTX0RF QlVHX1NUQVRFUykNCj4gPj4+ICAJCXByaW50ayhLRVJOX0RFQlVHICJLQ1M6IFN0YXRlID0gJWQs ICV4XG4iLCBrY3MtPnN0YXRlLCBzdGF0dXMpOw0KPiA+Pj4NCj4gPj4+ICsJLyogV2UgZG9uJ3Qg d2FudCB0byBydW4gdGhlIHN0YXRlIG1hY2hpbmUgd2hlbiB0aGUgc3RhdGUgaXMgSURMRSAqLw0K PiA+Pj4gKwlpZiAoa2NzLT5zdGF0ZSA9PSBLQ1NfSURMRSkNCj4gPj4+ICsJCXJldHVybiBTSV9T TV9JRExFOw0KPiA+Pj4gKw0KPiA+Pj4gIAkvKiBBbGwgc3RhdGVzIHdhaXQgZm9yIGliZiwgc28g anVzdCBkbyBpdCBoZXJlLiAqLw0KPiA+Pj4gIAlpZiAoIWNoZWNrX2liZihrY3MsIHN0YXR1cywg dGltZSkpDQo+ID4+PiAgCQlyZXR1cm4gU0lfU01fQ0FMTF9XSVRIX0RFTEFZOw0KPiA+Pj4NCj4g Pj4+DQoNCg== -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Corey Minyard <minyard@acm.org> |
|---|---|
| Date | 2015-08-24 18:10 +0200 |
| Message-ID | <q12tQ-4cs-5@gated-at.bofh.it> |
| In reply to | #1211723 |
On 08/23/2015 08:52 PM, 河合英宏 / KAWAI,HIDEHIRO wrote: >> From: Corey Minyard [mailto:tcminyard@gmail.com] On Behalf Of Corey Minyard >> >> On 08/17/2015 09:54 PM, 河合英宏 / KAWAI,HIDEHIRO wrote: >>>> From: Corey Minyard [mailto:tcminyard@gmail.com] On Behalf Of Corey Minyard >>>> >>>> This patch will break ATN handling on the interfaces. So we can't do this. >>> I understand. So how about doing like this: >>> >>> /* All states wait for ibf, so just do it here. */ >>> - if (!check_ibf(kcs, status, time)) >>> + if (kcs->state != KCS_IDLE && !check_ibf(kcs, status, time)) >>> return SI_SM_CALL_WITH_DELAY; >>> >>> I think it is not necessary to wait IBF when the state is IDLE. >>> In this way, we can also handle the ATN case. >> I think it would be more reliable to go up a level and add a timeout. > It may be so, but we should address this issue separately (at least > I think above solution reasonably solves the issue). > > This issue happens after all queued messages are processed or dropped > by timeout. There is no current message. So what should we set > a timeout against? We can add a timeout into my new flush_messages(), > but that is meaningful only in panic context. That doesn't help > in normal context; we would perform a busy loop of smi_event_handler() > and schedule() in ipmi_thread(). I'm a little confused here. Is the problem that the ATN bit is stuck high? If so, it's going to be really hard to work around this without breaking ATN handling. -corey > > Regards, > > Hidehiro Kawai > >> One should >> be there, anyway. I thought they were all covered, but I may have missed >> something. >> >> -corey >> >>> Regards, >>> >>> Hidehiro Kawai >>> Hitachi, Ltd. Research & Development Group >>> >>>> It's going to be extremely hard to recover if the BMC is not working >>>> correctly when a panic happens. I'm not sure what can be done, but if >>>> you can fix it another way it would be good. >>>> >>>> -corey >>>> >>>> On 07/27/2015 12:55 AM, Hidehiro Kawai wrote: >>>>> If a BMC is unresponsive for some reason, it ends up completing >>>>> the requested message as an error, then kcs_event() is called once >>>>> to advance the state machine. However, since the BMC is >>>>> unresponsive now, the status of the KCS interface may not be >>>>> idle. As the result, the state machine can continue to run and >>>>> comsume CPU time indefinitely even if there is no more request >>>>> message. Moreover, if this happens in run-to-completion mode >>>>> (i.e. context of panic_event()), the kernel hangs up. >>>>> >>>>> To fix this problem, this patch ignores kcs_event() call if there >>>>> is no request message to be processed. >>>>> >>>>> Signed-off-by: Hidehiro Kawai <hidehiro.kawai.ez@hitachi.com> >>>>> --- >>>>> drivers/char/ipmi/ipmi_kcs_sm.c | 4 ++++ >>>>> 1 file changed, 4 insertions(+) >>>>> >>>>> diff --git a/drivers/char/ipmi/ipmi_kcs_sm.c b/drivers/char/ipmi/ipmi_kcs_sm.c >>>>> index 8c25f59..0e187fb 100644 >>>>> --- a/drivers/char/ipmi/ipmi_kcs_sm.c >>>>> +++ b/drivers/char/ipmi/ipmi_kcs_sm.c >>>>> @@ -353,6 +353,10 @@ static enum si_sm_result kcs_event(struct si_sm_data *kcs, long time) >>>>> if (kcs_debug & KCS_DEBUG_STATES) >>>>> printk(KERN_DEBUG "KCS: State = %d, %x\n", kcs->state, status); >>>>> >>>>> + /* We don't want to run the state machine when the state is IDLE */ >>>>> + if (kcs->state == KCS_IDLE) >>>>> + return SI_SM_IDLE; >>>>> + >>>>> /* All states wait for ibf, so just do it here. */ >>>>> if (!check_ibf(kcs, status, time)) >>>>> return SI_SM_CALL_WITH_DELAY; >>>>> >>>>> -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | 河合英宏 / KAWAI,HIDEHIRO <hidehiro.kawai.ez@hitachi.com> |
|---|---|
| Date | 2015-08-25 06:00 +0200 |
| Message-ID | <q1dyW-3lN-1@gated-at.bofh.it> |
| In reply to | #1212326 |
PiBGcm9tOiBDb3JleSBNaW55YXJkIFttYWlsdG86dGNtaW55YXJkQGdtYWlsLmNvbV0gT24gQmVo YWxmIE9mIENvcmV5IE1pbnlhcmQNCj4gDQo+IE9uIDA4LzIzLzIwMTUgMDg6NTIgUE0sIOays+WQ iOiLseWujyAvIEtBV0FJ77yMSElERUhJUk8gd3JvdGU6DQo+ID4+IEZyb206IENvcmV5IE1pbnlh cmQgW21haWx0bzp0Y21pbnlhcmRAZ21haWwuY29tXSBPbiBCZWhhbGYgT2YgQ29yZXkgTWlueWFy ZA0KPiA+Pg0KPiA+PiBPbiAwOC8xNy8yMDE1IDA5OjU0IFBNLCDmsrPlkIjoi7Hlro8gLyBLQVdB Se+8jEhJREVISVJPIHdyb3RlOg0KPiA+Pj4+IEZyb206IENvcmV5IE1pbnlhcmQgW21haWx0bzp0 Y21pbnlhcmRAZ21haWwuY29tXSBPbiBCZWhhbGYgT2YgQ29yZXkgTWlueWFyZA0KPiA+Pj4+DQo+ ID4+Pj4gVGhpcyBwYXRjaCB3aWxsIGJyZWFrIEFUTiBoYW5kbGluZyBvbiB0aGUgaW50ZXJmYWNl cy4gIFNvIHdlIGNhbid0IGRvIHRoaXMuDQo+ID4+PiBJIHVuZGVyc3RhbmQuICBTbyBob3cgYWJv dXQgZG9pbmcgbGlrZSB0aGlzOg0KPiA+Pj4NCj4gPj4+IAkvKiBBbGwgc3RhdGVzIHdhaXQgZm9y IGliZiwgc28ganVzdCBkbyBpdCBoZXJlLiAqLw0KPiA+Pj4gLQlpZiAoIWNoZWNrX2liZihrY3Ms IHN0YXR1cywgdGltZSkpDQo+ID4+PiArCWlmIChrY3MtPnN0YXRlICE9IEtDU19JRExFICYmICFj aGVja19pYmYoa2NzLCBzdGF0dXMsIHRpbWUpKQ0KPiA+Pj4gCQlyZXR1cm4gU0lfU01fQ0FMTF9X SVRIX0RFTEFZOw0KPiA+Pj4NCj4gPj4+IEkgdGhpbmsgaXQgaXMgbm90IG5lY2Vzc2FyeSB0byB3 YWl0IElCRiB3aGVuIHRoZSBzdGF0ZSBpcyBJRExFLg0KPiA+Pj4gSW4gdGhpcyB3YXksIHdlIGNh biBhbHNvIGhhbmRsZSB0aGUgQVROIGNhc2UuDQo+ID4+IEkgdGhpbmsgaXQgd291bGQgYmUgbW9y ZSByZWxpYWJsZSB0byBnbyB1cCBhIGxldmVsIGFuZCBhZGQgYSB0aW1lb3V0Lg0KPiA+IEl0IG1h eSBiZSBzbywgYnV0IHdlIHNob3VsZCBhZGRyZXNzIHRoaXMgaXNzdWUgc2VwYXJhdGVseSAoYXQg bGVhc3QNCj4gPiBJIHRoaW5rIGFib3ZlIHNvbHV0aW9uIHJlYXNvbmFibHkgc29sdmVzIHRoZSBp c3N1ZSkuDQo+ID4NCj4gPiBUaGlzIGlzc3VlIGhhcHBlbnMgYWZ0ZXIgYWxsIHF1ZXVlZCBtZXNz YWdlcyBhcmUgcHJvY2Vzc2VkIG9yIGRyb3BwZWQNCj4gPiBieSB0aW1lb3V0LiAgVGhlcmUgaXMg bm8gY3VycmVudCBtZXNzYWdlLiAgU28gd2hhdCBzaG91bGQgd2Ugc2V0DQo+ID4gYSB0aW1lb3V0 IGFnYWluc3Q/ICBXZSBjYW4gYWRkIGEgdGltZW91dCBpbnRvIG15IG5ldyBmbHVzaF9tZXNzYWdl cygpLA0KPiA+IGJ1dCB0aGF0IGlzIG1lYW5pbmdmdWwgb25seSBpbiBwYW5pYyBjb250ZXh0LiAg VGhhdCBkb2Vzbid0IGhlbHANCj4gPiBpbiBub3JtYWwgY29udGV4dDsgd2Ugd291bGQgcGVyZm9y bSBhIGJ1c3kgbG9vcCBvZiBzbWlfZXZlbnRfaGFuZGxlcigpDQo+ID4gYW5kIHNjaGVkdWxlKCkg aW4gaXBtaV90aHJlYWQoKS4NCj4gDQo+IEknbSBhIGxpdHRsZSBjb25mdXNlZCBoZXJlLiAgSXMg dGhlIHByb2JsZW0gdGhhdCB0aGUgQVROIGJpdCBpcyBzdHVjaw0KPiBoaWdoPyAgSWYgc28sIGl0 J3MgZ29pbmcgdG8gYmUgcmVhbGx5IGhhcmQgdG8gd29yayBhcm91bmQgdGhpcyB3aXRob3V0DQo+ IGJyZWFraW5nIEFUTiBoYW5kbGluZy4NCg0KU29ycnkgZm9yIG15IGluc3VmZmljaWVudCBleHBs YW5hdGlvbi4gIEkgYXNzdW1lIHRoZSBjYXNlIHdoZXJlDQpJQkYgYml0IGlzIGFsd2F5cyAxLiAg SSBkb24ndCBrbm93IHdoYXQgaGFwcGVucyB3aGVuDQpCTUMgaGFuZ3MgdXAsIGJ1dCBJIGd1ZXNz IElCRiBzdGF5cyBpbiAxIGJlY2F1c2UgbXkgc2VydmVyJ3MNCkJNQyBiZWhhdmVzIGFzIHN1Y2gg d2hpbGUgcmVib290aW5nLg0KDQpSZWdhcmRzLA0KDQpIaWRlaGlybyBLYXdhaQ0KDQo+ID4+IE9u ZSBzaG91bGQNCj4gPj4gYmUgdGhlcmUsIGFueXdheS4gIEkgdGhvdWdodCB0aGV5IHdlcmUgYWxs IGNvdmVyZWQsIGJ1dCBJIG1heSBoYXZlIG1pc3NlZA0KPiA+PiBzb21ldGhpbmcuDQo+ID4+DQo+ ID4+IC1jb3JleQ0KPiA+Pg0KPiA+Pj4gUmVnYXJkcywNCj4gPj4+DQo+ID4+PiBIaWRlaGlybyBL YXdhaQ0KPiA+Pj4gSGl0YWNoaSwgTHRkLiBSZXNlYXJjaCAmIERldmVsb3BtZW50IEdyb3VwDQo+ ID4+Pg0KPiA+Pj4+IEl0J3MgZ29pbmcgdG8gYmUgZXh0cmVtZWx5IGhhcmQgdG8gcmVjb3ZlciBp ZiB0aGUgQk1DIGlzIG5vdCB3b3JraW5nDQo+ID4+Pj4gY29ycmVjdGx5IHdoZW4gYSBwYW5pYyBo YXBwZW5zLiAgSSdtIG5vdCBzdXJlIHdoYXQgY2FuIGJlIGRvbmUsIGJ1dCBpZg0KPiA+Pj4+IHlv dSBjYW4gZml4IGl0IGFub3RoZXIgd2F5IGl0IHdvdWxkIGJlIGdvb2QuDQo+ID4+Pj4NCj4gPj4+ PiAtY29yZXkNCj4gPj4+Pg0KPiA+Pj4+IE9uIDA3LzI3LzIwMTUgMTI6NTUgQU0sIEhpZGVoaXJv IEthd2FpIHdyb3RlOg0KPiA+Pj4+PiBJZiBhIEJNQyBpcyB1bnJlc3BvbnNpdmUgZm9yIHNvbWUg cmVhc29uLCBpdCBlbmRzIHVwIGNvbXBsZXRpbmcNCj4gPj4+Pj4gdGhlIHJlcXVlc3RlZCBtZXNz YWdlIGFzIGFuIGVycm9yLCB0aGVuIGtjc19ldmVudCgpIGlzIGNhbGxlZCBvbmNlDQo+ID4+Pj4+ IHRvIGFkdmFuY2UgdGhlIHN0YXRlIG1hY2hpbmUuICBIb3dldmVyLCBzaW5jZSB0aGUgQk1DIGlz DQo+ID4+Pj4+IHVucmVzcG9uc2l2ZSBub3csIHRoZSBzdGF0dXMgb2YgdGhlIEtDUyBpbnRlcmZh Y2UgbWF5IG5vdCBiZQ0KPiA+Pj4+PiBpZGxlLiAgQXMgdGhlIHJlc3VsdCwgdGhlIHN0YXRlIG1h Y2hpbmUgY2FuIGNvbnRpbnVlIHRvIHJ1biBhbmQNCj4gPj4+Pj4gY29tc3VtZSBDUFUgdGltZSBp bmRlZmluaXRlbHkgZXZlbiBpZiB0aGVyZSBpcyBubyBtb3JlIHJlcXVlc3QNCj4gPj4+Pj4gbWVz c2FnZS4gIE1vcmVvdmVyLCBpZiB0aGlzIGhhcHBlbnMgaW4gcnVuLXRvLWNvbXBsZXRpb24gbW9k ZQ0KPiA+Pj4+PiAoaS5lLiBjb250ZXh0IG9mIHBhbmljX2V2ZW50KCkpLCB0aGUga2VybmVsIGhh bmdzIHVwLg0KPiA+Pj4+Pg0KPiA+Pj4+PiBUbyBmaXggdGhpcyBwcm9ibGVtLCB0aGlzIHBhdGNo IGlnbm9yZXMga2NzX2V2ZW50KCkgY2FsbCBpZiB0aGVyZQ0KPiA+Pj4+PiBpcyBubyByZXF1ZXN0 IG1lc3NhZ2UgdG8gYmUgcHJvY2Vzc2VkLg0KPiA+Pj4+Pg0KPiA+Pj4+PiBTaWduZWQtb2ZmLWJ5 OiBIaWRlaGlybyBLYXdhaSA8aGlkZWhpcm8ua2F3YWkuZXpAaGl0YWNoaS5jb20+DQo+ID4+Pj4+ IC0tLQ0KPiA+Pj4+PiAgZHJpdmVycy9jaGFyL2lwbWkvaXBtaV9rY3Nfc20uYyB8ICAgIDQgKysr Kw0KPiA+Pj4+PiAgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQ0KPiA+Pj4+Pg0KPiA+ Pj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2lwbWkvaXBtaV9rY3Nfc20uYyBiL2RyaXZl cnMvY2hhci9pcG1pL2lwbWlfa2NzX3NtLmMNCj4gPj4+Pj4gaW5kZXggOGMyNWY1OS4uMGUxODdm YiAxMDA2NDQNCj4gPj4+Pj4gLS0tIGEvZHJpdmVycy9jaGFyL2lwbWkvaXBtaV9rY3Nfc20uYw0K PiA+Pj4+PiArKysgYi9kcml2ZXJzL2NoYXIvaXBtaS9pcG1pX2tjc19zbS5jDQo+ID4+Pj4+IEBA IC0zNTMsNiArMzUzLDEwIEBAIHN0YXRpYyBlbnVtIHNpX3NtX3Jlc3VsdCBrY3NfZXZlbnQoc3Ry dWN0IHNpX3NtX2RhdGEgKmtjcywgbG9uZyB0aW1lKQ0KPiA+Pj4+PiAgCWlmIChrY3NfZGVidWcg JiBLQ1NfREVCVUdfU1RBVEVTKQ0KPiA+Pj4+PiAgCQlwcmludGsoS0VSTl9ERUJVRyAiS0NTOiBT dGF0ZSA9ICVkLCAleFxuIiwga2NzLT5zdGF0ZSwgc3RhdHVzKTsNCj4gPj4+Pj4NCj4gPj4+Pj4g KwkvKiBXZSBkb24ndCB3YW50IHRvIHJ1biB0aGUgc3RhdGUgbWFjaGluZSB3aGVuIHRoZSBzdGF0 ZSBpcyBJRExFICovDQo+ID4+Pj4+ICsJaWYgKGtjcy0+c3RhdGUgPT0gS0NTX0lETEUpDQo+ID4+ Pj4+ICsJCXJldHVybiBTSV9TTV9JRExFOw0KPiA+Pj4+PiArDQo+ID4+Pj4+ICAJLyogQWxsIHN0 YXRlcyB3YWl0IGZvciBpYmYsIHNvIGp1c3QgZG8gaXQgaGVyZS4gKi8NCj4gPj4+Pj4gIAlpZiAo IWNoZWNrX2liZihrY3MsIHN0YXR1cywgdGltZSkpDQo+ID4+Pj4+ICAJCXJldHVybiBTSV9TTV9D QUxMX1dJVEhfREVMQVk7DQo+ID4+Pj4+DQo+ID4+Pj4+DQoNCg== -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Corey Minyard <minyard@acm.org> |
|---|---|
| Date | 2015-08-26 22:30 +0200 |
| Message-ID | <q1Puz-7Y2-35@gated-at.bofh.it> |
| In reply to | #1212682 |
On 08/24/2015 10:53 PM, 河合英宏 / KAWAI,HIDEHIRO wrote: >> From: Corey Minyard [mailto:tcminyard@gmail.com] On Behalf Of Corey Minyard >> >> On 08/23/2015 08:52 PM, 河合英宏 / KAWAI,HIDEHIRO wrote: >>>> From: Corey Minyard [mailto:tcminyard@gmail.com] On Behalf Of Corey Minyard >>>> >>>> On 08/17/2015 09:54 PM, 河合英宏 / KAWAI,HIDEHIRO wrote: >>>>>> From: Corey Minyard [mailto:tcminyard@gmail.com] On Behalf Of Corey Minyard >>>>>> >>>>>> This patch will break ATN handling on the interfaces. So we can't do this. >>>>> I understand. So how about doing like this: >>>>> >>>>> /* All states wait for ibf, so just do it here. */ >>>>> - if (!check_ibf(kcs, status, time)) >>>>> + if (kcs->state != KCS_IDLE && !check_ibf(kcs, status, time)) >>>>> return SI_SM_CALL_WITH_DELAY; >>>>> >>>>> I think it is not necessary to wait IBF when the state is IDLE. >>>>> In this way, we can also handle the ATN case. >>>> I think it would be more reliable to go up a level and add a timeout. >>> It may be so, but we should address this issue separately (at least >>> I think above solution reasonably solves the issue). >>> >>> This issue happens after all queued messages are processed or dropped >>> by timeout. There is no current message. So what should we set >>> a timeout against? We can add a timeout into my new flush_messages(), >>> but that is meaningful only in panic context. That doesn't help >>> in normal context; we would perform a busy loop of smi_event_handler() >>> and schedule() in ipmi_thread(). >> I'm a little confused here. Is the problem that the ATN bit is stuck >> high? If so, it's going to be really hard to work around this without >> breaking ATN handling. > Sorry for my insufficient explanation. I assume the case where > IBF bit is always 1. I don't know what happens when > BMC hangs up, but I guess IBF stays in 1 because my server's > BMC behaves as such while rebooting. > Ok, your patch above makes sense, then. IBF is irrelevant when in idle state, so ignore it then, and then in your case it will return KCS_IDLE and cause that operation to complete. I'm ok with the patch you posted above, I think it will work correctly and solve the problem. I would like a detailed comment, though, so people (forgetful people like me :) can figure out why it is there. I'd also like to save this one until 4.4 to give it some time in linux-next for people to find issues. Thanks, -corey -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | 河合英宏 / KAWAI,HIDEHIRO <hidehiro.kawai.ez@hitachi.com> |
|---|---|
| Date | 2015-08-27 03:40 +0200 |
| Message-ID | <q1Ukx-6pj-3@gated-at.bofh.it> |
| In reply to | #1214172 |
PiBGcm9tOiBDb3JleSBNaW55YXJkIFttYWlsdG86dGNtaW55YXJkQGdtYWlsLmNvbV0gT24gQmVo YWxmIE9mIENvcmV5IE1pbnlhcmQNCj4gDQo+IE9uIDA4LzI0LzIwMTUgMTA6NTMgUE0sIOays+WQ iOiLseWujyAvIEtBV0FJ77yMSElERUhJUk8gd3JvdGU6DQo+ID4+IEZyb206IENvcmV5IE1pbnlh cmQgW21haWx0bzp0Y21pbnlhcmRAZ21haWwuY29tXSBPbiBCZWhhbGYgT2YgQ29yZXkgTWlueWFy ZA0KPiA+Pg0KPiA+PiBPbiAwOC8yMy8yMDE1IDA4OjUyIFBNLCDmsrPlkIjoi7Hlro8gLyBLQVdB Se+8jEhJREVISVJPIHdyb3RlOg0KPiA+Pj4+IEZyb206IENvcmV5IE1pbnlhcmQgW21haWx0bzp0 Y21pbnlhcmRAZ21haWwuY29tXSBPbiBCZWhhbGYgT2YgQ29yZXkgTWlueWFyZA0KPiA+Pj4+DQo+ ID4+Pj4gT24gMDgvMTcvMjAxNSAwOTo1NCBQTSwg5rKz5ZCI6Iux5a6PIC8gS0FXQUnvvIxISURF SElSTyB3cm90ZToNCj4gPj4+Pj4+IEZyb206IENvcmV5IE1pbnlhcmQgW21haWx0bzp0Y21pbnlh cmRAZ21haWwuY29tXSBPbiBCZWhhbGYgT2YgQ29yZXkgTWlueWFyZA0KPiA+Pj4+Pj4NCj4gPj4+ Pj4+IFRoaXMgcGF0Y2ggd2lsbCBicmVhayBBVE4gaGFuZGxpbmcgb24gdGhlIGludGVyZmFjZXMu ICBTbyB3ZSBjYW4ndCBkbyB0aGlzLg0KPiA+Pj4+PiBJIHVuZGVyc3RhbmQuICBTbyBob3cgYWJv dXQgZG9pbmcgbGlrZSB0aGlzOg0KPiA+Pj4+Pg0KPiA+Pj4+PiAJLyogQWxsIHN0YXRlcyB3YWl0 IGZvciBpYmYsIHNvIGp1c3QgZG8gaXQgaGVyZS4gKi8NCj4gPj4+Pj4gLQlpZiAoIWNoZWNrX2li ZihrY3MsIHN0YXR1cywgdGltZSkpDQo+ID4+Pj4+ICsJaWYgKGtjcy0+c3RhdGUgIT0gS0NTX0lE TEUgJiYgIWNoZWNrX2liZihrY3MsIHN0YXR1cywgdGltZSkpDQo+ID4+Pj4+IAkJcmV0dXJuIFNJ X1NNX0NBTExfV0lUSF9ERUxBWTsNCj4gPj4+Pj4NCj4gPj4+Pj4gSSB0aGluayBpdCBpcyBub3Qg bmVjZXNzYXJ5IHRvIHdhaXQgSUJGIHdoZW4gdGhlIHN0YXRlIGlzIElETEUuDQo+ID4+Pj4+IElu IHRoaXMgd2F5LCB3ZSBjYW4gYWxzbyBoYW5kbGUgdGhlIEFUTiBjYXNlLg0KPiA+Pj4+IEkgdGhp bmsgaXQgd291bGQgYmUgbW9yZSByZWxpYWJsZSB0byBnbyB1cCBhIGxldmVsIGFuZCBhZGQgYSB0 aW1lb3V0Lg0KPiA+Pj4gSXQgbWF5IGJlIHNvLCBidXQgd2Ugc2hvdWxkIGFkZHJlc3MgdGhpcyBp c3N1ZSBzZXBhcmF0ZWx5IChhdCBsZWFzdA0KPiA+Pj4gSSB0aGluayBhYm92ZSBzb2x1dGlvbiBy ZWFzb25hYmx5IHNvbHZlcyB0aGUgaXNzdWUpLg0KPiA+Pj4NCj4gPj4+IFRoaXMgaXNzdWUgaGFw cGVucyBhZnRlciBhbGwgcXVldWVkIG1lc3NhZ2VzIGFyZSBwcm9jZXNzZWQgb3IgZHJvcHBlZA0K PiA+Pj4gYnkgdGltZW91dC4gIFRoZXJlIGlzIG5vIGN1cnJlbnQgbWVzc2FnZS4gIFNvIHdoYXQg c2hvdWxkIHdlIHNldA0KPiA+Pj4gYSB0aW1lb3V0IGFnYWluc3Q/ICBXZSBjYW4gYWRkIGEgdGlt ZW91dCBpbnRvIG15IG5ldyBmbHVzaF9tZXNzYWdlcygpLA0KPiA+Pj4gYnV0IHRoYXQgaXMgbWVh bmluZ2Z1bCBvbmx5IGluIHBhbmljIGNvbnRleHQuICBUaGF0IGRvZXNuJ3QgaGVscA0KPiA+Pj4g aW4gbm9ybWFsIGNvbnRleHQ7IHdlIHdvdWxkIHBlcmZvcm0gYSBidXN5IGxvb3Agb2Ygc21pX2V2 ZW50X2hhbmRsZXIoKQ0KPiA+Pj4gYW5kIHNjaGVkdWxlKCkgaW4gaXBtaV90aHJlYWQoKS4NCj4g Pj4gSSdtIGEgbGl0dGxlIGNvbmZ1c2VkIGhlcmUuICBJcyB0aGUgcHJvYmxlbSB0aGF0IHRoZSBB VE4gYml0IGlzIHN0dWNrDQo+ID4+IGhpZ2g/ICBJZiBzbywgaXQncyBnb2luZyB0byBiZSByZWFs bHkgaGFyZCB0byB3b3JrIGFyb3VuZCB0aGlzIHdpdGhvdXQNCj4gPj4gYnJlYWtpbmcgQVROIGhh bmRsaW5nLg0KPiA+IFNvcnJ5IGZvciBteSBpbnN1ZmZpY2llbnQgZXhwbGFuYXRpb24uICBJIGFz c3VtZSB0aGUgY2FzZSB3aGVyZQ0KPiA+IElCRiBiaXQgaXMgYWx3YXlzIDEuICBJIGRvbid0IGtu b3cgd2hhdCBoYXBwZW5zIHdoZW4NCj4gPiBCTUMgaGFuZ3MgdXAsIGJ1dCBJIGd1ZXNzIElCRiBz dGF5cyBpbiAxIGJlY2F1c2UgbXkgc2VydmVyJ3MNCj4gPiBCTUMgYmVoYXZlcyBhcyBzdWNoIHdo aWxlIHJlYm9vdGluZy4NCj4gPg0KPiBPaywgeW91ciBwYXRjaCBhYm92ZSBtYWtlcyBzZW5zZSwg dGhlbi4gIElCRiBpcyBpcnJlbGV2YW50IHdoZW4gaW4gaWRsZQ0KPiBzdGF0ZSwNCj4gc28gaWdu b3JlIGl0IHRoZW4sIGFuZCB0aGVuIGluIHlvdXIgY2FzZSBpdCB3aWxsIHJldHVybiBLQ1NfSURM RSBhbmQNCj4gY2F1c2UgdGhhdA0KPiBvcGVyYXRpb24gdG8gY29tcGxldGUuICBJJ20gb2sgd2l0 aCB0aGUgcGF0Y2ggeW91IHBvc3RlZCBhYm92ZSwgSSB0aGluaw0KPiBpdCB3aWxsDQo+IHdvcmsg Y29ycmVjdGx5IGFuZCBzb2x2ZSB0aGUgcHJvYmxlbS4NCj4gDQo+IEkgd291bGQgbGlrZSBhIGRl dGFpbGVkIGNvbW1lbnQsIHRob3VnaCwgc28gcGVvcGxlIChmb3JnZXRmdWwgcGVvcGxlDQo+IGxp a2UgbWUgOikNCj4gY2FuIGZpZ3VyZSBvdXQgd2h5IGl0IGlzIHRoZXJlLg0KDQpTdXJlLiAgSSds bCBwb3N0IHRoZSByZXZpc2VkIHZlcnNpb24gd2l0aCBkZXRhaWxlZCBjb21tZW50IGFuZA0KZGVz Y3JpcHRpb24gbGF0ZXIgaW5jbHVkaW5nIFBBVENIIDYvNy4NCg0KVGhhbmtzLA0KDQpIaWRlaGly byBLYXdhaQ0KDQo= -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web