Re: [RFC PATCH] memory driver: make phys_index/end_phys_index reflect the start/end section number

From: Li Zhong
Date: Wed Apr 09 2014 - 05:20:44 EST


On Tue, 2014-04-08 at 12:47 -0700, Dave Hansen wrote:
> On 04/08/2014 11:23 AM, Nathan Fontenot wrote:
> > On 04/08/2014 11:13 AM, Dave Hansen wrote:
> >> On 04/08/2014 01:27 AM, Li Zhong wrote:
> >>> If Dave and others don't have further objections, it seems this small
> >>> userspace incompatibility could be accepted by most of us, and I don't
> >>> need to make a version 2.
> >>
> >> Let me ask another question then. What are the units of
> >> phys_index/end_phys_index? How do we expose those units to userspace?
> >>
> >
> > The documentation for these files just states that the files contain
> > the first and last section id of memory in the memory block for
> > phys_index and end_phys_index respectively.
> >
> > I'm not sure the values have ever been units of anything, at least not
> > that I remember.
>
> <sigh>
>
> There are two units. SECTION_SIZE, which is completely internal to the
> kernel, and block_size_bytes which used to be the same as SECTION_SIZE,
> but is not now. Which one of those two is phys_index/end_phys_index in,
> and if it is in terms of SECTION_SIZE like this patch proposes, how do
> we tell userspace how large SECTION_SIZE is?

With this patch, I think we could still tell how large SECTION_SIZE is.
block_size_bytes tells us the size of the block, and
end_phys_index-phys_index+1, tells us the numbers of sections in the
block, and then we could know the SECTION_SIZE by a division.

Not that obvious, but if needed, we could easily add a file telling us
section_size or sections_per_block.

>
> block_size_bytes is supposed to tell you how large the sections are. In
> the case where we lumped a bunch of sections together, we also bumped up
> block_size_bytes. That's why we currently divide the *ACTUAL* section
> number in phys_index/end_phys_index by block_size_bytes.
>
> That document really needs to be updated to stop referring to sections
> (at least in the descriptions of the user interface). We can not change
> the units of phys_index/end_phys_index without also changing
> block_size_bytes.

How about adding a new section_size_bytes together with this patch?

Or do you mean we don't need to expose any information related to
SECTION to userspace?

Thanks,
Zhong


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/