Re: Page fault scalability patch V18: Overview

2005-03-07 Thread Christoph Lameter
On Mon, 7 Mar 2005, Darren Williams wrote:

> Pid: 362, CPU 0, comm: kscrubd0
> psr : 121008022038 ifs : 8308 ip  : []
> Not tainted
> ip is at scrubd_rmpage+0x61/0x140

Would you try the new version on oss.sgi.com please.

-
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: Page fault scalability patch V18: Overview

2005-03-07 Thread Christoph Lameter
On Mon, 7 Mar 2005, Darren Williams wrote:

 Pid: 362, CPU 0, comm: kscrubd0
 psr : 121008022038 ifs : 8308 ip  : [a001000cf821]
 Not tainted
 ip is at scrubd_rmpage+0x61/0x140

Would you try the new version on oss.sgi.com please.

-
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: Page fault scalability patch V18: Overview

2005-03-06 Thread Darren Williams
Hi Christoph

On Sun, 06 Mar 2005, Christoph Lameter wrote:

> On Mon, 7 Mar 2005, Darren Williams wrote:
> 
> > Hi Christoph
> >
> > On Fri, 04 Mar 2005, Christoph Lameter wrote:
> >
> > > Make sure that scrubd_stop on startup is set to 2 and no zero in
> > > mm/scrubd.c. The current patch on oss.sgi.com may have that set to zero.
> > >
> > unsigned int sysctl_scrub_stop = 2; /* Mininum order of page to zero */
> >
> > This is the assignment when page zero fails.
> 
> Could you just test this with the prezeroing patches alone?
> Include a dmesg from a successful boot and then tell me what
> you changed and where the boot failed. Which version of the patches did
> you apply?
> 

PATCHES:
 
ftp://oss.sgi.com/projects/page_fault_performance/download/prezero/patch/patchset-2.6.11/

No scrubd_stop
cat /proc/sys/vm/scrub_stop
2

/etc/sysctl.conf
vm.scrub_stop=2

CONFIG_SCRUBD  =N=Y
Boots  OK   FAILED

Oops of failed prezero boot:
/dev/sdb4 has been mounted 31 times without being checked, check forced.Unable 
to handle kernel NULL pointer dereference (address )%
kscrubd0[362]: Oops 11012296146944 [1]

Pid: 362, CPU 0, comm: kscrubd0
psr : 121008022038 ifs : 8308 ip  : []Not 
tainted
ip is at scrubd_rmpage+0x61/0x140
unat:  pfs : 0308 rsc : 0003
rnat:  bsps:  pr  : 9641
ldrs:  ccv :  fpsr: 0009804c8a70433f
csd :  ssd : 
b0  : a001000cf7f0 b6  : a0012d70 b7  : a0019ff0
f6  : 1003e6db6db6db6db6db7 f7  : 0fff4847277b8
f8  : 1003e1c07c8b4 f9  : 1003ec4367cec
f10 : 10017a77079199649f035 f11 : 1003e014ee0f2
r1  : a00100a53d80 r2  : 00100100 r3  : e721fe04fdd0
r8  : 001008026038 r9  : e70020041070 r10 : 0008
r11 : 00200200 r12 : e721fe04fdc0 r13 : e721fe048000
r14 :  r15 : fffd r16 : 
r17 : a0007fffabf48000 r18 : c000 r19 : 
r20 : efff r21 : 0001 r22 : 0002
r23 :  r24 :  r25 : 
r26 :  r27 : 001008026038 r28 : e721fe04fdd0
r29 : a0007fffabf4a7e0 r30 :  r31 : e70020041080

Call Trace:
 [] show_stack+0x80/0xa0
sp=e721fe04f980 bsp=e721fe049010
 [] show_regs+0x7e0/0x800
sp=e721fe04fb50 bsp=e721fe048fa8
 [] die+0x150/0x1c0
sp=e721fe04fb60 bsp=e721fe048f68
 [] ia64_do_page_fault+0x370/0x980
sp=e721fe04fb60 bsp=e721fe048f00
 [] ia64_leave_kernel+0x0/0x260
sp=e721fe04fbf0 bsp=e721fe048f00
 [] scrubd_rmpage+0x60/0x140
sp=e721fe04fdc0 bsp=e721fe048ec0
 [] zero_highest_order_page+0x120/0x2c0
sp=e721fe04fdc0 bsp=e721fe048e68
 [] scrub_pgdat+0x110/0x1c0
sp=e721fe04fdd0 bsp=e721fe048e30
 [] kscrubd+0x220/0x240
sp=e721fe04fdd0 bsp=e721fe048e00
 [] kernel_thread_helper+0xd0/0x100
sp=e721fe04fe30 bsp=e721fe048dd0
 [] start_kernel_thread+0x20/0x40
