mbox series

[0/4] lmb: miscellaneous fixes and improvements

Message ID 20250213131104.186663-1-sughosh.ganu@linaro.org
Headers show
Series lmb: miscellaneous fixes and improvements | expand

Message

Sughosh Ganu Feb. 13, 2025, 1:11 p.m. UTC
The patch series contains some fixes and improvements in the lmb
code, along with addition of corresponding test cases for the changes
made.

The lmb_reserve() function currently does not check if the requested
reservation would overlap with existing reserved regions. While some
scenarios are being handled, some corner cases still exist. These are
being handled by patch 1, along with adding test cases for these
scenarios.

Patch 2 is handling the case of reserving a new region of memory, but
that region overlaps with an existing region. The current code only
handles one particular scenario, but prints a message for the other
scenario of an encompassing overlap and returns back. The patch
handles the encompassing overlap.

Patch 3 is an improvement whereby we allow coalescing a newly reserved
region with an existing region. The current code exits this check
prematurely.

Patch 4 is putting an ifdef in the lmb_map_update_notify() so that the
function contents are compiled only with EFI_LOADER. Reasoning for the
same is provided in the patch commit message.


Sughosh Ganu (4):
  lmb: check if a region can be reserved by lmb_reserve()
  lmb: handle scenario of of encompassing overlap
  lmb: check for a region's coalescing with all existing regions
  lmb: build lmb_map_update_notify() only with EFI_LOADER

 lib/lmb.c      |  40 +++++++++++++++-----
 test/lib/lmb.c | 100 ++++++++++++++++++++++++++++++++++++++++++++++++-
 2 files changed, 130 insertions(+), 10 deletions(-)

Comments

Sughosh Ganu Feb. 13, 2025, 1:29 p.m. UTC | #1
+ Alexander Dahl

Apologies for not including you in the Cc list.

On Thu, 13 Feb 2025 at 18:41, Sughosh Ganu <sughosh.ganu@linaro.org> wrote:
>
> The patch series contains some fixes and improvements in the lmb
> code, along with addition of corresponding test cases for the changes
> made.
>
> The lmb_reserve() function currently does not check if the requested
> reservation would overlap with existing reserved regions. While some
> scenarios are being handled, some corner cases still exist. These are
> being handled by patch 1, along with adding test cases for these
> scenarios.
>
> Patch 2 is handling the case of reserving a new region of memory, but
> that region overlaps with an existing region. The current code only
> handles one particular scenario, but prints a message for the other
> scenario of an encompassing overlap and returns back. The patch
> handles the encompassing overlap.
>
> Patch 3 is an improvement whereby we allow coalescing a newly reserved
> region with an existing region. The current code exits this check
> prematurely.
>
> Patch 4 is putting an ifdef in the lmb_map_update_notify() so that the
> function contents are compiled only with EFI_LOADER. Reasoning for the
> same is provided in the patch commit message.
>
>
> Sughosh Ganu (4):
>   lmb: check if a region can be reserved by lmb_reserve()
>   lmb: handle scenario of of encompassing overlap
>   lmb: check for a region's coalescing with all existing regions
>   lmb: build lmb_map_update_notify() only with EFI_LOADER
>
>  lib/lmb.c      |  40 +++++++++++++++-----
>  test/lib/lmb.c | 100 ++++++++++++++++++++++++++++++++++++++++++++++++-
>  2 files changed, 130 insertions(+), 10 deletions(-)
>
> --
> 2.34.1
>
>