mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Alexey Skidanov <alexey.skidanov@intel.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: sbates@raithlin.com, logang@deltatee.com, danielmentz@google.com,
	mathieu.desnoyers@efficios.com, linux-kernel@vger.kernel.org,
	labbott@redhat.com
Subject: Re: [PATCH] lib/genaloc: Fix allocation of aligned buffer from non-aligned chunk
Date: Wed, 7 Nov 2018 08:21:07 +0200	[thread overview]
Message-ID: <d76d64cf-70a9-9c1f-6f11-2d812aacaaef@intel.com> (raw)
In-Reply-To: <20181106141131.76e94f6b1ff2859d96792aca@linux-foundation.org>



On 11/7/18 12:11 AM, Andrew Morton wrote:
> On Tue,  6 Nov 2018 14:20:53 +0200 Alexey Skidanov <alexey.skidanov@intel.com> wrote:
> 
>> On success, gen_pool_first_fit_align() returns the bit number such that
>> chunk_start_addr + (bit << order) is properly aligned. On failure,
>> the bitmap size parameter is returned.
>>
>> When the chunk_start_addr isn't aligned properly, the
>> chunk_start_addr + (bit << order) isn't aligned too.
>>
>> To fix this, gen_pool_first_fit_align() takes into account
>> the chunk_start_addr alignment and returns the bit value such that
>> chunk_start_addr + (bit << order) is properly aligned
>> (exactly as it done in CMA).
> 
> Why does this need "fixing"?  Are there current callers which can
> misalign chunk_start_addr?  Or is there a requirement that future
> callers can misalign chunk_start_addr?
> 
I work on adding aligned allocation support for ION heaps
(https://www.spinics.net/lists/linux-driver-devel/msg118754.html). Two
of these heaps use genpool internally.

If you want to have an ability to allocate buffers aligned on different
boundaries (for example, 4K, 1MB, ...), this fix actually removes the
requirement for chunk_start_addr to be aligned on the max possible
alignment.

Thanks,
Alexey

  reply	other threads:[~2018-11-07  6:19 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-06 12:20 Alexey Skidanov
2018-11-06 22:11 ` Andrew Morton
2018-11-07  6:21   ` Alexey Skidanov [this message]
2018-11-07 22:14     ` Andrew Morton
2018-11-08  8:58       ` Alexey Skidanov
2018-11-06 22:15 ` Andrew Morton
2018-11-07  6:27   ` Alexey Skidanov
2018-11-07 22:12     ` Andrew Morton
2018-11-08  8:56       ` Alexey Skidanov

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=d76d64cf-70a9-9c1f-6f11-2d812aacaaef@intel.com \
    --to=alexey.skidanov@intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=danielmentz@google.com \
    --cc=labbott@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=logang@deltatee.com \
    --cc=mathieu.desnoyers@efficios.com \
    --cc=sbates@raithlin.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

all inboxes | Powered by JetHome®