sp=e721fe04fe30 bsp=e721fe048dd0
 <1>Unable to handle kernel NULL pointer dereference (address )
kscrubd1[363]: Oops 11012296146944 [2]

Pid: 363, CPU 6, comm: kscrubd1
psr : 121008022018 ifs : 8308 ip  : []Not 
tainted
ip is at scrubd_rmpage+0x61/0x140
unat:  pfs : 0308 rsc : 0003
rnat:  bsps:  pr  : 9641
ldrs:  ccv :  fpsr: 0009804c8a70433f
csd :  ssd : 
b0  : a001000cf7f0 b6  : a0012d70 b7  : a0019ff0
f6  : 1003e6db6db6db6db6db7 f7  : 0fff68a476010
f8  : 1003e1c87f85a f9  : 1003ec7b7ca76
f10 : 100188a47600ff75b89ff f11 : 1003e02291d80
r1  : a00100a53d80 r2  : 00100100 r3  : e741fe427dd0
r8  : 001008026018 r9  : e72510f0 r10 : 0008
r11 : 00200200 r12 : e741fe427dc0 r13 : e741fe42
r14 :  r15 : fffd r16 : 
r17 : a0007fffc7ff r18 : c000 r19 : 
r20 : efff r21 : 0001 r22 : 0001
r23 :  r24 :  r25 : 
r26 :  r27 : 001008026018 r28 : e741fe427dd0
r29 : a0007fffc7ff13f8 r30 :  r31 : e7251100

Call Trace:
 [] show_stack+0x80/0xa0
   

Re: Page fault scalability patch V18: Overview

2005-03-06 Thread Christoph Lameter
On Mon, 7 Mar 2005, Darren Williams wrote:

> Hi Christoph
>
> On Fri, 04 Mar 2005, Christoph Lameter wrote:
>
> > Make sure that scrubd_stop on startup is set to 2 and no zero in
> > mm/scrubd.c. The current patch on oss.sgi.com may have that set to zero.
> >
> unsigned int sysctl_scrub_stop = 2; /* Mininum order of page to zero */
>
> This is the assignment when page zero fails.

Could you just test this with the prezeroing patches alone?
Include a dmesg from a successful boot and then tell me what
you changed and where the boot failed. Which version of the patches did
you apply?

-
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: Page fault scalability patch V18: Overview

2005-03-06 Thread Darren Williams
Hi Christoph

On Fri, 04 Mar 2005, Christoph Lameter wrote:

> Make sure that scrubd_stop on startup is set to 2 and no zero in
> mm/scrubd.c. The current patch on oss.sgi.com may have that set to zero.
> 
unsigned int sysctl_scrub_stop = 2; /* Mininum order of page to zero */

This is the assignment when page zero fails.

Darren

> On Fri, 4 Mar 2005, Darren Williams wrote:
> 
> > Hi Darren
> >
> > On Fri, 04 Mar 2005, Darren Williams wrote:
> >
> > > Hi Christoph
> > >
> > > On Tue, 01 Mar 2005, Christoph Lameter wrote:
> > >
> > > > Is there any chance that this patchset could go into mm now? This has 
> > > > been
> > > > discussed since last August
> > > >
> > > > Changelog:
> > > >
> > > > V17->V18 Rediff against 2.6.11-rc5-bk4
> > >
> > > Just applied this patch against 2.6.11, however with the patch applied
> > > and all the aditional config options not set, the kernel hangs at
> > > Freeing unused kernel memory: 240kB freed
> > > FYI:
> > >
> > > bootatomic   prezero
> > > OKon  on
> > > fail  off on
> > > fail  off off
> > > OKon  off
> >
> > A bit extra info on the system:
> > HP rx8620 Itanium(R) 2 16way
> >
> > >
> > > > V16->V17 Do not increment page_count in do_wp_page. Performance data
> > > > posted.
> > > > V15->V16 of this patch: Redesign to allow full backback
> > > > for architectures that do not supporting atomic operations.
> > > >
> > > > An introduction to what this patch does and a patch archive can be 
> > > > found on
> > > > http://oss.sgi.com/projects/page_fault_performance. The archive also 
> > > > has the
> > > > result of various performance tests (LMBench, Microbenchmark and
> > > > kernel compiles).
> > > >
> > > > The basic approach in this patchset is the same as used in SGI's 2.4.X
> > > > based kernels which have been in production use in ProPack 3 for a long 
> > > > time.
> > > >
> > > > The patchset is composed of 4 patches (and was tested against 
> > > > 2.6.11-rc5-bk4):
> > > >
> > > [SNIP]
> > >
> > > > -
> > > > To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
> > > > the body of a message to [EMAIL PROTECTED]
> > > > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> > > --
> > > Darren Williams 
> > > [EMAIL PROTECTED] 
> > > --
> > > -
> > > 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/
> > --
> > Darren Williams 
> > [EMAIL PROTECTED] 
> > --
> >
> -
> To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
> the body of a message to [EMAIL PROTECTED]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
Darren Williams 
[EMAIL PROTECTED] 
--
-
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: Page fault scalability patch V18: Overview

