Øyvind Harboe wrote: > On Fri, May 8, 2009 at 1:18 AM, Magnus Lundin <lun...@mlu.mine.nu> wrote: > >> Ųyvind Harboe wrote: >> >>>> The problem with the "fix" and the whole change set is that the >>>> fields{1].in_value variable is not assigned any return value until after >>>> jtag_execute_queue(), and that is long after we exit this function and >>>> temp >>>> is out of scope. >>>> >>>> >>> Did you look at jtag_add_dr_scan_now() implemenation? >>> >>> It calls jtag_execute_queue_noclear(), so we *can* use stack variables >>> here for in_value. >>> >>> >>> >> Yes, not my favourite modification, and we do NOT want to call >> jtag_execute_queue for every value we vant to read, that will kill >> performance. >> > > I have profiled OpenOCD quite a bit and improved performance > for parport by 2x and other interfaces too. > (Michael Fischer did the tests, I don't remember the figures). > > If there are any measurable performance regressions from these > changes, then really we will be able to identify areas where > things can be optimized significantly by moving lots of small > calls into a bigger loop and then doing a large out/in scan and > post processing. > > >From my patches you can see that I *do* avoid flushing > the queue when possible. > > So if you see performance degradation and report it, I'll > look into fixing that degradation too and I'm pretty sure > we'll be *FASTER* than when we started. The code > will execute faster now, but that makes no difference > on a PC host, it's all about the roundtrip time... > > Ok, its late and I an a bit tired, but my suggestin for now is:
- modify parts of the code you work with, test things, leave the rest, take it slow, make sure this is the right track. :) Regards Magnus _______________________________________________ Openocd-development mailing list Openocd-development@lists.berlios.de https://lists.berlios.de/mailman/listinfo/openocd-development