Browse Source

target: DCC / target message backoff algorithm

by immediately polling again when we have received a message from
the target instead of waiting 100ms, we can hope for much better
performance. More than 100x? :-)

Change-Id: Ieaf0c6c8b6e5addc482895670ffbf9a743e07a29
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
Reviewed-on: http://openocd.zylin.com/27
Reviewed-by: Øyvind Harboe <oyvindharboe@gmail.com>
Tested-by: Øyvind Harboe <oyvindharboe@gmail.com>
tags/v0.6.0-rc1
Øyvind Harboe 12 years ago
committed by Øyvind Harboe
parent
commit
ea295bd694
1 changed files with 8 additions and 0 deletions
  1. +8
    -0
      src/server/server.c

+ 8
- 0
src/server/server.c View File

@@ -29,6 +29,7 @@

#include "server.h"
#include <target/target.h>
#include <target/target_request.h>
#include "openocd.h"
#include "tcl_server.h"
#include "telnet_server.h"
@@ -443,6 +444,13 @@ int server_loop(struct command_context *command_context)
poll_ok = true;
}

/* This is a simple back-off algorithm where we immediately
* re-poll if we did something this time around.
*
* This greatly improves performance of DCC.
*/
poll_ok = poll_ok || target_got_message();

for (service = services; service; service = service->next)
{
/* handle new connections on listeners */


Loading…
Cancel
Save