2005-03-06 Thread Darren Williams
Hi Christoph

On Fri, 04 Mar 2005, Christoph Lameter wrote:

 Make sure that scrubd_stop on startup is set to 2 and no zero in
 mm/scrubd.c. The current patch on oss.sgi.com may have that set to zero.
 
unsigned int sysctl_scrub_stop = 2; /* Mininum order of page to zero */

This is the assignment when page zero fails.

Darren

 On Fri, 4 Mar 2005, Darren Williams wrote:
 
  Hi Darren
 
  On Fri, 04 Mar 2005, Darren Williams wrote:
 
   Hi Christoph
  
   On Tue, 01 Mar 2005, Christoph Lameter wrote:
  
Is there any chance that this patchset could go into mm now? This has 
been
discussed since last August
   
Changelog:
   
V17-V18 Rediff against 2.6.11-rc5-bk4
  
   Just applied this patch against 2.6.11, however with the patch applied
   and all the aditional config options not set, the kernel hangs at
   Freeing unused kernel memory: 240kB freed
   FYI:
  
   bootatomic   prezero
   OKon  on
   fail  off on
   fail  off off
   OKon  off
 
  A bit extra info on the system:
  HP rx8620 Itanium(R) 2 16way
 
  
V16-V17 Do not increment page_count in do_wp_page. Performance data
posted.
V15-V16 of this patch: Redesign to allow full backback
for architectures that do not supporting atomic operations.
   
An introduction to what this patch does and a patch archive can be 
found on
http://oss.sgi.com/projects/page_fault_performance. The archive also 
has the
result of various performance tests (LMBench, Microbenchmark and
kernel compiles).
   
The basic approach in this patchset is the same as used in SGI's 2.4.X
based kernels which have been in production use in ProPack 3 for a long 
time.
   
The patchset is composed of 4 patches (and was tested against 
2.6.11-rc5-bk4):
   
   [SNIP]
  
-
To unsubscribe from this list: send the line unsubscribe linux-ia64 in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
   --
   Darren Williams dsw AT gelato.unsw.edu.au
   [EMAIL PROTECTED] www.gelato.unsw.edu.au
   --
   -
   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/
  --
  Darren Williams dsw AT gelato.unsw.edu.au
  [EMAIL PROTECTED] www.gelato.unsw.edu.au
  --
 
 -
 To unsubscribe from this list: send the line unsubscribe linux-ia64 in
 the body of a message to [EMAIL PROTECTED]
 More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
Darren Williams dsw AT gelato.unsw.edu.au
[EMAIL PROTECTED] www.gelato.unsw.edu.au
--
-
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: Page fault scalability patch V18: Overview

2005-03-06 Thread Christoph Lameter
On Mon, 7 Mar 2005, Darren Williams wrote:

 Hi Christoph

 On Fri, 04 Mar 2005, Christoph Lameter wrote:

  Make sure that scrubd_stop on startup is set to 2 and no zero in
  mm/scrubd.c. The current patch on oss.sgi.com may have that set to zero.
 
 unsigned int sysctl_scrub_stop = 2; /* Mininum order of page to zero */

 This is the assignment when page zero fails.

Could you just test this with the prezeroing patches alone?
Include a dmesg from a successful boot and then tell me what
you changed and where the boot failed. Which version of the patches did
you apply?

-
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: Page fault scalability patch V18: Overview

2005-03-06 Thread Darren Williams
Hi Christoph

On Sun, 06 Mar 2005, Christoph Lameter wrote:

 On Mon, 7 Mar 2005, Darren Williams wrote:
 
  Hi Christoph
 
  On Fri, 04 Mar 2005, Christoph Lameter wrote:
 
   Make sure that scrubd_stop on startup is set to 2 and no zero in
   mm/scrubd.c. The current patch on oss.sgi.com may have that set to zero.
  
  unsigned int sysctl_scrub_stop = 2; /* Mininum order of page to zero */
 
  This is the assignment when page zero fails.
 
 Could you just test this with the prezeroing patches alone?
 Include a dmesg from a successful boot and then tell me what
 you changed and where the boot failed. Which version of the patches did
 you apply?
 

PATCHES:
 
ftp://oss.sgi.com/projects/page_fault_performance/download/prezero/patch/patchset-2.6.11/

