Re: [rfc 18/45] cpu alloc: XFS counters

2007-11-20 Thread Christoph Lameter
On Wed, 21 Nov 2007, David Chinner wrote:

> Seeing as I didn't notice this patchest changed XFS (where's the cc?)
> until I saw hch's question I'd appreciate a pointer to that discussion
> as it's long been deleted from my mailbox.

http://marc.info/?t=11943826359=2=2

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


Re: [rfc 18/45] cpu alloc: XFS counters

2007-11-20 Thread David Chinner
On Tue, Nov 20, 2007 at 12:38:29PM -0800, Christoph Lameter wrote:
> On Tue, 20 Nov 2007, Christoph Hellwig wrote:
> 
> > On Mon, Nov 19, 2007 at 05:11:50PM -0800, [EMAIL PROTECTED] wrote:
> > > Also remove the useless zeroing after allocation. Allocpercpu already
> > > zeroed the objects.
> > 
> > You still haven't answered my comment to the last iteration.
> 
> And you have not read the discussion on that subject in the prior 
> iteration between Peter Zilkstra and me.

Seeing as I didn't notice this patchest changed XFS (where's the cc?)
until I saw hch's question I'd appreciate a pointer to that discussion
as it's long been deleted from my mailbox.

FWIW, I happen to agree with Christoph (hch) that the shouting
macros are an ugly step backwards, esp. given that is replacing:

#define per_cpu_ptr(ptr, cpu)   percpu_ptr((ptr), (cpu))

a set of lowercase macros

Cheers,

Dave.
-- 
Dave Chinner
Principal Engineer
SGI Australian Software Group
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [rfc 18/45] cpu alloc: XFS counters

2007-11-20 Thread Christoph Lameter
On Tue, 20 Nov 2007, Christoph Hellwig wrote:

> On Mon, Nov 19, 2007 at 05:11:50PM -0800, [EMAIL PROTECTED] wrote:
> > Also remove the useless zeroing after allocation. Allocpercpu already
> > zeroed the objects.
> 
> You still haven't answered my comment to the last iteration.

And you have not read the discussion on that subject in the prior 
iteration between Peter Zilkstra and me.


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


Re: [rfc 18/45] cpu alloc: XFS counters

2007-11-20 Thread Christoph Hellwig
On Mon, Nov 19, 2007 at 05:11:50PM -0800, [EMAIL PROTECTED] wrote:
> Also remove the useless zeroing after allocation. Allocpercpu already
> zeroed the objects.

You still haven't answered my comment to the last iteration.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [rfc 18/45] cpu alloc: XFS counters

2007-11-20 Thread Christoph Hellwig
On Mon, Nov 19, 2007 at 05:11:50PM -0800, [EMAIL PROTECTED] wrote:
 Also remove the useless zeroing after allocation. Allocpercpu already
 zeroed the objects.

You still haven't answered my comment to the last iteration.
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [rfc 18/45] cpu alloc: XFS counters

2007-11-20 Thread Christoph Lameter
On Tue, 20 Nov 2007, Christoph Hellwig wrote:

 On Mon, Nov 19, 2007 at 05:11:50PM -0800, [EMAIL PROTECTED] wrote:
  Also remove the useless zeroing after allocation. Allocpercpu already
  zeroed the objects.
 
 You still haven't answered my comment to the last iteration.

And you have not read the discussion on that subject in the prior 
iteration between Peter Zilkstra and me.


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


Re: [rfc 18/45] cpu alloc: XFS counters

2007-11-20 Thread David Chinner
On Tue, Nov 20, 2007 at 12:38:29PM -0800, Christoph Lameter wrote:
 On Tue, 20 Nov 2007, Christoph Hellwig wrote:
 
  On Mon, Nov 19, 2007 at 05:11:50PM -0800, [EMAIL PROTECTED] wrote:
   Also remove the useless zeroing after allocation. Allocpercpu already
   zeroed the objects.
  
  You still haven't answered my comment to the last iteration.
 
 And you have not read the discussion on that subject in the prior 
 iteration between Peter Zilkstra and me.

Seeing as I didn't notice this patchest changed XFS (where's the cc?)
until I saw hch's question I'd appreciate a pointer to that discussion
as it's long been deleted from my mailbox.

FWIW, I happen to agree with Christoph (hch) that the shouting
macros are an ugly step backwards, esp. given that is replacing:

#define per_cpu_ptr(ptr, cpu)   percpu_ptr((ptr), (cpu))

a set of lowercase macros

Cheers,

Dave.
-- 
Dave Chinner
Principal Engineer
SGI Australian Software Group
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [rfc 18/45] cpu alloc: XFS counters

2007-11-20 Thread Christoph Lameter
On Wed, 21 Nov 2007, David Chinner wrote:

 Seeing as I didn't notice this patchest changed XFS (where's the cc?)
 until I saw hch's question I'd appreciate a pointer to that discussion
 as it's long been deleted from my mailbox.

http://marc.info/?t=11943826359r=2w=2

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


