From: Matt Fleming <matt-mF/unelCI9GS6iBeEJttW/XRex20P6io@public.gmane.org>
To: "Elliott,
Robert (Persistent Memory)"
<elliott-ZPxbGqLxI0U@public.gmane.org>
Cc: "tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org"
<tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>,
"mingo-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org"
<mingo-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
"hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org"
<hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>,
"x86-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org"
<x86-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
"linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH 4/4] x86/efi: print size and base in binary units in efi_print_memmap
Date: Wed, 23 Dec 2015 15:52:55 +0000 [thread overview]
Message-ID: <20151223155255.GD2471@codeblueprint.co.uk> (raw)
In-Reply-To: <94D0CD8314A33A4D9D801C0FE68B40295BEC79CB-W1gbDvblbosSZAcGdq5asR6epYMZPwEe5NbjCUgZEJk@public.gmane.org>
On Wed, 23 Dec, at 12:11:56AM, Elliott, Robert (Persistent Memory) wrote:
>
> I was trying to make it resemble the memmap=size@address
> kernel parameter format for creating e820 entries, which
> does accept abbreviations in addition to hex values:
> memmap=nn[KMG]@ss[KMG] for usable DRAM
> memmap=nn[KMG]#ss[KMG] for ACPI data
> memmap=nn[KMG]$ss[KMG] for reserved
> memmap=nn[KMG]!ss[KMG] for persistent memory
>
> Mapping the UEFI type to the corresponding @, #, $, or ! was
> more than I wanted to tackle, so it's not a drop-in
> replacement string.
>
> memparse() also accepts T, P, and E units; I guess those
> need to be added to Documentation/kernel-parameters.txt.
I think the value of the "@ address" portion of the string is
questionable.
> Thanks for the pointer; I wondered if there was a similar
> function somewhere. However, that function throws away
> precision in favor of printing just 3 significant digits;
> I think that's dangerous. Its non-integer output is not
> supported by memmap=, and the function appears to use
> assembly code to get CPU divide instructions, losing the
> ability to use shifts for these power of two divisions.
>
> Example results...
>
> efi: mem01:... range=[0x0000000000093000-0x0000000000093fff] (4 KiB @ 588 KiB)
> efi: mem01:... range=[0x0000000000093000-0x0000000000093fff] (4.00 KiB @ 588 KiB) SGS
>
> efi: mem03:... range=[0x0000000000100000-0x00000000013e8fff] (19364 KiB @ 1 MiB)
> efi: mem03:... range=[0x0000000000100000-0x00000000013e8fff] (18.9 MiB @ 1.00 MiB) SGS
> (example of lost precision: 19364 KiB is really 18.91015625 MiB)
>
> efi: mem04:... range=[0x00000000013e9000-0x0000000001ffffff] (12380 KiB @ 20388 KiB)
> efi: mem04:... range=[0x00000000013e9000-0x0000000001ffffff] (12.0 MiB @ 19.9 MiB) SGS
>
> efi: mem28:... range=[0x00000000717c2000-0x0000000072acafff] (19492 KiB @ 1859336 KiB)
> efi: mem28:... range=[0x00000000717c2000-0x0000000072acafff] (19.0 MiB @ 1.77 GiB) SGS
>
> efi: mem57:... range=[0x0000000880000000-0x0000000e7fffffff] (24 GiB @ 34 GiB)
> efi: mem57:... range=[0x0000000880000000-0x0000000e7fffffff] (24.0 GiB @ 34.0 GiB) SGS
Good points! I agree that string_get_size() (unfortunately) doesn't
look useful in this scenario. The code in efi_size_format() looks
fine.
next prev parent reply other threads:[~2015-12-23 15:52 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-18 1:28 (unknown), Robert Elliott
2015-12-18 1:28 ` [PATCH 1/4] x86/efi: show actual ending addresses in efi_print_memmap Robert Elliott
2015-12-21 15:50 ` Matt Fleming
[not found] ` <20151221155038.GD4227-mF/unelCI9GS6iBeEJttW/XRex20P6io@public.gmane.org>
2015-12-21 16:06 ` Matt Fleming
[not found] ` <20151221160629.GF4227-mF/unelCI9GS6iBeEJttW/XRex20P6io@public.gmane.org>
2015-12-22 20:08 ` Elliott, Robert (Persistent Memory)
2015-12-23 12:44 ` Matt Fleming
2015-12-21 16:44 ` Elliott, Robert (Persistent Memory)
[not found] ` <94D0CD8314A33A4D9D801C0FE68B40295BEC3C9C-W1gbDvblbosSZAcGdq5asR6epYMZPwEe5NbjCUgZEJk@public.gmane.org>
2015-12-23 12:47 ` Matt Fleming
[not found] ` <20151223124711.GB2471-mF/unelCI9GS6iBeEJttW/XRex20P6io@public.gmane.org>
2015-12-24 1:07 ` [PATCH v2 " Robert Elliott
2016-01-08 12:04 ` Matt Fleming
2015-12-18 1:28 ` [PATCH 2/4] efi: add NV memory attribute Robert Elliott
[not found] ` <1450402114-3606-3-git-send-email-elliott-ZPxbGqLxI0U@public.gmane.org>
2015-12-21 15:54 ` Matt Fleming
2015-12-18 1:28 ` [PATCH 3/4] efi: add Persistent Memory type name Robert Elliott
[not found] ` <1450402114-3606-4-git-send-email-elliott-ZPxbGqLxI0U@public.gmane.org>
2016-01-08 12:20 ` Matt Fleming
[not found] ` <1450402114-3606-1-git-send-email-elliott-ZPxbGqLxI0U@public.gmane.org>
2015-12-18 1:28 ` [PATCH 4/4] x86/efi: print size and base in binary units in efi_print_memmap Robert Elliott
[not found] ` <1450402114-3606-5-git-send-email-elliott-ZPxbGqLxI0U@public.gmane.org>
2015-12-21 16:16 ` Matt Fleming
[not found] ` <20151221161629.GG4227-mF/unelCI9GS6iBeEJttW/XRex20P6io@public.gmane.org>
2015-12-23 0:11 ` Elliott, Robert (Persistent Memory)
[not found] ` <94D0CD8314A33A4D9D801C0FE68B40295BEC79CB-W1gbDvblbosSZAcGdq5asR6epYMZPwEe5NbjCUgZEJk@public.gmane.org>
2015-12-23 15:52 ` Matt Fleming [this message]
2015-12-27 14:35 ` Andy Shevchenko
2016-01-08 12:19 ` Matt Fleming
[not found] ` <20160108121921.GI2532-mF/unelCI9GS6iBeEJttW/XRex20P6io@public.gmane.org>
2016-01-08 16:38 ` Elliott, Robert (Persistent Memory)
2016-01-08 16:44 ` Andy Shevchenko
2016-01-08 16:39 ` Andy Shevchenko
2016-01-11 14:09 ` Matt Fleming
[not found] ` <20160111140915.GB2644-mF/unelCI9GS6iBeEJttW/XRex20P6io@public.gmane.org>
2016-01-12 13:17 ` Andy Shevchenko
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=20151223155255.GD2471@codeblueprint.co.uk \
--to=matt-mf/unelci9gs6ibeejttw/xrex20p6io@public.gmane.org \
--cc=elliott-ZPxbGqLxI0U@public.gmane.org \
--cc=hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org \
--cc=linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=mingo-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org \
--cc=x86-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.