No scrubd_stop
cat /proc/sys/vm/scrub_stop
2

/etc/sysctl.conf
vm.scrub_stop=2

CONFIG_SCRUBD  =N=Y
Boots  OK   FAILED

Oops of failed prezero boot:
/dev/sdb4 has been mounted 31 times without being checked, check forced.Unable 
to handle kernel NULL pointer dereference (address )%
kscrubd0[362]: Oops 11012296146944 [1]

Pid: 362, CPU 0, comm: kscrubd0
psr : 121008022038 ifs : 8308 ip  : [a001000cf821]Not 
tainted
ip is at scrubd_rmpage+0x61/0x140
unat:  pfs : 0308 rsc : 0003
rnat:  bsps:  pr  : 9641
ldrs:  ccv :  fpsr: 0009804c8a70433f
csd :  ssd : 
b0  : a001000cf7f0 b6  : a0012d70 b7  : a0019ff0
f6  : 1003e6db6db6db6db6db7 f7  : 0fff4847277b8
f8  : 1003e1c07c8b4 f9  : 1003ec4367cec
f10 : 10017a77079199649f035 f11 : 1003e014ee0f2
r1  : a00100a53d80 r2  : 00100100 r3  : e721fe04fdd0
r8  : 001008026038 r9  : e70020041070 r10 : 0008
r11 : 00200200 r12 : e721fe04fdc0 r13 : e721fe048000
r14 :  r15 : fffd r16 : 
r17 : a0007fffabf48000 r18 : c000 r19 : 
r20 : efff r21 : 0001 r22 : 0002
r23 :  r24 :  r25 : 
r26 :  r27 : 001008026038 r28 : e721fe04fdd0
r29 : a0007fffabf4a7e0 r30 :  r31 : e70020041080

Call Trace:
 [a001f3a0] show_stack+0x80/0xa0
sp=e721fe04f980 bsp=e721fe049010
 [a001fc00] show_regs+0x7e0/0x800
sp=e721fe04fb50 bsp=e721fe048fa8
 [a001000335f0] die+0x150/0x1c0
sp=e721fe04fb60 bsp=e721fe048f68
 [a00100052430] ia64_do_page_fault+0x370/0x980
sp=e721fe04fb60 bsp=e721fe048f00
 [a001a780] ia64_leave_kernel+0x0/0x260
sp=e721fe04fbf0 bsp=e721fe048f00
 [a001000cf820] scrubd_rmpage+0x60/0x140
sp=e721fe04fdc0 bsp=e721fe048ec0
 [a0010010e080] zero_highest_order_page+0x120/0x2c0
sp=e721fe04fdc0 bsp=e721fe048e68
 [a0010010e330] scrub_pgdat+0x110/0x1c0
sp=e721fe04fdd0 bsp=e721fe048e30
 [a0010010e600] kscrubd+0x220/0x240
sp=e721fe04fdd0 bsp=e721fe048e00
 [a00100011410] kernel_thread_helper+0xd0/0x100
sp=e721fe04fe30 bsp=e721fe048dd0
 [a00190e0] start_kernel_thread+0x20/0x40
sp=e721fe04fe30 bsp=e721fe048dd0
 1Unable to handle kernel NULL pointer dereference (address )
kscrubd1[363]: Oops 11012296146944 [2]

Pid: 363, CPU 6, comm: kscrubd1
psr : 121008022018 ifs : 8308 ip  : [a001000cf821]Not 
tainted
ip is at scrubd_rmpage+0x61/0x140
unat:  pfs : 0308 rsc : 0003
rnat:  bsps:  pr  : 9641
ldrs:  ccv :  fpsr: 0009804c8a70433f
csd :  ssd : 
b0  : a001000cf7f0 b6  : a0012d70 b7  : a0019ff0
f6  : 1003e6db6db6db6db6db7 f7  : 0fff68a476010
f8  : 1003e1c87f85a f9  : 1003ec7b7ca76
f10 : 100188a47600ff75b89ff f11 : 1003e02291d80
r1  : a00100a53d80 r2  : 00100100 r3  : e741fe427dd0
r8  : 001008026018 r9  : e72510f0 r10 : 0008
r11 : 00200200 r12 : e741fe427dc0 r13 : e741fe42
r14 :  r15 : fffd r16 : 
r17 : a0007fffc7ff r18 : c000 r19 : 
r20 : efff r21 : 0001 r22 : 0001
r23 :  r24 :  r25 : 
r26 :  r27 : 

Re: Page fault scalability patch V18: Overview

2005-03-04 Thread Christoph Lameter
Make sure that scrubd_stop on startup is set to 2 and no zero in
mm/scrubd.c. The current patch on oss.sgi.com may have that set to zero.

