{"action":"created","issue":{"url":"https://api.github.com/repos/openbmc/btbridge/issues/4","labels_url":"https://api.github.com/repos/openbmc/btbridge/issues/4/labels{/name}","comments_url":"https://api.github.com/repos/openbmc/btbridge/issues/4/comments","events_url":"https://api.github.com/repos/openbmc/btbridge/issues/4/events","html_url":"https://github.com/openbmc/btbridge/issues/4","id":117362717,"number":4,"title":"btbridged is very slow","user":{"login":"causten","id":7440191,"avatar_url":"https://avatars.githubusercontent.com/u/7440191?v=3","gravatar_id":"","url":"https://api.github.com/users/causten","html_url":"https://github.com/causten","followers_url":"https://api.github.com/users/causten/followers","following_url":"https://api.github.com/users/causten/following{/other_user}","gists_url":"https://api.github.com/users/causten/gists{/gist_id}","starred_url":"https://api.github.com/users/causten/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/causten/subscriptions","organizations_url":"https://api.github.com/users/causten/orgs","repos_url":"https://api.github.com/users/causten/repos","events_url":"https://api.github.com/users/causten/events{/privacy}","received_events_url":"https://api.github.com/users/causten/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-11-17T14:14:12Z","updated_at":"2015-12-02T05:29:41Z","closed_at":null,"body":"Need to find a way to reduce the lag with ipmi calls.  A Barreleye with only 1/2 the dimm slots populated takes over 2 minutes to get past 1 istep in the IPL because each ipmi call takes 1/2 second to perform.  \r\n\r\n\r\nChanging  poll(context.fds, TOTAL_FDS, 1000); to  poll(context.fds, TOTAL_FDS, 10);  Gives me a 33% boost in IPL speed.  Maybe the poll loop can be variable, i.e. booting, the poll time would be very short, but then after Petitboot starts we can divert back to a > delay\r\n<camb> ChrisAusten: interesting, not surprised but interesting. If everything was working as it should I can't think why you would have observed that speedup\r\n<ChrisAusten> right, maybe the timeout isn't really hitting on 1000ms or 10ms.  i.e. what does the poll code use as a timer\r\n<ChrisAusten> because it is unlikely it is what we are setting it to be\r\n<camb> ChrisAusten: man 2 poll: Note that the timeout interval will be rounded up to the system clock granularity,\r\n<camb> ChrisAusten: lowering it to me seems to indicate that someone isn't waking the poll as often as it could be, and the short timeout is doing it for us\r\n<ChrisAusten> i could do one more before going to bed.  perhaps a -1 \r\n<jk-> that sounds like a bug in our poll implementation\r\n<jk-> (ie, that change should make no difference)\r\n<camb> jk-: for bt-host? that's what I'm looking for now\r\n<jk-> camb: yep\r\n* camb hopes my openbmc/dev remote is good, just updated it...\r\n<jk-> does that include the irq-based bt-host?\r\n<jk-> if not, we should try updating it\r\n<camb> jk-: looks like no and I'm finding a very suspicious number here in the driver:bt_host->poll_timer.expires += msecs_to_jiffies(500);\r\n<shenki> there is something wrong with the watchdog driver on barreleye, it's not being set up\r\n<shenki> i'll investigate tomorrow\r\n<shenki> using my kernel worked fine on barreleye\r\n<jk-> camb: ah, so we don't have the irq patch?\r\n<jk-> shenki: can we merge that?\r\n<camb> jk-: yeah nup, at least not in dev branch\r\n<ChrisAusten> 0 timeout was a few seconds worse the the 10ms timout \r\n<camb> ChrisAusten: 0 is going to cause it to go around stupidly fast, defs looks like the problem is the bt-hosts poll...\r\n<jk-> ok, we should try with that in place, and completely remove the poll timeout.\r\n<ChrisAusten> you guys need to code something up first? and we can try in 20 hours from now?\r\n<ChrisAusten> or you have a driver you can test now?\r\n<jk-> ChrisAusten: we have a patch that shoulds sort it"},"comment":{"url":"https://api.github.com/repos/openbmc/btbridge/issues/comments/161185879","html_url":"https://github.com/openbmc/btbridge/issues/4#issuecomment-161185879","issue_url":"https://api.github.com/repos/openbmc/btbridge/issues/4","id":161185879,"user":{"login":"causten","id":7440191,"avatar_url":"https://avatars.githubusercontent.com/u/7440191?v=3","gravatar_id":"","url":"https://api.github.com/users/causten","html_url":"https://github.com/causten","followers_url":"https://api.github.com/users/causten/followers","following_url":"https://api.github.com/users/causten/following{/other_user}","gists_url":"https://api.github.com/users/causten/gists{/gist_id}","starred_url":"https://api.github.com/users/causten/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/causten/subscriptions","organizations_url":"https://api.github.com/users/causten/orgs","repos_url":"https://api.github.com/users/causten/repos","events_url":"https://api.github.com/users/causten/events{/privacy}","received_events_url":"https://api.github.com/users/causten/received_events","type":"User","site_admin":false},"created_at":"2015-12-02T05:29:41Z","updated_at":"2015-12-02T05:29:41Z","body":"Fixed by moving to an interrupt based environment"}}