Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1297514
| From | Matt Fleming <matt@codeblueprint.co.uk> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH 4/4] x86/efi: print size and base in binary units in efi_print_memmap |
| Date | 2015-12-23 17:00 +0100 |
| Message-ID | <qITZv-378-5@gated-at.bofh.it> (permalink) |
| References | <qGR5M-6NI-11@gated-at.bofh.it> <qGR5M-6NI-21@gated-at.bofh.it> <qIblN-jv-17@gated-at.bofh.it> <qIFjQ-2w8-25@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
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. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
(none) Robert Elliott <elliott@hpe.com> - 2015-12-18 01:30 +0100
[PATCH 2/4] efi: add NV memory attribute Robert Elliott <elliott@hpe.com> - 2015-12-18 01:30 +0100
Re: [PATCH 2/4] efi: add NV memory attribute Matt Fleming <matt@codeblueprint.co.uk> - 2015-12-21 17:00 +0100
[PATCH 4/4] x86/efi: print size and base in binary units in efi_print_memmap Robert Elliott <elliott@hpe.com> - 2015-12-18 01:30 +0100
Re: [PATCH 4/4] x86/efi: print size and base in binary units in efi_print_memmap Matt Fleming <matt@codeblueprint.co.uk> - 2015-12-21 17:20 +0100
RE: [PATCH 4/4] x86/efi: print size and base in binary units in efi_print_memmap "Elliott, Robert (Persistent Memory)" <elliott@hpe.com> - 2015-12-23 01:20 +0100
Re: [PATCH 4/4] x86/efi: print size and base in binary units in efi_print_memmap Matt Fleming <matt@codeblueprint.co.uk> - 2015-12-23 17:00 +0100
Re: [PATCH 4/4] x86/efi: print size and base in binary units in efi_print_memmap Andy Shevchenko <andy.shevchenko@gmail.com> - 2015-12-27 15:40 +0100
[PATCH 1/4] x86/efi: show actual ending addresses in efi_print_memmap Robert Elliott <elliott@hpe.com> - 2015-12-18 01:30 +0100
Re: [PATCH 1/4] x86/efi: show actual ending addresses in efi_print_memmap Matt Fleming <matt@codeblueprint.co.uk> - 2015-12-21 17:00 +0100
Re: [PATCH 1/4] x86/efi: show actual ending addresses in efi_print_memmap Matt Fleming <matt@codeblueprint.co.uk> - 2015-12-21 17:10 +0100
RE: [PATCH 1/4] x86/efi: show actual ending addresses in efi_print_memmap "Elliott, Robert (Persistent Memory)" <elliott@hpe.com> - 2015-12-22 21:10 +0100
Re: [PATCH 1/4] x86/efi: show actual ending addresses in efi_print_memmap Matt Fleming <matt@codeblueprint.co.uk> - 2015-12-23 13:50 +0100
RE: [PATCH 1/4] x86/efi: show actual ending addresses in efi_print_memmap "Elliott, Robert (Persistent Memory)" <elliott@hpe.com> - 2015-12-21 17:50 +0100
Re: [PATCH 1/4] x86/efi: show actual ending addresses in efi_print_memmap Matt Fleming <matt@codeblueprint.co.uk> - 2015-12-23 13:50 +0100
[PATCH v2 1/4] x86/efi: show actual ending addresses in efi_print_memmap Robert Elliott <elliott@hpe.com> - 2015-12-24 01:10 +0100
csiph-web