qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Laurent Vivier <Laurent.Vivier@bull.net>
To: Kevin Wolf <kwolf@suse.de>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [patch 1/5][v2] Extract code from get_cluster_offset()
Date: Tue, 05 Aug 2008 16:28:27 +0200	[thread overview]
Message-ID: <1217946507.3865.24.camel@frecb07144> (raw)
In-Reply-To: <48986078.6060701@suse.de>

Le mardi 05 août 2008 à 16:15 +0200, Kevin Wolf a écrit :
> Laurent Vivier schrieb:
> > Extract code from get_cluster_offset() into new functions:
> > 
> > - seek_l2_table()
> > 
> > Search an l2 offset in the l2_cache table.
> > 
> > - l2_load()
> > 
> > Read the l2 entry from disk
> > 
> > - l2_allocate()
> > 
> > Allocate a new l2 entry.
> > 
> > Signed-off-by: Laurent Vivier <Laurent.Vivier@bull.net>
> 
> Acked-by: Kevin Wolf <kwolf@suse.de>
> 
> 
> However, unrelated to your patch, I noticed that you touch code which
> could use more comments in some places. (Oh btw, why do you explain the
> new functions in the patch header but not in the code itself? But okay,
> these are more or less obvious.)

OK, you're right, I'll add some comments.

> > +static uint64_t *seek_l2_table(BDRVQcowState *s, uint64_t l2_offset)
> > +{
> > +    int i,j;
> > +
> > +    for(i = 0; i < L2_CACHE_SIZE; i++) {
> > +        if (l2_offset == s->l2_cache_offsets[i]) {
> > +            /* increment the hit count */
> > +            if (++s->l2_cache_counts[i] == 0xffffffff) {
> > +                for(j = 0; j < L2_CACHE_SIZE; j++) {
> > +                    s->l2_cache_counts[j] >>= 1;
> > +                }
> > +            }
> 
> This if block is one of them. While it's quite obvious that some counter
> is incremented, the action to avoid an overflow isn't. Why don't we do
> something like if (count < 0xffffffff) count++?
> 
> And l2_cache_counts is a bad name anyway, IMHO. I first thought of
> something like a reference counter (and then it would be definitely
> worth a comment; now it is debatable). l2_cache_hits could be a better name.

It is a cut&paste... so I don't know what it is really doing and I don't
want to modify something that has no direct link to the goal I reach...
even a variable name.

I'm currently testing these patches with encrypted disk and compressed
disk, and I've found a bug with encrypted one. I'll repost patches soon.

Thank you for your comments,
Laurent
-- 
----------------- Laurent.Vivier@bull.net  ------------------
  "La perfection est atteinte non quand il ne reste rien à
ajouter mais quand il ne reste rien à enlever." Saint Exupéry

  reply	other threads:[~2008-08-05 14:29 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-29 14:13 [Qemu-devel] [patch 0/5][v2] qcow2: improve I/O performance with cache=off Laurent Vivier
2008-07-29 14:13 ` [Qemu-devel] [patch 1/5][v2] Extract code from get_cluster_offset() Laurent Vivier
2008-08-05 14:15   ` Kevin Wolf
2008-08-05 14:28     ` Laurent Vivier [this message]
2008-08-05 14:34       ` Kevin Wolf
2008-08-05 14:45         ` Laurent Vivier
2008-07-29 14:13 ` [Qemu-devel] [patch 2/5][v2] Divide get_cluster_offset() Laurent Vivier
2008-08-05 15:13   ` Kevin Wolf
2008-08-05 15:25     ` Laurent Vivier
2008-08-05 15:41       ` Kevin Wolf
2008-07-29 14:13 ` [Qemu-devel] [patch 3/5][v2] Extract compressing part from alloc_cluster_offset() Laurent Vivier
2008-08-06 14:20   ` Kevin Wolf
2008-08-06 14:41     ` Laurent Vivier
2008-08-06 14:56       ` Kevin Wolf
2008-08-06 15:03         ` Laurent Vivier
2008-07-29 14:13 ` [Qemu-devel] [patch 4/5][v2] Aggregate same type clusters Laurent Vivier
2008-08-11 12:10   ` Kevin Wolf
2008-08-11 12:39     ` Laurent Vivier
2008-07-29 14:13 ` [Qemu-devel] [patch 5/5][v2] Try to aggregate free clusters and freed clusters Laurent Vivier
2008-08-11 13:13   ` Kevin Wolf
2008-08-11 14:04     ` Laurent Vivier
2008-08-11 14:42       ` Laurent Vivier
2008-08-11 15:03       ` Kevin Wolf
2008-07-29 19:15 ` [Qemu-devel] [patch 0/5][v2] qcow2: improve I/O performance with cache=off Anthony Liguori
2008-07-29 21:35   ` Laurent Vivier
2008-07-29 21:49     ` Anthony Liguori
2008-07-29 21:59       ` Laurent Vivier
2008-08-01 14:54         ` Anthony Liguori
2008-08-01 15:05           ` Laurent Vivier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1217946507.3865.24.camel@frecb07144 \
    --to=laurent.vivier@bull.net \
    --cc=kwolf@suse.de \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).