lkml.org 
[lkml]   [2021]   [May]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH 2/5] mm/sparse: free section usage memory in case populate_section_memmap failed
    From
    Date
    On 17.05.21 13:20, Dong Aisheng wrote:
    > Free section usage memory in case populate_section_memmap failed.
    > We use map_count to track the remain unused memory to be freed.
    >
    > Cc: Andrew Morton <akpm@linux-foundation.org>
    > Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
    > ---
    > mm/sparse.c | 2 ++
    > 1 file changed, 2 insertions(+)
    >
    > diff --git a/mm/sparse.c b/mm/sparse.c
    > index 7ac481353b6b..98bfacc763da 100644
    > --- a/mm/sparse.c
    > +++ b/mm/sparse.c
    > @@ -549,12 +549,14 @@ static void __init sparse_init_nid(int nid, unsigned long pnum_begin,
    > __func__, nid);
    > pnum_begin = pnum;
    > sparse_buffer_fini();
    > + memblock_free_early(__pa(usage), map_count * mem_section_usage_size());
    > goto failed;
    > }
    > check_usemap_section_nr(nid, usage);
    > sparse_init_one_section(__nr_to_section(pnum), pnum, map, usage,
    > SECTION_IS_EARLY);
    > usage = (void *) usage + mem_section_usage_size();
    > + map_count--;
    > }
    > sparse_buffer_fini();
    > return;
    >

    Why care about optimizing something that literally never fails, and if
    it would fail, leave the system in a sub-optimal, mostly unusable state?

    --
    Thanks,

    David / dhildenb

    \
     
     \ /
      Last update: 2021-05-25 09:54    [W:2.392 / U:0.220 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site