On Fri, 4 Mar 2005, Darren Williams wrote:

> Hi Darren
>
> On Fri, 04 Mar 2005, Darren Williams wrote:
>
> > Hi Christoph
> >
> > On Tue, 01 Mar 2005, Christoph Lameter wrote:
> >
> > > Is there any chance that this patchset could go into mm now? This has been
> > > discussed since last August
> > >
> > > Changelog:
> > >
> > > V17->V18 Rediff against 2.6.11-rc5-bk4
> >
> > Just applied this patch against 2.6.11, however with the patch applied
> > and all the aditional config options not set, the kernel hangs at
> > Freeing unused kernel memory: 240kB freed
> > FYI:
> >
> > bootatomic   prezero
> > OKon  on
> > fail  off on
> > fail  off off
> > OKon  off
>
> A bit extra info on the system:
> HP rx8620 Itanium(R) 2 16way
>
> >
> > > V16->V17 Do not increment page_count in do_wp_page. Performance data
> > >   posted.
> > > V15->V16 of this patch: Redesign to allow full backback
> > >   for architectures that do not supporting atomic operations.
> > >
> > > An introduction to what this patch does and a patch archive can be found 
> > > on
> > > http://oss.sgi.com/projects/page_fault_performance. The archive also has 
> > > the
> > > result of various performance tests (LMBench, Microbenchmark and
> > > kernel compiles).
> > >
> > > The basic approach in this patchset is the same as used in SGI's 2.4.X
> > > based kernels which have been in production use in ProPack 3 for a long 
> > > time.
> > >
> > > The patchset is composed of 4 patches (and was tested against 
> > > 2.6.11-rc5-bk4):
> > >
> > [SNIP]
> >
> > > -
> > > To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
> > > the body of a message to [EMAIL PROTECTED]
> > > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> > --
> > Darren Williams 
> > [EMAIL PROTECTED] 
> > --
> > -
> > 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/
> --
> Darren Williams 
> [EMAIL PROTECTED] 
> --
>
-
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: Page fault scalability patch V18: Overview

2005-03-04 Thread Christoph Lameter
Make sure that scrubd_stop on startup is set to 2 and no zero in
mm/scrubd.c. The current patch on oss.sgi.com may have that set to zero.

On Fri, 4 Mar 2005, Darren Williams wrote:

 Hi Darren

 On Fri, 04 Mar 2005, Darren Williams wrote:

  Hi Christoph
 
  On Tue, 01 Mar 2005, Christoph Lameter wrote:
 
   Is there any chance that this patchset could go into mm now? This has been
   discussed since last August
  
   Changelog:
  
   V17-V18 Rediff against 2.6.11-rc5-bk4
 
  Just applied this patch against 2.6.11, however with the patch applied
  and all the aditional config options not set, the kernel hangs at
  Freeing unused kernel memory: 240kB freed
  FYI:
 
  bootatomic   prezero
  OKon  on
  fail  off on
  fail  off off
  OKon  off

 A bit extra info on the system:
 HP rx8620 Itanium(R) 2 16way

 
   V16-V17 Do not increment page_count in do_wp_page. Performance data
 posted.
   V15-V16 of this patch: Redesign to allow full backback
 for architectures that do not supporting atomic operations.
  
   An introduction to what this patch does and a patch archive can be found 
   on
   http://oss.sgi.com/projects/page_fault_performance. The archive also has 
   the
   result of various performance tests (LMBench, Microbenchmark and
   kernel compiles).
  
   The basic approach in this patchset is the same as used in SGI's 2.4.X
   based kernels which have been in production use in ProPack 3 for a long 
   time.
  
   The patchset is composed of 4 patches (and was tested against 
   2.6.11-rc5-bk4):
  
  [SNIP]
 
   -
   To unsubscribe from this list: send the line unsubscribe linux-ia64 in
   the body of a message to [EMAIL PROTECTED]
   More majordomo info at  http://vger.kernel.org/majordomo-info.html
  --
  Darren Williams dsw AT gelato.unsw.edu.au
  [EMAIL PROTECTED] www.gelato.unsw.edu.au
  --
  -
  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/
 --
 Darren Williams dsw AT gelato.unsw.edu.au
 [EMAIL PROTECTED] www.gelato.unsw.edu.au
 --

-
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: Page fault scalability patch V18: Overview

2005-03-03 Thread Darren Williams
Hi Darren

On Fri, 04 Mar 2005, Darren Williams wrote:

