All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nathan Fontenot <nfont@austin.ibm.com>
To: Dave Hansen <dave@linux.vnet.ibm.com>
Cc: linux-mm@kvack.org, Greg KH <greg@kroah.com>,
	linux-kernel@vger.kernel.org,
	KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
	linuxppc-dev@ozlabs.org
Subject: Re: [PATCH 4/8] v2 Allow memory block to span multiple memory sections
Date: Tue, 28 Sep 2010 13:06:26 -0500	[thread overview]
Message-ID: <4CA22EA2.8060307@austin.ibm.com> (raw)
In-Reply-To: <1285631707.19976.3385.camel@nimitz>

On 09/27/2010 06:55 PM, Dave Hansen wrote:
> On Mon, 2010-09-27 at 14:25 -0500, Nathan Fontenot wrote:
>> +static inline int base_memory_block_id(int section_nr)
>> +{
>> +       return section_nr / sections_per_block;
>> +}
> ...
>> -       mutex_lock(&mem_sysfs_mutex);
>> -
>> -       mem->phys_index = __section_nr(section);
>> +       scn_nr = __section_nr(section);
>> +       mem->phys_index = base_memory_block_id(scn_nr) * sections_per_block; 
> 
> I'm really regretting giving this variable such a horrid name.  I suck.
> 
> I think this is correct now:
> 
> 	mem->phys_index = base_memory_block_id(scn_nr) * sections_per_block;
> 	mem->phys_index = section_nr / sections_per_block * sections_per_block;
> 	mem->phys_index = section_nr
> 
> Since it gets exported to userspace this way:
> 
>> +static ssize_t show_mem_start_phys_index(struct sys_device *dev,
>>                         struct sysdev_attribute *attr, char *buf)
>>  {
>>         struct memory_block *mem =
>>                 container_of(dev, struct memory_block, sysdev);
>> -       return sprintf(buf, "%08lx\n", mem->phys_index / sections_per_block);
>> +       unsigned long phys_index;
>> +
>> +       phys_index = mem->start_phys_index / sections_per_block;
>> +       return sprintf(buf, "%08lx\n", phys_index);
>> +}
> 
> The only other thing I'd say is that we need to put phys_index out of
> its misery and call it what it is now: a section number.  I think it's
> OK to call them "start/end_section_nr", at least inside the kernel.  I
> intentionally used "phys_index" terminology in sysfs so that we _could_
> eventually do this stuff and break the relationship between sections and
> the sysfs dirs, but I think keeping the terminology around inside the
> kernel is confusing now.

Yes, it took me a couple o looks to get the phys_index <-> section number
correlation.  I think changing the kernel names to start/end_section_number
is a good idea.

-Nathan

> 
> -- Dave
> 

WARNING: multiple messages have this Message-ID (diff)
From: Nathan Fontenot <nfont@austin.ibm.com>
To: Dave Hansen <dave@linux.vnet.ibm.com>
Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	linuxppc-dev@ozlabs.org, Greg KH <greg@kroah.com>,
	KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Subject: Re: [PATCH 4/8] v2 Allow memory block to span multiple memory sections
Date: Tue, 28 Sep 2010 13:06:26 -0500	[thread overview]
Message-ID: <4CA22EA2.8060307@austin.ibm.com> (raw)
In-Reply-To: <1285631707.19976.3385.camel@nimitz>

On 09/27/2010 06:55 PM, Dave Hansen wrote:
> On Mon, 2010-09-27 at 14:25 -0500, Nathan Fontenot wrote:
>> +static inline int base_memory_block_id(int section_nr)
>> +{
>> +       return section_nr / sections_per_block;
>> +}
> ...
>> -       mutex_lock(&mem_sysfs_mutex);
>> -
>> -       mem->phys_index = __section_nr(section);
>> +       scn_nr = __section_nr(section);
>> +       mem->phys_index = base_memory_block_id(scn_nr) * sections_per_block; 
> 
> I'm really regretting giving this variable such a horrid name.  I suck.
> 
> I think this is correct now:
> 
> 	mem->phys_index = base_memory_block_id(scn_nr) * sections_per_block;
> 	mem->phys_index = section_nr / sections_per_block * sections_per_block;
> 	mem->phys_index = section_nr
> 
> Since it gets exported to userspace this way:
> 
>> +static ssize_t show_mem_start_phys_index(struct sys_device *dev,
>>                         struct sysdev_attribute *attr, char *buf)
>>  {
>>         struct memory_block *mem =
>>                 container_of(dev, struct memory_block, sysdev);
>> -       return sprintf(buf, "%08lx\n", mem->phys_index / sections_per_block);
>> +       unsigned long phys_index;
>> +
>> +       phys_index = mem->start_phys_index / sections_per_block;
>> +       return sprintf(buf, "%08lx\n", phys_index);
>> +}
> 
> The only other thing I'd say is that we need to put phys_index out of
> its misery and call it what it is now: a section number.  I think it's
> OK to call them "start/end_section_nr", at least inside the kernel.  I
> intentionally used "phys_index" terminology in sysfs so that we _could_
> eventually do this stuff and break the relationship between sections and
> the sysfs dirs, but I think keeping the terminology around inside the
> kernel is confusing now.

