[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v6 07/33] util: introduce qemu_file_get_page_siz
From: |
Eduardo Habkost |
Subject: |
Re: [Qemu-devel] [PATCH v6 07/33] util: introduce qemu_file_get_page_size() |
Date: |
Sat, 31 Oct 2015 12:11:31 -0200 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Sat, Oct 31, 2015 at 04:09:56PM +0800, Xiao Guangrong wrote:
> On 10/30/2015 11:54 PM, Eduardo Habkost wrote:
> >On Fri, Oct 30, 2015 at 01:56:01PM +0800, Xiao Guangrong wrote:
> >>There are three places use the some logic to get the page size on
> >>the file path or file fd
> >>
> >>This patch introduces qemu_file_get_page_size() to unify the code
> >>
> >>Signed-off-by: Xiao Guangrong <address@hidden>
[...]
> >>diff --git a/target-ppc/kvm.c b/target-ppc/kvm.c
> >>index ac70f08..c661f1c 100644
> >>--- a/target-ppc/kvm.c
> >>+++ b/target-ppc/kvm.c
> >>@@ -308,28 +308,13 @@ static void kvm_get_smmu_info(PowerPCCPU *cpu, struct
> >>kvm_ppc_smmu_info *info)
> >>
> >> static long gethugepagesize(const char *mem_path)
> >> {
> >>- struct statfs fs;
> >>- int ret;
> >>-
> >>- do {
> >>- ret = statfs(mem_path, &fs);
> >>- } while (ret != 0 && errno == EINTR);
> >>+ long size = qemu_file_get_page_size(mem_path);
> >>
> >>- if (ret != 0) {
> >>- fprintf(stderr, "Couldn't statfs() memory path: %s\n",
> >>- strerror(errno));
> >>+ if (!size) {
> >> exit(1);
> >> }
> >>
> >>-#define HUGETLBFS_MAGIC 0x958458f6
> >>-
> >>- if (fs.f_type != HUGETLBFS_MAGIC) {
> >>- /* Explicit mempath, but it's ordinary pages */
> >>- return getpagesize();
> >>- }
> >>-
> >>- /* It's hugepage, return the huge page size */
> >>- return fs.f_bsize;
> >>+ return size;
> >> }
> >
> >Why are you changing target-ppc/kvm.c:gethugepagesize() to use the new
> >funtion, but not the copy at exec.c? To make it simpler, we could
> >eliminate both gethugepagesize() functions completely and replace them
> >with qemu_file_get_page_size() calls (maybe as part of this patch, maybe
> >in a separate patch, I'm not sure).
> >
>
> The gethugepagesize() in exec.c will be eliminated in later patch :).
That's true. I was just expecting to see the change that eliminates
gethugepagesize() in exec.c here instead of patch 08/33. Simple cleanups
that just eliminate code duplication without change in behavior are
easier to review and more likely to be included before the rest of the
series.
>
> And the gethugepagesize() in ppc platform has error handling logic
> and has multiple caller. It's not so bad to keep it.
Well, in case there's still room for cleanup in the ppc code, it may be
done later. No problem.
--
Eduardo
[Qemu-devel] [PATCH v6 06/33] acpi: add aml_method_serialized, Xiao Guangrong, 2015/10/30
[Qemu-devel] [PATCH v6 12/33] pc-dimm: remove DEFAULT_PC_DIMMSIZE, Xiao Guangrong, 2015/10/30
[Qemu-devel] [PATCH v6 10/33] hostmem-file: clean up memory allocation, Xiao Guangrong, 2015/10/30
[Qemu-devel] [PATCH v6 11/33] hostmem-file: use whole file size if possible, Xiao Guangrong, 2015/10/30