> Hi Christoph
> 
> On Tue, 01 Mar 2005, Christoph Lameter wrote:
> 
> > Is there any chance that this patchset could go into mm now? This has been
> > discussed since last August
> > 
> > Changelog:
> > 
> > V17->V18 Rediff against 2.6.11-rc5-bk4
> 
> Just applied this patch against 2.6.11, however with the patch applied
> and all the aditional config options not set, the kernel hangs at
> Freeing unused kernel memory: 240kB freed 
> FYI:
> 
> bootatomic   prezero
> OKon  on
> fail  off on
> fail  off off
> OKon  off

A bit extra info on the system:
HP rx8620 Itanium(R) 2 16way
  
> 
> > V16->V17 Do not increment page_count in do_wp_page. Performance data
> > posted.
> > V15->V16 of this patch: Redesign to allow full backback
> > for architectures that do not supporting atomic operations.
> > 
> > An introduction to what this patch does and a patch archive can be found on
> > http://oss.sgi.com/projects/page_fault_performance. The archive also has the
> > result of various performance tests (LMBench, Microbenchmark and
> > kernel compiles).
> > 
> > The basic approach in this patchset is the same as used in SGI's 2.4.X
> > based kernels which have been in production use in ProPack 3 for a long 
> > time.
> > 
> > The patchset is composed of 4 patches (and was tested against 
> > 2.6.11-rc5-bk4):
> > 
> [SNIP]
> 
> > -
> > To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
> > the body of a message to [EMAIL PROTECTED]
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> --
> Darren Williams 
> [EMAIL PROTECTED] 
> --
> -
> 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/
--
Darren Williams 
[EMAIL PROTECTED] 
--
-
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: Page fault scalability patch V18: Overview

2005-03-03 Thread Darren Williams
Hi Christoph

On Tue, 01 Mar 2005, Christoph Lameter wrote:

> Is there any chance that this patchset could go into mm now? This has been
> discussed since last August
> 
> Changelog:
> 
> V17->V18 Rediff against 2.6.11-rc5-bk4

Just applied this patch against 2.6.11, however with the patch applied
and all the aditional config options not set, the kernel hangs at
Freeing unused kernel memory: 240kB freed 
FYI:

bootatomic   prezero
OKon  on
fail  off on
fail  off off
OKon  off

> V16->V17 Do not increment page_count in do_wp_page. Performance data
>   posted.
> V15->V16 of this patch: Redesign to allow full backback
>   for architectures that do not supporting atomic operations.
> 
> An introduction to what this patch does and a patch archive can be found on
> http://oss.sgi.com/projects/page_fault_performance. The archive also has the
> result of various performance tests (LMBench, Microbenchmark and
> kernel compiles).
> 
> The basic approach in this patchset is the same as used in SGI's 2.4.X
> based kernels which have been in production use in ProPack 3 for a long time.
> 
> The patchset is composed of 4 patches (and was tested against 2.6.11-rc5-bk4):
> 
[SNIP]

> -
> To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
> the body of a message to [EMAIL PROTECTED]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
Darren Williams 
[EMAIL PROTECTED] 
--
-
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: Page fault scalability patch V18: Overview

2005-03-03 Thread Darren Williams
Hi Christoph

On Tue, 01 Mar 2005, Christoph Lameter wrote:

 Is there any chance that this patchset could go into mm now? This has been
 discussed since last August
 
 Changelog:
 
 V17-V18 Rediff against 2.6.11-rc5-bk4

Just applied this patch against 2.6.11, however with the patch applied
and all the aditional config options not set, the kernel hangs at
Freeing unused kernel memory: 240kB freed 
FYI:

bootatomic   prezero
OKon  on
fail  off on
fail  off off
OKon  off

 V16-V17 Do not increment page_count in do_wp_page. Performance data
   posted.
 V15-V16 of this patch: Redesign to allow full backback
   for architectures that do not supporting atomic operations.
 
 An introduction to what this patch does and a patch archive can be found on
 http://oss.sgi.com/projects/page_fault_performance. The archive also has the
 result of various performance tests (LMBench, Microbenchmark and
 kernel compiles).
 
 The basic approach in this patchset is the same as used in SGI's 2.4.X
 based kernels which have been in production use in ProPack 3 for a long time.
 
 The patchset is composed of 4 patches (and was tested against 2.6.11-rc5-bk4):
 
[SNIP]

 -
 To unsubscribe from this list: send the line unsubscribe linux-ia64 in
 the body of a message to [EMAIL PROTECTED]
 More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
Darren Williams dsw AT gelato.unsw.edu.au
[EMAIL PROTECTED] www.gelato.unsw.edu.au
--
-
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: Page fault scalability patch V18: Overview

2005-03-03 Thread Darren Williams
Hi Darren

