From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31120 invoked by alias); 21 Sep 2006 20:57:48 -0000 Received: (qmail 31110 invoked by uid 22791); 21 Sep 2006 20:57:48 -0000 X-Spam-Check-By: sourceware.org Received: from nevyn.them.org (HELO nevyn.them.org) (66.93.172.17) by sourceware.org (qpsmtpd/0.31.1) with ESMTP; Thu, 21 Sep 2006 20:57:46 +0000 Received: from drow by nevyn.them.org with local (Exim 4.54) id 1GQVc7-0001Jv-Nl; Thu, 21 Sep 2006 16:57:43 -0400 Date: Thu, 21 Sep 2006 20:57:00 -0000 From: Daniel Jacobowitz To: Michael Snyder Cc: gdb-patches@sourceware.org Subject: Re: [commit] Run length encoding for gdbserver Message-ID: <20060921205743.GA5015@nevyn.them.org> Mail-Followup-To: Michael Snyder , gdb-patches@sourceware.org References: <20060921161239.GA27629@nevyn.them.org> <1158872088.22863.9.camel@localhost.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1158872088.22863.9.camel@localhost.localdomain> User-Agent: Mutt/1.5.13 (2006-08-11) X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2006-09/txt/msg00133.txt.bz2 On Thu, Sep 21, 2006 at 01:54:48PM -0700, Michael Snyder wrote: > On Thu, 2006-09-21 at 12:12 -0400, Daniel Jacobowitz wrote: > > The remote protocol supports a simple run length encoding mechanism (in only > > one direction - from the stub to the client). This patch implements it in > > gdbserver. It doesn't make a huge difference to overall performance, but > > can reduce the amount of data sent in some cases by 50%. > > This should be a significant gain for libthread_db debugging, > where gdb does a lot of large memory reads behind the scenes. Except none of those reads go over the remote protocol - we only use libthread_db on the gdbserver side (plus qSymbol communication). > For stack traces it may not make that much difference, since > those reads are usually small. > > Does it work for register packets too? Yes. It even works for 'T' packet responses... but that doesn't work out, because the few characters we can't use to indicate the valid length of RLE packets correspond to something like 6, 7, and 8 bytes. -- Daniel Jacobowitz CodeSourcery