From: Claudio Imbrenda <imbrenda@linux.ibm.com>
To: Krish Sadhukhan <krish.sadhukhan@oracle.com>
Cc: kvm@vger.kernel.org, frankja@linux.ibm.com, david@redhat.com,
thuth@redhat.com, pbonzini@redhat.com, cohuck@redhat.com,
lvivier@redhat.com, nadav.amit@gmail.com
Subject: Re: [kvm-unit-tests PATCH v1 06/12] lib/alloc.h: remove align_min from struct alloc_ops
Date: Mon, 4 Jan 2021 14:05:10 +0100 [thread overview]
Message-ID: <20210104140510.25ee0c71@ibm-vm> (raw)
In-Reply-To: <efd03516-a0cc-b897-5b12-e25114103f71@oracle.com>
On Thu, 24 Dec 2020 10:17:20 -0800
Krish Sadhukhan <krish.sadhukhan@oracle.com> wrote:
> On 12/16/20 12:11 PM, Claudio Imbrenda wrote:
> > Remove align_min from struct alloc_ops, since it is no longer used.
> >
> > Signed-off-by: Claudio Imbrenda<imbrenda@linux.ibm.com>
> > ---
> > lib/alloc.h | 1 -
> > lib/alloc_page.c | 1 -
> > lib/alloc_phys.c | 9 +++++----
> > lib/vmalloc.c | 1 -
> > 4 files changed, 5 insertions(+), 7 deletions(-)
> >
> > diff --git a/lib/alloc.h b/lib/alloc.h
> > index 9b4b634..db90b01 100644
> > --- a/lib/alloc.h
> > +++ b/lib/alloc.h
> > @@ -25,7 +25,6 @@
> > struct alloc_ops {
> > void *(*memalign)(size_t alignment, size_t size);
> > void (*free)(void *ptr);
> > - size_t align_min;
> > };
> >
> > extern struct alloc_ops *alloc_ops;
> > diff --git a/lib/alloc_page.c b/lib/alloc_page.c
> > index 8d2700d..b1cdf21 100644
> > --- a/lib/alloc_page.c
> > +++ b/lib/alloc_page.c
> > @@ -385,7 +385,6 @@ void *memalign_pages_area(unsigned int area,
> > size_t alignment, size_t size) static struct alloc_ops
> > page_alloc_ops = { .memalign = memalign_pages,
> > .free = free_pages,
> > - .align_min = PAGE_SIZE,
> > };
> >
> > /*
> > diff --git a/lib/alloc_phys.c b/lib/alloc_phys.c
> > index 72e20f7..a4d2bf2 100644
> > --- a/lib/alloc_phys.c
> > +++ b/lib/alloc_phys.c
> > @@ -29,8 +29,8 @@ static phys_addr_t base, top;
> > static void *early_memalign(size_t alignment, size_t size);
> > static struct alloc_ops early_alloc_ops = {
> > .memalign = early_memalign,
> > - .align_min = DEFAULT_MINIMUM_ALIGNMENT
> > };
> > +static size_t align_min;
>
>
> I don't see any caller of phys_alloc_set_minimum_alignment(). So when
lib/arm/setup.c:150
lib/powerpc/setup.c:150
> you are comparing against this variable in phys_alloc_aligned_safe()
> below, you are comparing against zero. Is that what you is intended
> or should 'align_min' be set some default ?
if the architecture specific code did not specify anything better, 0 is
ok.
> >
> > struct alloc_ops *alloc_ops = &early_alloc_ops;
> >
> > @@ -39,8 +39,7 @@ void phys_alloc_show(void)
> > int i;
> >
> > spin_lock(&lock);
> > - printf("phys_alloc minimum alignment: %#" PRIx64 "\n",
> > - (u64)early_alloc_ops.align_min);
> > + printf("phys_alloc minimum alignment: %#" PRIx64 "\n",
> > (u64)align_min); for (i = 0; i < nr_regions; ++i)
> > printf("%016" PRIx64 "-%016" PRIx64 " [%s]\n",
> > (u64)regions[i].base,
> > @@ -64,7 +63,7 @@ void phys_alloc_set_minimum_alignment(phys_addr_t
> > align) {
> > assert(align && !(align & (align - 1)));
> > spin_lock(&lock);
> > - early_alloc_ops.align_min = align;
> > + align_min = align;
> > spin_unlock(&lock);
> > }
> >
> > @@ -83,6 +82,8 @@ static phys_addr_t
> > phys_alloc_aligned_safe(phys_addr_t size, top_safe = MIN(top_safe,
> > 1ULL << 32);
> > assert(base < top_safe);
> > + if (align < align_min)
> > + align = align_min;
> >
> > addr = ALIGN(base, align);
> > size += addr - base;
> > diff --git a/lib/vmalloc.c b/lib/vmalloc.c
> > index 7a49adf..e146162 100644
> > --- a/lib/vmalloc.c
> > +++ b/lib/vmalloc.c
> > @@ -190,7 +190,6 @@ static void vm_free(void *mem)
> > static struct alloc_ops vmalloc_ops = {
> > .memalign = vm_memalign,
> > .free = vm_free,
> > - .align_min = PAGE_SIZE,
> > };
> >
> > void __attribute__((__weak__)) find_highmem(void)
next prev parent reply other threads:[~2021-01-04 13:34 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-16 20:11 [kvm-unit-tests PATCH v1 00/12] Fix and improve the page allocator Claudio Imbrenda
2020-12-16 20:11 ` [kvm-unit-tests PATCH v1 01/12] lib/x86: fix page.h to include the generic header Claudio Imbrenda
2020-12-17 12:33 ` Thomas Huth
2020-12-16 20:11 ` [kvm-unit-tests PATCH v1 02/12] lib/list.h: add list_add_tail Claudio Imbrenda
2020-12-17 12:39 ` Thomas Huth
2020-12-16 20:11 ` [kvm-unit-tests PATCH v1 03/12] lib/vmalloc: add some asserts and improvements Claudio Imbrenda
2020-12-24 18:16 ` Krish Sadhukhan
2021-01-04 13:27 ` Claudio Imbrenda
2020-12-16 20:11 ` [kvm-unit-tests PATCH v1 04/12] lib/asm: Fix definitions of memory areas Claudio Imbrenda
2020-12-24 18:17 ` Krish Sadhukhan
2021-01-04 13:19 ` Claudio Imbrenda
2021-01-05 1:17 ` Krish Sadhukhan
2020-12-16 20:11 ` [kvm-unit-tests PATCH v1 05/12] lib/alloc_page: fix and improve the page allocator Claudio Imbrenda
2020-12-24 18:17 ` Krish Sadhukhan
2021-01-04 13:11 ` Claudio Imbrenda
2021-01-05 1:15 ` Krish Sadhukhan
2020-12-28 19:34 ` Sean Christopherson
2021-01-04 17:23 ` Claudio Imbrenda
2020-12-16 20:11 ` [kvm-unit-tests PATCH v1 06/12] lib/alloc.h: remove align_min from struct alloc_ops Claudio Imbrenda
2020-12-24 18:17 ` Krish Sadhukhan
2021-01-04 13:05 ` Claudio Imbrenda [this message]
2021-01-05 0:39 ` Krish Sadhukhan
2020-12-16 20:11 ` [kvm-unit-tests PATCH v1 07/12] lib/alloc_page: Optimization to skip known empty freelists Claudio Imbrenda
2020-12-16 20:11 ` [kvm-unit-tests PATCH v1 08/12] lib/alloc_page: rework metadata format Claudio Imbrenda
2020-12-16 20:11 ` [kvm-unit-tests PATCH v1 09/12] lib/alloc: replace areas with more generic flags Claudio Imbrenda
2020-12-16 20:11 ` [kvm-unit-tests PATCH v1 10/12] lib/alloc_page: Wire up ZERO_FLAG Claudio Imbrenda
2020-12-16 20:11 ` [kvm-unit-tests PATCH v1 11/12] lib/alloc_page: Properly handle requests for fresh blocks Claudio Imbrenda
2020-12-16 20:12 ` [kvm-unit-tests PATCH v1 12/12] lib/alloc_page: default flags and zero pages by default Claudio Imbrenda
2020-12-24 18:17 ` Krish Sadhukhan
2021-01-04 13:32 ` Claudio Imbrenda
2020-12-17 19:41 ` [kvm-unit-tests PATCH v1 00/12] Fix and improve the page allocator Nadav Amit
2020-12-18 14:19 ` Claudio Imbrenda
2020-12-28 6:31 ` Nadav Amit
2021-01-05 15:26 ` Claudio Imbrenda
2020-12-24 18:19 ` Krish Sadhukhan
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=20210104140510.25ee0c71@ibm-vm \
--to=imbrenda@linux.ibm.com \
--cc=cohuck@redhat.com \
--cc=david@redhat.com \
--cc=frankja@linux.ibm.com \
--cc=krish.sadhukhan@oracle.com \
--cc=kvm@vger.kernel.org \
--cc=lvivier@redhat.com \
--cc=nadav.amit@gmail.com \
--cc=pbonzini@redhat.com \
--cc=thuth@redhat.com \
/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