On Fri, 04 Mar 2005, Darren Williams wrote:

 Hi Christoph
 
 On Tue, 01 Mar 2005, Christoph Lameter wrote:
 
  Is there any chance that this patchset could go into mm now? This has been
  discussed since last August
  
  Changelog:
  
  V17-V18 Rediff against 2.6.11-rc5-bk4
 
 Just applied this patch against 2.6.11, however with the patch applied
 and all the aditional config options not set, the kernel hangs at
 Freeing unused kernel memory: 240kB freed 
 FYI:
 
 bootatomic   prezero
 OKon  on
 fail  off on
 fail  off off
 OKon  off

A bit extra info on the system:
HP rx8620 Itanium(R) 2 16way
  
 
  V16-V17 Do not increment page_count in do_wp_page. Performance data
  posted.
  V15-V16 of this patch: Redesign to allow full backback
  for architectures that do not supporting atomic operations.
  
  An introduction to what this patch does and a patch archive can be found on
  http://oss.sgi.com/projects/page_fault_performance. The archive also has the
  result of various performance tests (LMBench, Microbenchmark and
  kernel compiles).
  
  The basic approach in this patchset is the same as used in SGI's 2.4.X
  based kernels which have been in production use in ProPack 3 for a long 
  time.
  
  The patchset is composed of 4 patches (and was tested against 
  2.6.11-rc5-bk4):
  
 [SNIP]
 
  -
  To unsubscribe from this list: send the line unsubscribe linux-ia64 in
  the body of a message to [EMAIL PROTECTED]
  More majordomo info at  http://vger.kernel.org/majordomo-info.html
 --
 Darren Williams dsw AT gelato.unsw.edu.au
 [EMAIL PROTECTED] www.gelato.unsw.edu.au
 --
 -
 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/
--
Darren Williams dsw AT gelato.unsw.edu.au
[EMAIL PROTECTED] www.gelato.unsw.edu.au
--
-
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/


Page fault scalability patch V18: Overview

2005-03-01 Thread Christoph Lameter
Is there any chance that this patchset could go into mm now? This has been
discussed since last August

Changelog:

V17->V18 Rediff against 2.6.11-rc5-bk4
V16->V17 Do not increment page_count in do_wp_page. Performance data
posted.
V15->V16 of this patch: Redesign to allow full backback
for architectures that do not supporting atomic operations.

An introduction to what this patch does and a patch archive can be found on
http://oss.sgi.com/projects/page_fault_performance. The archive also has the
result of various performance tests (LMBench, Microbenchmark and
kernel compiles).

The basic approach in this patchset is the same as used in SGI's 2.4.X
based kernels which have been in production use in ProPack 3 for a long time.

The patchset is composed of 4 patches (and was tested against 2.6.11-rc5-bk4):

1/4: ptep_cmpxchg and ptep_xchg to avoid intermittent zeroing of ptes

The current way of synchronizing with the CPU or arch specific
interrupts updating page table entries is to first set a pte
to zero before writing a new value. This patch uses ptep_xchg
and ptep_cmpxchg to avoid writing the zero for certain
configurations.

The patch introduces CONFIG_ATOMIC_TABLE_OPS that may be
enabled as a experimental feature during kernel configuration
if the hardware is able to support atomic operations and if
an SMP kernel is being configured. A Kconfig update for i386,
x86_64 and ia64 has been provided. On i386 this options is
restricted to CPUs better than a 486 and non PAE mode (that
way all the cmpxchg issues on old i386 CPUS and the problems
with 64bit atomic operations on recent i386 CPUS are avoided).

If CONFIG_ATOMIC_TABLE_OPS is not set then ptep_xchg and
ptep_xcmpxchg are realized by falling back to clearing a pte
before updating it.

The patch does not change the use of mm->page_table_lock and
the only performance improvement is the replacement of
xchg-with-zero-and-then-write-new-pte-value with an xchg with
the new value for SMP on some architectures if
CONFIG_ATOMIC_TABLE_OPS is configured. It should not do anything
major to VM operations.

2/4: Macros for mm counter manipulation

There are various approaches to handling mm counters if the
page_table_lock is no longer acquired. This patch defines
macros in include/linux/sched.h to handle these counters and
makes sure that these macros are used throughout the kernel
to access and manipulate rss and anon_rss. There should be
no change to the generated code as a result of this patch.

3/4: Drop the first use of the page_table_lock in handle_mm_fault

The patch introduces two new functions:

page_table_atomic_start(mm), page_table_atomic_stop(mm)

that fall back to the use of the page_table_lock if
CONFIG_ATOMIC_TABLE_OPS is not defined.

If CONFIG_ATOMIC_TABLE_OPS is defined those functions may
be used to prep the CPU for atomic table ops (i386 in PAE mode
may f.e. get the MMX register ready for 64bit atomic ops) but
are simply empty by default.

Two operations may then be performed on the page table without
acquiring the page table lock:

a) updating access bits in pte
b) anonymous read faults installed a mapping to the zero page.