[rfc 18/45] cpu alloc: XFS counters

2007-11-19 Thread clameter
Also remove the useless zeroing after allocation. Allocpercpu already
zeroed the objects.

Signed-off-by: Christoph Lameter <[EMAIL PROTECTED]>
---
 fs/xfs/xfs_mount.c |   24 
 1 file changed, 8 insertions(+), 16 deletions(-)

Index: linux-2.6/fs/xfs/xfs_mount.c
===
--- linux-2.6.orig/fs/xfs/xfs_mount.c   2007-11-15 21:17:24.467654585 -0800
+++ linux-2.6/fs/xfs/xfs_mount.c2007-11-15 21:25:32.643904117 -0800
@@ -1924,7 +1924,7 @@ xfs_icsb_cpu_notify(
 
mp = (xfs_mount_t *)container_of(nfb, xfs_mount_t, m_icsb_notifier);
cntp = (xfs_icsb_cnts_t *)
-   per_cpu_ptr(mp->m_sb_cnts, (unsigned long)hcpu);
+   CPU_PTR(mp->m_sb_cnts, (unsigned long)hcpu);
switch (action) {
case CPU_UP_PREPARE:
case CPU_UP_PREPARE_FROZEN:
@@ -1976,10 +1976,7 @@ int
 xfs_icsb_init_counters(
xfs_mount_t *mp)
 {
-   xfs_icsb_cnts_t *cntp;
-   int i;
-
-   mp->m_sb_cnts = alloc_percpu(xfs_icsb_cnts_t);
+   mp->m_sb_cnts = CPU_ALLOC(xfs_icsb_cnts_t, GFP_KERNEL | __GFP_ZERO);
if (mp->m_sb_cnts == NULL)
return -ENOMEM;
 
@@ -1989,11 +1986,6 @@ xfs_icsb_init_counters(
register_hotcpu_notifier(>m_icsb_notifier);
 #endif /* CONFIG_HOTPLUG_CPU */
 
-   for_each_online_cpu(i) {
-   cntp = (xfs_icsb_cnts_t *)per_cpu_ptr(mp->m_sb_cnts, i);
-   memset(cntp, 0, sizeof(xfs_icsb_cnts_t));
-   }
-
mutex_init(>m_icsb_mutex);
 
/*
@@ -2026,7 +2018,7 @@ xfs_icsb_destroy_counters(
 {
if (mp->m_sb_cnts) {
unregister_hotcpu_notifier(>m_icsb_notifier);
-   free_percpu(mp->m_sb_cnts);
+   CPU_FREE(mp->m_sb_cnts);
}
mutex_destroy(>m_icsb_mutex);
 }
@@ -2056,7 +2048,7 @@ xfs_icsb_lock_all_counters(
int i;
 
for_each_online_cpu(i) {
-   cntp = (xfs_icsb_cnts_t *)per_cpu_ptr(mp->m_sb_cnts, i);
+   cntp = (xfs_icsb_cnts_t *)CPU_PTR(mp->m_sb_cnts, i);
xfs_icsb_lock_cntr(cntp);
}
 }
@@ -2069,7 +2061,7 @@ xfs_icsb_unlock_all_counters(
int i;
 
for_each_online_cpu(i) {
-   cntp = (xfs_icsb_cnts_t *)per_cpu_ptr(mp->m_sb_cnts, i);
+   cntp = (xfs_icsb_cnts_t *)CPU_PTR(mp->m_sb_cnts, i);
xfs_icsb_unlock_cntr(cntp);
}
 }
@@ -2089,7 +2081,7 @@ xfs_icsb_count(
xfs_icsb_lock_all_counters(mp);
 
for_each_online_cpu(i) {
-   cntp = (xfs_icsb_cnts_t *)per_cpu_ptr(mp->m_sb_cnts, i);
+   cntp = (xfs_icsb_cnts_t *)CPU_PTR(mp->m_sb_cnts, i);
cnt->icsb_icount += cntp->icsb_icount;
cnt->icsb_ifree += cntp->icsb_ifree;
cnt->icsb_fdblocks += cntp->icsb_fdblocks;
@@ -2167,7 +2159,7 @@ xfs_icsb_enable_counter(
 
xfs_icsb_lock_all_counters(mp);
for_each_online_cpu(i) {
-   cntp = per_cpu_ptr(mp->m_sb_cnts, i);
+   cntp = CPU_PTR(mp->m_sb_cnts, i);
switch (field) {
case XFS_SBS_ICOUNT:
cntp->icsb_icount = count + resid;
@@ -2307,7 +2299,7 @@ xfs_icsb_modify_counters(
might_sleep();
 again:
cpu = get_cpu();
-   icsbp = (xfs_icsb_cnts_t *)per_cpu_ptr(mp->m_sb_cnts, cpu);
+   icsbp = (xfs_icsb_cnts_t *)CPU_PTR(mp->m_sb_cnts, cpu);
 
/*
 * if the counter is disabled, go to slow path

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


[rfc 18/45] cpu alloc: XFS counters

2007-11-19 Thread clameter
Also remove the useless zeroing after allocation. Allocpercpu already
zeroed the objects.

Signed-off-by: Christoph Lameter [EMAIL PROTECTED]
---
 fs/xfs/xfs_mount.c |   24 
 1 file changed, 8 insertions(+), 16 deletions(-)

Index: linux-2.6/fs/xfs/xfs_mount.c
===
--- linux-2.6.orig/fs/xfs/xfs_mount.c   2007-11-15 21:17:24.467654585 -0800
+++ linux-2.6/fs/xfs/xfs_mount.c2007-11-15 21:25:32.643904117 -0800
@@ -1924,7 +1924,7 @@ xfs_icsb_cpu_notify(
 
mp = (xfs_mount_t *)container_of(nfb, xfs_mount_t, m_icsb_notifier);
cntp = (xfs_icsb_cnts_t *)
-   per_cpu_ptr(mp-m_sb_cnts, (unsigned long)hcpu);
+   CPU_PTR(mp-m_sb_cnts, (unsigned long)hcpu);
switch (action) {
case CPU_UP_PREPARE:
case CPU_UP_PREPARE_FROZEN:
@@ -1976,10 +1976,7 @@ int
 xfs_icsb_init_counters(
xfs_mount_t *mp)
 {
-   xfs_icsb_cnts_t *cntp;
-   int i;
-
-   mp-m_sb_cnts = alloc_percpu(xfs_icsb_cnts_t);
+   mp-m_sb_cnts = CPU_ALLOC(xfs_icsb_cnts_t, GFP_KERNEL | __GFP_ZERO);
if (mp-m_sb_cnts == NULL)
return -ENOMEM;
 
@@ -1989,11 +1986,6 @@ xfs_icsb_init_counters(
register_hotcpu_notifier(mp-m_icsb_notifier);
 #endif /* CONFIG_HOTPLUG_CPU */
 
-   for_each_online_cpu(i) {
-   cntp = (xfs_icsb_cnts_t *)per_cpu_ptr(mp-m_sb_cnts, i);
-   memset(cntp, 0, sizeof(xfs_icsb_cnts_t));
-   }
-
mutex_init(mp-m_icsb_mutex);
 
/*
@@ -2026,7 +2018,7 @@ xfs_icsb_destroy_counters(
 {
if (mp-m_sb_cnts) {
unregister_hotcpu_notifier(mp-m_icsb_notifier);
-   free_percpu(mp-m_sb_cnts);
+   CPU_FREE(mp-m_sb_cnts);
}
mutex_destroy(mp-m_icsb_mutex);
 }
@@ -2056,7 +2048,7 @@ xfs_icsb_lock_all_counters(
int i;
 
for_each_online_cpu(i) {
-   cntp = (xfs_icsb_cnts_t *)per_cpu_ptr(mp-m_sb_cnts, i);
+   cntp = (xfs_icsb_cnts_t *)CPU_PTR(mp-m_sb_cnts, i);
xfs_icsb_lock_cntr(cntp);
}
 }
@@ -2069,7 +2061,7 @@ xfs_icsb_unlock_all_counters(
int i;
 
for_each_online_cpu(i) {
-   cntp = (xfs_icsb_cnts_t *)per_cpu_ptr(mp-m_sb_cnts, i);
+   cntp = (xfs_icsb_cnts_t *)CPU_PTR(mp-m_sb_cnts, i);
xfs_icsb_unlock_cntr(cntp);
}
 }
@@ -2089,7 +2081,7 @@ xfs_icsb_count(
xfs_icsb_lock_all_counters(mp);
 
for_each_online_cpu(i) {
-   cntp = (xfs_icsb_cnts_t *)per_cpu_ptr(mp-m_sb_cnts, i);
+   cntp = (xfs_icsb_cnts_t *)CPU_PTR(mp-m_sb_cnts, i);
cnt-icsb_icount += cntp-icsb_icount;
cnt-icsb_ifree += cntp-icsb_ifree;
cnt-icsb_fdblocks += cntp-icsb_fdblocks;
@@ -2167,7 +2159,7 @@ xfs_icsb_enable_counter(
 
xfs_icsb_lock_all_counters(mp);
for_each_online_cpu(i) {
-   cntp = per_cpu_ptr(mp-m_sb_cnts, i);
+   cntp = CPU_PTR(mp-m_sb_cnts, i);
switch (field) {
case XFS_SBS_ICOUNT:
cntp-icsb_icount = count + resid;
@@ -2307,7 +2299,7 @@ xfs_icsb_modify_counters(
might_sleep();
 again:
cpu = get_cpu();
-   icsbp = (xfs_icsb_cnts_t *)per_cpu_ptr(mp-m_sb_cnts, cpu);
+   icsbp = (xfs_icsb_cnts_t *)CPU_PTR(mp-m_sb_cnts, cpu);
 
/*
 * if the counter is disabled, go to slow path

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