All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexander Graf <agraf-l3A5Bk7waGM@public.gmane.org>
To: Alexander Graf <agraf-l3A5Bk7waGM@public.gmane.org>
Cc: kvm-ppc <kvm-ppc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"kvm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org list"
	<kvm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Benjamin Herrenschmidt
	<benh-XVmvHMARGAS8U2dJNN8I7kB+6BGkLq7r@public.gmane.org>,
	Avi Kivity <avi-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Subject: Re: [PATCH] Use Little Endian for Dirty Bitmap
Date: Sat, 26 Sep 2009 16:35:33 +0200	[thread overview]
Message-ID: <E5C95425-8DCF-4EAA-A3F3-8E5ED9862CB3@suse.de> (raw)
In-Reply-To: <1248691134-54120-1-git-send-email-agraf-l3A5Bk7waGM@public.gmane.org>

bump

On 27.07.2009, at 12:38, Alexander Graf wrote:

> We currently use host endian long types to store information
> in the dirty bitmap.
>
> This works reasonably well on Little Endian targets, because the
> u32 after the first contains the next 32 bits. On Big Endian this
> breaks completely though, forcing us to be inventive here.
>
> So Ben suggested to always use Little Endian, which looks reasonable.
>
> We only have dirty bitmap implemented in Little Endian targets so far
> and since PowerPC would be the first Big Endian platform, we can just
> as well switch to Little Endian always with little effort without
> breaking existing targets.
>
> Signed-off-by: Alexander Graf <agraf-l3A5Bk7waGM@public.gmane.org>
> ---
> virt/kvm/kvm_main.c |    5 +++--
> 1 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
> index 17d8688..3482ad1 100644
> --- a/virt/kvm/kvm_main.c
> +++ b/virt/kvm/kvm_main.c
> @@ -48,6 +48,7 @@
> #include <asm/io.h>
> #include <asm/uaccess.h>
> #include <asm/pgtable.h>
> +#include <asm-generic/bitops/le.h>
>
> #ifdef KVM_COALESCED_MMIO_PAGE_OFFSET
> #include "coalesced_mmio.h"
> @@ -1656,8 +1657,8 @@ void mark_page_dirty(struct kvm *kvm, gfn_t gfn)
> 		unsigned long rel_gfn = gfn - memslot->base_gfn;
>
> 		/* avoid RMW */
> -		if (!test_bit(rel_gfn, memslot->dirty_bitmap))
> -			set_bit(rel_gfn, memslot->dirty_bitmap);
> +		if (!generic_test_le_bit(rel_gfn, memslot->dirty_bitmap))
> +			generic___set_le_bit(rel_gfn, memslot->dirty_bitmap);
> 	}
> }
>
> -- 
> 1.6.0.2
>
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: Alexander Graf <agraf@suse.de>
To: Alexander Graf <agraf-l3A5Bk7waGM@public.gmane.org>
Cc: kvm-ppc <kvm-ppc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"kvm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org list"
	<kvm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Benjamin Herrenschmidt
	<benh-XVmvHMARGAS8U2dJNN8I7kB+6BGkLq7r@public.gmane.org>,
	Avi Kivity <avi-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Subject: Re: [PATCH] Use Little Endian for Dirty Bitmap
Date: Sat, 26 Sep 2009 14:35:33 +0000	[thread overview]
Message-ID: <E5C95425-8DCF-4EAA-A3F3-8E5ED9862CB3@suse.de> (raw)
In-Reply-To: <1248691134-54120-1-git-send-email-agraf-l3A5Bk7waGM@public.gmane.org>

bump

On 27.07.2009, at 12:38, Alexander Graf wrote:

> We currently use host endian long types to store information
> in the dirty bitmap.
>
> This works reasonably well on Little Endian targets, because the
> u32 after the first contains the next 32 bits. On Big Endian this
> breaks completely though, forcing us to be inventive here.
>
> So Ben suggested to always use Little Endian, which looks reasonable.
>
> We only have dirty bitmap implemented in Little Endian targets so far
> and since PowerPC would be the first Big Endian platform, we can just
> as well switch to Little Endian always with little effort without
> breaking existing targets.
>
> Signed-off-by: Alexander Graf <agraf@suse.de>
> ---
> virt/kvm/kvm_main.c |    5 +++--
> 1 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
> index 17d8688..3482ad1 100644
> --- a/virt/kvm/kvm_main.c
> +++ b/virt/kvm/kvm_main.c
> @@ -48,6 +48,7 @@
> #include <asm/io.h>
> #include <asm/uaccess.h>
> #include <asm/pgtable.h>
> +#include <asm-generic/bitops/le.h>
>
> #ifdef KVM_COALESCED_MMIO_PAGE_OFFSET
> #include "coalesced_mmio.h"
> @@ -1656,8 +1657,8 @@ void mark_page_dirty(struct kvm *kvm, gfn_t gfn)
> 		unsigned long rel_gfn = gfn - memslot->base_gfn;
>
> 		/* avoid RMW */
> -		if (!test_bit(rel_gfn, memslot->dirty_bitmap))
> -			set_bit(rel_gfn, memslot->dirty_bitmap);
> +		if (!generic_test_le_bit(rel_gfn, memslot->dirty_bitmap))
> +			generic___set_le_bit(rel_gfn, memslot->dirty_bitmap);
> 	}
> }
>
> -- 
> 1.6.0.2
>
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


  parent reply	other threads:[~2009-09-26 14:35 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-07-27 10:38 [PATCH] Use Little Endian for Dirty Bitmap Alexander Graf
2009-07-27 10:38 ` Alexander Graf
     [not found] ` <1248691134-54120-1-git-send-email-agraf-l3A5Bk7waGM@public.gmane.org>
2009-09-26 14:35   ` Alexander Graf [this message]
2009-09-26 14:35     ` Alexander Graf
2009-09-29  0:08 ` Hollis Blanchard
2009-09-29  0:08   ` Hollis Blanchard
     [not found]   ` <1254182880.15622.157.camel-yDUrRDS8jBVhsM67afOH+sxtgHpCUUYS@public.gmane.org>
2009-09-29  0:10     ` Alexander Graf
2009-09-29  0:10       ` Alexander Graf

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=E5C95425-8DCF-4EAA-A3F3-8E5ED9862CB3@suse.de \
    --to=agraf-l3a5bk7wagm@public.gmane.org \
    --cc=avi-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=benh-XVmvHMARGAS8U2dJNN8I7kB+6BGkLq7r@public.gmane.org \
    --cc=kvm-ppc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=kvm-u79uwXL29TY76Z2rM5mHXA@public.gmane.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.