All counters are still protected with the page_table_lock thus
avoiding any issues there.

Some additional statistics are added to /proc/meminfo to
give some statistics. Also counts spurious faults with no
effect. There is a surprisingly high number of those on ia64
(used to populate the cpu caches with the pte??)

4/4: Drop the use of the page_table_lock in do_anonymous_page

The second acquisition of the page_table_lock is removed
from do_anonymous_page and allows the anonymous
write fault to be possible without the page_table_lock.

The macros for manipulating rss and anon_rss in include/linux/sched.h
are changed if CONFIG_ATOMIC_TABLE_OPS is set to use atomic
operations for rss and anon_rss (safest solution for now, other
solutions may easily be implemented by changing those macros).

This patch typically yield significant increases in page fault
performance for threaded applications on SMP systems.


-
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/


Page fault scalability patch V18: Overview

2005-03-01 Thread Christoph Lameter
Is there any chance that this patchset could go into mm now? This has been
discussed since last August

Changelog:

V17-V18 Rediff against 2.6.11-rc5-bk4
V16-V17 Do not increment page_count in do_wp_page. Performance data
posted.
V15-V16 of this patch: Redesign to allow full backback
for architectures that do not supporting atomic operations.

An introduction to what this patch does and a patch archive can be found on
http://oss.sgi.com/projects/page_fault_performance. The archive also has the
result of various performance tests (LMBench, Microbenchmark and
kernel compiles).

The basic approach in this patchset is the same as used in SGI's 2.4.X
based kernels which have been in production use in ProPack 3 for a long time.

The patchset is composed of 4 patches (and was tested against 2.6.11-rc5-bk4):

1/4: ptep_cmpxchg and ptep_xchg to avoid intermittent zeroing of ptes

The current way of synchronizing with the CPU or arch specific
interrupts updating page table entries is to first set a pte
to zero before writing a new value. This patch uses ptep_xchg
and ptep_cmpxchg to avoid writing the zero for certain
configurations.

The patch introduces CONFIG_ATOMIC_TABLE_OPS that may be
enabled as a experimental feature during kernel configuration
if the hardware is able to support atomic operations and if
an SMP kernel is being configured. A Kconfig update for i386,
x86_64 and ia64 has been provided. On i386 this options is
restricted to CPUs better than a 486 and non PAE mode (that
way all the cmpxchg issues on old i386 CPUS and the problems
with 64bit atomic operations on recent i386 CPUS are avoided).

If CONFIG_ATOMIC_TABLE_OPS is not set then ptep_xchg and
ptep_xcmpxchg are realized by falling back to clearing a pte
before updating it.

The patch does not change the use of mm-page_table_lock and
the only performance improvement is the replacement of
xchg-with-zero-and-then-write-new-pte-value with an xchg with
the new value for SMP on some architectures if
CONFIG_ATOMIC_TABLE_OPS is configured. It should not do anything
major to VM operations.

2/4: Macros for mm counter manipulation

There are various approaches to handling mm counters if the
page_table_lock is no longer acquired. This patch defines
macros in include/linux/sched.h to handle these counters and
makes sure that these macros are used throughout the kernel
to access and manipulate rss and anon_rss. There should be
no change to the generated code as a result of this patch.

3/4: Drop the first use of the page_table_lock in handle_mm_fault

The patch introduces two new functions:

page_table_atomic_start(mm), page_table_atomic_stop(mm)

that fall back to the use of the page_table_lock if
CONFIG_ATOMIC_TABLE_OPS is not defined.

If CONFIG_ATOMIC_TABLE_OPS is defined those functions may
be used to prep the CPU for atomic table ops (i386 in PAE mode
may f.e. get the MMX register ready for 64bit atomic ops) but
are simply empty by default.

Two operations may then be performed on the page table without
acquiring the page table lock:

a) updating access bits in pte
b) anonymous read faults installed a mapping to the zero page.

All counters are still protected with the page_table_lock thus
avoiding any issues there.

Some additional statistics are added to /proc/meminfo to
give some statistics. Also counts spurious faults with no
effect. There is a surprisingly high number of those on ia64
(used to populate the cpu caches with the pte??)

4/4: Drop the use of the page_table_lock in do_anonymous_page

The second acquisition of the page_table_lock is removed
from do_anonymous_page and allows the anonymous
write fault to be possible without the page_table_lock.

The macros for manipulating rss and anon_rss in include/linux/sched.h
are changed if CONFIG_ATOMIC_TABLE_OPS is set to use atomic
operations for rss and anon_rss (safest solution for now, other
solutions may easily be implemented by changing those macros).

This patch typically yield significant increases in page fault
performance for threaded applications on SMP systems.


-
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/