Yes, it took me a couple o looks to get the phys_index <-> section number
correlation.  I think changing the kernel names to start/end_section_number
is a good idea.

-Nathan

> 
> -- Dave
> 


WARNING: multiple messages have this Message-ID (diff)
From: Nathan Fontenot <nfont@austin.ibm.com>
To: Dave Hansen <dave@linux.vnet.ibm.com>
Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	linuxppc-dev@ozlabs.org, Greg KH <greg@kroah.com>,
	KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Subject: Re: [PATCH 4/8] v2 Allow memory block to span multiple memory sections
Date: Tue, 28 Sep 2010 13:06:26 -0500	[thread overview]
Message-ID: <4CA22EA2.8060307@austin.ibm.com> (raw)
In-Reply-To: <1285631707.19976.3385.camel@nimitz>

On 09/27/2010 06:55 PM, Dave Hansen wrote:
> On Mon, 2010-09-27 at 14:25 -0500, Nathan Fontenot wrote:
>> +static inline int base_memory_block_id(int section_nr)
>> +{
>> +       return section_nr / sections_per_block;
>> +}
> ...
>> -       mutex_lock(&mem_sysfs_mutex);
>> -
>> -       mem->phys_index = __section_nr(section);
>> +       scn_nr = __section_nr(section);
>> +       mem->phys_index = base_memory_block_id(scn_nr) * sections_per_block; 
> 
> I'm really regretting giving this variable such a horrid name.  I suck.
> 
> I think this is correct now:
> 
> 	mem->phys_index = base_memory_block_id(scn_nr) * sections_per_block;
> 	mem->phys_index = section_nr / sections_per_block * sections_per_block;
> 	mem->phys_index = section_nr
> 
> Since it gets exported to userspace this way:
> 
>> +static ssize_t show_mem_start_phys_index(struct sys_device *dev,
>>                         struct sysdev_attribute *attr, char *buf)
>>  {
>>         struct memory_block *mem =
>>                 container_of(dev, struct memory_block, sysdev);
>> -       return sprintf(buf, "%08lx\n", mem->phys_index / sections_per_block);
>> +       unsigned long phys_index;
>> +
>> +       phys_index = mem->start_phys_index / sections_per_block;
>> +       return sprintf(buf, "%08lx\n", phys_index);
>> +}
> 
> The only other thing I'd say is that we need to put phys_index out of
> its misery and call it what it is now: a section number.  I think it's
> OK to call them "start/end_section_nr", at least inside the kernel.  I
> intentionally used "phys_index" terminology in sysfs so that we _could_
> eventually do this stuff and break the relationship between sections and
> the sysfs dirs, but I think keeping the terminology around inside the
> kernel is confusing now.

Yes, it took me a couple o looks to get the phys_index <-> section number
correlation.  I think changing the kernel names to start/end_section_number
is a good idea.

-Nathan

> 
> -- Dave
> 

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2010-09-28 18:07 UTC|newest]

