From: Tom Rini <trini@konsulko.com>
To: Sughosh Ganu <sughosh.ganu@linaro.org>
Cc: u-boot@lists.denx.de,
Ilias Apalodimas <ilias.apalodimas@linaro.org>,
Heinrich Schuchardt <xypron.glpk@gmx.de>,
Simon Glass <sjg@chromium.org>, Marek Vasut <marex@denx.de>,
Mark Kettenis <mark.kettenis@xs4all.nl>,
Fabio Estevam <festevam@gmail.com>,
Michal Simek <michal.simek@amd.com>
Subject: Re: [RFC PATCH v2 00/48] Make U-Boot memory reservations coherent
Date: Mon, 8 Jul 2024 08:02:42 -0600 [thread overview]
Message-ID: <20240708140242.GA38804@bill-the-cat> (raw)
In-Reply-To: <20240704073544.670249-1-sughosh.ganu@linaro.org>
[-- Attachment #1: Type: text/plain, Size: 3116 bytes --]
On Thu, Jul 04, 2024 at 01:04:56PM +0530, Sughosh Ganu wrote:
> The aim of this patch series is to fix the current state of
> incoherence between modules when it comes to memory usage. The primary
> issue that this series is trying to fix is that the EFI memory module
> which is responsible for allocating and freeing memory, does not have
> any visibility of the memory that is being used by the LMB
> module. This is further complicated by the fact that the LMB
> allocations are caller specific -- the LMB memory map is not global
> nor persistent. This means that the memory "allocated" by the LMB
> module might be relevant only for a given function. Hence one of the
> requirements for making the memory usage visible across modules is to
> make LMB allocations persistent and global, and then have means to
> communicate the use of memory across modules.
>
> The first set of patches in this series work on making the LMB memory
> map persistent and global. This is being done keeping in mind the
> usage of LMB memory by platforms where the same memory region can be
> used to load multiple different images. What is not allowed is to
> overwrite memory that has been allocated by the other module,
> currently the EFI memory module. This is being achieved by introducing
> a new flag, LMB_NOOVERWRITE, which represents memory which cannot be
> re-requested once allocated.
>
> A review comment on the earlier version was to do away with the static
> arrays for the LMB lists of free and used memory. This version
> uses the alloced list data structure for the LMB lists.
>
> The second set of patches are making changes to the EFI memory module
> to make use of the LMB functions to allocate and free memory. A
> *_flags() version of LMB API's has been introduced for the same. The
> earlier version was using notification mechanism from both LMB and EFI
> modules to maintain memory coherence. This version makes use of the
> LMB API functions for the memory allocations. This is based on review
> comments of EFI maintainers.
On am64x_evm_a53, the last test in test/py/tests/test_net_boot.py fails
due to:
...
TFTP from server 192.168.116.10; our IP address is 192.168.116.23
Filename 'pxelinux.cfg/default-arm-k3'.
Load address: 0x80100000
Loading: ################################################## 64 Bytes
8.8 KiB/s
done
Bytes transferred = 64 (40 hex)
1 pxe ready ethernet 0 port@1.bootdev.0 extlinux/extlinux.conf
** Booting bootflow 'port@1.bootdev.0' with pxe
Retrieving file: pxelinux.cfg/default-arm
am65_cpsw_nuss_port ethernet@8000000port@1: K3 CPSW: rflow_id_base: 16
link up on port 1, speed 1000, full duplex
Using ethernet@8000000port@1 device
TFTP from server 192.168.116.10; our IP address is 192.168.116.23
Filename 'pxelinux.cfg/default-arm'.
TFTP error: trying to overwrite reserved memory...
Couldn't retrieve pxelinux.cfg/default-arm
And note that the pxelinux.cfg files are created as defined by the
example within the test. This test is also still fine on Pi 4.
--
Tom
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]
next prev parent reply other threads:[~2024-07-08 14:02 UTC|newest]
Thread overview: 117+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-04 7:34 [RFC PATCH v2 00/48] Make U-Boot memory reservations coherent Sughosh Ganu
2024-07-04 7:34 ` [RFC PATCH v2 01/48] malloc: Support testing with realloc() Sughosh Ganu
2024-07-04 7:34 ` [RFC PATCH v2 02/48] lib: Handle a special case with str_to_list() Sughosh Ganu
2024-07-04 7:34 ` [RFC PATCH v2 03/48] alist: Add support for an allocated pointer list Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 04/48] lib: Convert str_to_list() to use alist Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 05/48] alist: add a couple of helper functions Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 06/48] alist: add a function declaration for alist_expand_by() Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 07/48] lmb: remove the unused lmb_is_reserved() function Sughosh Ganu
2024-07-13 15:13 ` Simon Glass
2024-07-04 7:35 ` [RFC PATCH v2 08/48] lmb: staticize __lmb_alloc_base() Sughosh Ganu
2024-07-13 15:13 ` Simon Glass
2024-07-04 7:35 ` [RFC PATCH v2 09/48] lmb: remove call to lmb_init() Sughosh Ganu
2024-07-13 15:15 ` Simon Glass
2024-07-15 9:31 ` Sughosh Ganu
2024-07-15 11:39 ` Simon Glass
2024-07-16 6:30 ` Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 10/48] lmb: remove local instances of the lmb structure variable Sughosh Ganu
2024-07-13 15:15 ` Simon Glass
2024-07-15 9:29 ` Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 11/48] lmb: pass a flag to image_setup_libfdt() for lmb reservations Sughosh Ganu
2024-07-13 15:15 ` Simon Glass
2024-07-04 7:35 ` [RFC PATCH v2 12/48] lmb: allow for resizing lmb regions Sughosh Ganu
2024-07-13 15:15 ` Simon Glass
2024-07-15 9:27 ` Sughosh Ganu
2024-07-15 11:39 ` Simon Glass
2024-07-16 6:26 ` Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 13/48] lmb: make LMB memory map persistent and global Sughosh Ganu
2024-07-13 15:16 ` Simon Glass
2024-07-15 9:48 ` Sughosh Ganu
2024-07-15 11:39 ` Simon Glass
2024-07-15 17:58 ` Tom Rini
2024-07-15 19:32 ` Simon Glass
2024-07-04 7:35 ` [RFC PATCH v2 14/48] lmb: remove config symbols used for lmb region count Sughosh Ganu
2024-07-13 15:15 ` Simon Glass
2024-07-23 8:48 ` Ilias Apalodimas
2024-07-04 7:35 ` [RFC PATCH v2 15/48] test: lmb: remove the test for max regions Sughosh Ganu
2024-07-13 15:15 ` Simon Glass
2024-07-22 11:24 ` Ilias Apalodimas
2024-07-04 7:35 ` [RFC PATCH v2 16/48] lmb: config: add lmb config symbols for SPL Sughosh Ganu
2024-07-05 19:48 ` Tom Rini
2024-07-08 11:36 ` Sughosh Ganu
2024-07-08 14:46 ` Tom Rini
2024-07-13 15:15 ` Simon Glass
2024-07-04 7:35 ` [RFC PATCH v2 17/48] lmb: allow lmb module to be used in SPL Sughosh Ganu
2024-07-13 15:15 ` Simon Glass
2024-07-15 9:24 ` Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 18/48] lmb: introduce a function to add memory to the lmb memory map Sughosh Ganu
2024-07-08 14:11 ` Tom Rini
2024-07-04 7:35 ` [RFC PATCH v2 19/48] lmb: remove the lmb_init_and_reserve() function Sughosh Ganu
2024-07-13 15:15 ` Simon Glass
2024-07-22 12:27 ` Ilias Apalodimas
2024-07-04 7:35 ` [RFC PATCH v2 20/48] lmb: reserve common areas during board init Sughosh Ganu
2024-07-13 15:15 ` Simon Glass
2024-07-04 7:35 ` [RFC PATCH v2 21/48] lmb: remove lmb_init_and_reserve_range() function Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 22/48] lmb: init: initialise the lmb data structures during board init Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 23/48] lmb: use the BIT macro for lmb flags Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 24/48] lmb: add a common implementation of arch_lmb_reserve() Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 25/48] sandbox: spl: enable lmb in SPL Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 26/48] sandbox: iommu: remove lmb allocation in the driver Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 27/48] zynq: lmb: do not add to lmb map before relocation Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 28/48] test: cedit: use allocated address for reading file Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 29/48] test: lmb: tweak the tests for the persistent lmb memory map Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 30/48] test: lmb: run lmb tests only manually Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 31/48] test: lmb: add a separate class of unit tests for lmb Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 32/48] test: lmb: invoke the LMB unit tests from a separate script Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 33/48] test: bdinfo: dump the global LMB memory map Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 34/48] lmb: add versions of the lmb API with flags Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 35/48] lmb: add a flag to allow suppressing memory map change notification Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 36/48] efi: memory: use the lmb API's for allocating and freeing memory Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 37/48] event: add event to notify lmb memory map changes Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 38/48] lib: Kconfig: add a config symbol for getting lmb memory map updates Sughosh Ganu
2024-07-05 19:50 ` Tom Rini
2024-07-22 12:30 ` Ilias Apalodimas
2024-07-22 12:59 ` Sughosh Ganu
2024-07-23 7:09 ` Ilias Apalodimas
2024-07-23 12:42 ` Simon Glass
2024-07-23 14:20 ` Tom Rini
2024-07-24 14:37 ` Simon Glass
2024-07-24 14:52 ` Tom Rini
2024-07-24 15:40 ` Simon Glass
2024-07-24 22:47 ` Tom Rini
2024-07-25 23:32 ` Simon Glass
2024-07-04 7:35 ` [RFC PATCH v2 39/48] add a function to check if an address is in RAM memory Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 40/48] lmb: notify of any changes to the LMB memory map Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 41/48] efi_memory: add an event handler to update " Sughosh Ganu
2024-07-13 15:16 ` Simon Glass
2024-07-15 9:39 ` Sughosh Ganu
2024-07-15 11:39 ` Simon Glass
2024-07-15 19:05 ` Tom Rini
2024-07-16 6:25 ` Sughosh Ganu
2024-07-16 7:09 ` Simon Glass
2024-07-16 8:35 ` Sughosh Ganu
2024-07-16 17:00 ` Tom Rini
2024-07-17 7:58 ` Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 42/48] ti: k3: remove efi_add_known_memory() function definition Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 43/48] layerscape: use the lmb API's to add RAM memory Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 44/48] x86: e820: use the lmb API for adding " Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 45/48] efi_memory: do not add RAM memory to the memory map Sughosh Ganu
2024-07-13 15:15 ` Simon Glass
2024-07-04 7:35 ` [RFC PATCH v2 46/48] lmb: mark the EFI runtime memory regions as reserved Sughosh Ganu
2024-07-13 15:16 ` Simon Glass
2024-07-15 9:41 ` Sughosh Ganu
2024-07-15 11:39 ` Simon Glass
2024-07-16 6:31 ` Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 47/48] test: event: update the expected event dump output Sughosh Ganu
2024-07-04 7:35 ` [RFC PATCH v2 48/48] temp: mx6sabresd: bump up the size limit of the board Sughosh Ganu
2024-07-05 18:36 ` Tom Rini
2024-07-08 14:02 ` Tom Rini [this message]
2024-07-22 6:28 ` [RFC PATCH v2 00/48] Make U-Boot memory reservations coherent Sughosh Ganu
2024-07-22 17:33 ` Tom Rini
2024-07-22 17:37 ` Sughosh Ganu
2024-07-23 12:47 ` Simon Glass
2024-07-23 14:48 ` Tom Rini
2024-07-23 14:51 ` Sughosh Ganu
2024-07-23 15:29 ` Tom Rini
2024-07-08 14:35 ` Tom Rini
2024-07-13 15:15 ` Simon Glass
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=20240708140242.GA38804@bill-the-cat \
--to=trini@konsulko.com \
--cc=festevam@gmail.com \
--cc=ilias.apalodimas@linaro.org \
--cc=marex@denx.de \
--cc=mark.kettenis@xs4all.nl \
--cc=michal.simek@amd.com \
--cc=sjg@chromium.org \
--cc=sughosh.ganu@linaro.org \
--cc=u-boot@lists.denx.de \
--cc=xypron.glpk@gmx.de \
/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