Thread overview: 99+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-27 19:09 [PATCH 0/8] v2 De-Couple sysfs memory directories from memory sections Nathan Fontenot
2010-09-27 19:09 ` Nathan Fontenot
2010-09-27 19:09 ` Nathan Fontenot
2010-09-27 19:21 ` [PATCH 1/8] v2 Move find_memory_block() routine Nathan Fontenot
2010-09-27 19:21   ` Nathan Fontenot
2010-09-27 19:21   ` Nathan Fontenot
2010-09-27 19:22 ` [PATCH 2/8] v2 Add section count to memory_block struct Nathan Fontenot
2010-09-27 19:22   ` Nathan Fontenot
2010-09-27 19:22   ` Nathan Fontenot
2010-09-28  9:31   ` Robin Holt
2010-09-28  9:31     ` Robin Holt
2010-09-28  9:31     ` Robin Holt
2010-09-28 18:14     ` Nathan Fontenot
2010-09-28 18:14       ` Nathan Fontenot
2010-09-28 18:14       ` Nathan Fontenot
2010-09-27 19:23 ` [PATCH 3/8] v2 Add mutex for adding/removing memory blocks Nathan Fontenot
2010-09-27 19:23   ` Nathan Fontenot
2010-09-27 19:23   ` Nathan Fontenot
2010-09-27 19:25 ` [PATCH 4/8] v2 Allow memory block to span multiple memory sections Nathan Fontenot
2010-09-27 19:25   ` Nathan Fontenot
2010-09-27 19:25   ` Nathan Fontenot
2010-09-27 23:55   ` Dave Hansen
2010-09-27 23:55     ` Dave Hansen
2010-09-27 23:55     ` Dave Hansen
2010-09-28 18:06     ` Nathan Fontenot [this message]
2010-09-28 18:06       ` Nathan Fontenot
2010-09-28 18:06       ` Nathan Fontenot
2010-09-28 12:48   ` Robin Holt
2010-09-28 12:48     ` Robin Holt
2010-09-28 12:48     ` Robin Holt
2010-09-28 18:20     ` Nathan Fontenot
2010-09-28 18:20       ` Nathan Fontenot
2010-09-28 18:20       ` Nathan Fontenot
2010-09-27 19:26 ` [PATCH 5/8] v2 Add end_phys_index file Nathan Fontenot
2010-09-27 19:26   ` Nathan Fontenot
2010-09-27 19:26   ` Nathan Fontenot
2010-09-27 19:27 ` [PATCH 6/8] v2 Update node sysfs code Nathan Fontenot
2010-09-27 19:27   ` Nathan Fontenot
2010-09-27 19:27   ` Nathan Fontenot
2010-09-28  9:29   ` Robin Holt
2010-09-28  9:29     ` Robin Holt
2010-09-28  9:29     ` Robin Holt
2010-09-28 15:21     ` Dave Hansen
2010-09-28 15:21       ` Dave Hansen
2010-09-28 15:21       ` Dave Hansen
2010-09-27 19:28 ` [PATCH 7/8] v2 Define memory_block_size_bytes() for powerpc/pseries Nathan Fontenot
2010-09-27 19:28   ` Nathan Fontenot
2010-09-27 19:28   ` Nathan Fontenot
2010-09-27 19:28 ` [PATCH 8/8] v2 Update memory hotplug documentation Nathan Fontenot
2010-09-27 19:28   ` Nathan Fontenot
2010-09-27 19:28   ` Nathan Fontenot
2010-09-28 12:45   ` Avi Kivity
2010-09-28 12:45     ` Avi Kivity
2010-09-28 12:45     ` Avi Kivity
2010-09-28 18:18     ` Nathan Fontenot
2010-09-28 18:18       ` Nathan Fontenot
2010-09-28 18:18       ` Nathan Fontenot
2010-09-28 12:38 ` [PATCH 0/8] v2 De-Couple sysfs memory directories from memory sections Robin Holt
2010-09-28 12:38   ` Robin Holt
2010-09-28 12:38   ` Robin Holt
2010-09-28 18:17   ` Nathan Fontenot
2010-09-28 18:17     ` Nathan Fontenot
2010-09-28 18:17     ` Nathan Fontenot
2010-09-29 19:28     ` Robin Holt
2010-09-29 19:28       ` Robin Holt
2010-09-29 19:28       ` Robin Holt
2010-09-30 15:17       ` Nathan Fontenot
2010-09-30 15:17         ` Nathan Fontenot
2010-09-30 15:17         ` Nathan Fontenot
2010-09-30 16:39       ` Robin Holt
2010-09-30 16:39         ` Robin Holt
2010-09-30 16:39         ` Robin Holt
2010-09-28 12:44 ` Avi Kivity
2010-09-28 12:44   ` Avi Kivity
2010-09-28 12:44   ` Avi Kivity
2010-09-28 15:12   ` Robin Holt
2010-09-28 15:12     ` Robin Holt
2010-09-28 15:12     ` Robin Holt
2010-09-28 16:34     ` Avi Kivity
2010-09-28 16:34       ` Avi Kivity
2010-09-28 16:34       ` Avi Kivity
2010-09-29  2:50     ` Greg KH
2010-09-29  2:50       ` Greg KH
2010-09-29  2:50       ` Greg KH
2010-09-29  8:32       ` Avi Kivity
2010-09-29  8:32         ` Avi Kivity
2010-09-29  8:32         ` Avi Kivity
2010-09-29 12:37         ` Greg KH
2010-09-29 12:37           ` Greg KH
2010-09-29 12:37           ` Greg KH
2010-09-29 13:39           ` Kay Sievers
2010-09-29 13:39             ` Kay Sievers
2010-09-29 13:39             ` Kay Sievers
2010-10-03  7:52           ` Avi Kivity
2010-10-03  7:52             ` Avi Kivity
2010-10-03  7:52             ` Avi Kivity
2010-09-28 15:17   ` Dave Hansen
2010-09-28 15:17     ` Dave Hansen
2010-09-28 15:17     ` Dave Hansen

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=4CA22EA2.8060307@austin.ibm.com \
    --to=nfont@austin.ibm.com \
    --cc=dave@linux.vnet.ibm.com \
    --cc=greg@kroah.com \
    --cc=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linuxppc-dev@ozlabs.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.