Re: 2.6.13-rc3-mm1 (ckrm)

2005-07-28 Thread Paul Jackson
Thanks for your well worded response, Shailabh.

Others will have to make further comments and
decisions here.  You have understood what I had
to say, and responded well.  I have nothing to
add at this point that would help further.

-- 
  I won't rest till it's the best ...
  Programmer, Linux Scalability
  Paul Jackson <[EMAIL PROTECTED]> 1.925.600.0401
-
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: 2.6.13-rc3-mm1 (ckrm)

2005-07-28 Thread Shailabh Nagar



Paul Jackson wrote:

Sorry for the late response - I just saw this note.


Shailabh wrote:

So if the current CPU controller 
 implementation is considered too intrusive/unacceptable, it can be 
reworked or (and we certainly hope not) even rejected in perpetuity. 



It is certainly reasonable that you would hope such.

But this hypothetical possibility concerns me a little.  Where would
that leave CKRM, if it was in the mainline kernel, but there was no CPU
controller in the mainline kernel?  


It would be unfortunate indeed since CPU is the first resource that 
people want to try and control.


However, I feel the following are also true:

1. It is still better to have CKRM with the I/O, memory, network, 
forkrate controllers than to have nothing just because the CPU 
controller is unacceptable. Each controller is useful in its own right. 
It may not be enough to justify the framework all by itself but together 
with others (and the possibility of future controllers and per-class 
metrics), it is sufficient.


2. A CPU controller which is acceptable can be developed. It may not 
work as well because of the need to keep it simple and not affect the 
non-CKRM user path, but it will be better than not having anything. 
Years ago, people said a low-overhead SMP scheduler couldn't be written 
and they were proved wrong. Currently Ingo is hard at work to make 
acceptable-impact real time scheduling happen. So why should we rule out 
the possibility of someone being able to develop a CKRM CPU controller 
with acceptable impact ?


Basically, I'm pointing out that there is no reason to hold the 
acceptance of the CKRM framework + other controller's hostage to its 
current CPU controller implementation (or any one controller's 
implementation for that matter).




Wouldn't that be a rather serious
problem for many users of CKRM if they wanted to work on mainline
kernels?


Yes it would. And one could say that its one of the features of the 
Linux kernel community that they would have to learn to accept. Just 
like the embedded folks who were rooting for realtime enhancements to be 
made mainstream for years now, like the RAS folks who have been making a 
case for better dump/probe tools, and you, who's tried in the past to 
get the community to accept PAGG/CSA :-)


But I don't think we need to be resigned to a CPU controller-less 
existence quite yet.  Using the examples given earlier, realtime is 
being discussed seriously now and RAS features are getting acceptance. 
So why should one rule out the possibility of an acceptable CPU 
controller for CKRM being developed ?


We, the current developers of CKRM, hope our current design can be a 
basis for the "one controller to rule them all" ! But if there are other 
ways of doing it or people can point out whats wrong with the 
implementation, it can be reworked or rewritten from scratch.


The important thing, as Andrew said, is to get real feedback about what 
is unacceptable in the current implementation and any ideas on how it 
can be done better. But lets start off with what has been put out there 
in -mm rather than getting stuck on discussing something that hasn't 
been even put out yet ?



--Shailabh



-
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: HPT370 errors under 2.6.13-rc3-mm1

2005-07-28 Thread Carlos Fernandez Sanz
I experienced this same thing (with an HPT too, I might say), and the 
problem seemed to be an underpowered system. Replaced the power supply 
and the problem went away.


My box had 7 HDs, all of them worked fine using a different system but I 
got these errors when they where together. I thought it was the HTP card 
but replacing it didn't help. Turned out it was the PS...


Alan Cox wrote:


On Sad, 2005-07-23 at 14:28 +1200, mdew wrote:
 


I'm unable to mount an ext2 drive using the hpt370A raid card.

upon mounting the drive, dmesg will spew these errors..I've tried
different cables and drive is fine.
   



 


Jul 23 01:30:21 localhost kernel: hdf: dma timeout error: status=0x25
{ DeviceFault CorrectedError Error }
Jul 23 01:30:21 localhost kernel: hdf: dma timeout error: error=0x25 {
DriveStatusError AddrMarkNotFound }, LBAsect=8830589412645,
high=526344, low=2434341, sector=390715711
   



Your drive disagrees with you. Note that it said

"Device fault"
"Error"
"Drive Status Error"
"Address Mark Not Found"


that came from the drive not the OS.

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


 


-
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: 2.6.13-rc3-mm1 compiles unrequested/unconfigured module!

2005-07-28 Thread Adrian Bunk
On Thu, Jul 28, 2005 at 02:50:24PM +0200, Helge Hafting wrote:

> I usually compile without module support.  This time, I turned modules
> on in order to compile an external module.
> 
> To my surprise, drivers/scsi/qla2xxx/qla2xxx.ko were built even though
> no actual modules are selected in my .config, and the source is
> not patched at all except the mm1 patch.

Known bug, alresdy fixed in -mm3.

> Helge Hafting

cu
Adrian

-- 

   "Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
   "Only a promise," Lao Er said.
   Pearl S. Buck - Dragon Seed

-
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: 2.6.13-rc3-mm1 compiles unrequested/unconfigured module!

2005-07-28 Thread Helge Hafting
I usually compile without module support.  This time, I turned modules
on in order to compile an external module.

To my surprise, drivers/scsi/qla2xxx/qla2xxx.ko were built even though
no actual modules are selected in my .config, and the source is
not patched at all except the mm1 patch.

Helge Hafting
-
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: 2.6.13-rc3-mm1 compiles unrequested/unconfigured module!

2005-07-28 Thread Helge Hafting
I usually compile without module support.  This time, I turned modules
on in order to compile an external module.

To my surprise, drivers/scsi/qla2xxx/qla2xxx.ko were built even though
no actual modules are selected in my .config, and the source is
not patched at all except the mm1 patch.

Helge Hafting
-
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: 2.6.13-rc3-mm1 compiles unrequested/unconfigured module!

2005-07-28 Thread Adrian Bunk
On Thu, Jul 28, 2005 at 02:50:24PM +0200, Helge Hafting wrote:

 I usually compile without module support.  This time, I turned modules
 on in order to compile an external module.
 
 To my surprise, drivers/scsi/qla2xxx/qla2xxx.ko were built even though
 no actual modules are selected in my .config, and the source is
 not patched at all except the mm1 patch.

Known bug, alresdy fixed in -mm3.

 Helge Hafting

cu
Adrian

-- 

   Is there not promise of rain? Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
   Only a promise, Lao Er said.
   Pearl S. Buck - Dragon Seed

-
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: HPT370 errors under 2.6.13-rc3-mm1

2005-07-28 Thread Carlos Fernandez Sanz
I experienced this same thing (with an HPT too, I might say), and the 
problem seemed to be an underpowered system. Replaced the power supply 
and the problem went away.


My box had 7 HDs, all of them worked fine using a different system but I 
got these errors when they where together. I thought it was the HTP card 
but replacing it didn't help. Turned out it was the PS...


Alan Cox wrote:


On Sad, 2005-07-23 at 14:28 +1200, mdew wrote:
 


I'm unable to mount an ext2 drive using the hpt370A raid card.

upon mounting the drive, dmesg will spew these errors..I've tried
different cables and drive is fine.
   



 


Jul 23 01:30:21 localhost kernel: hdf: dma timeout error: status=0x25
{ DeviceFault CorrectedError Error }
Jul 23 01:30:21 localhost kernel: hdf: dma timeout error: error=0x25 {
DriveStatusError AddrMarkNotFound }, LBAsect=8830589412645,
high=526344, low=2434341, sector=390715711
   



Your drive disagrees with you. Note that it said

Device fault
Error
Drive Status Error
Address Mark Not Found


that came from the drive not the OS.

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


 


-
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: 2.6.13-rc3-mm1 (ckrm)

2005-07-28 Thread Shailabh Nagar



Paul Jackson wrote:

Sorry for the late response - I just saw this note.


Shailabh wrote:

So if the current CPU controller 
 implementation is considered too intrusive/unacceptable, it can be 
reworked or (and we certainly hope not) even rejected in perpetuity. 



It is certainly reasonable that you would hope such.

But this hypothetical possibility concerns me a little.  Where would
that leave CKRM, if it was in the mainline kernel, but there was no CPU
controller in the mainline kernel?  


It would be unfortunate indeed since CPU is the first resource that 
people want to try and control.


However, I feel the following are also true:

1. It is still better to have CKRM with the I/O, memory, network, 
forkrate controllers than to have nothing just because the CPU 
controller is unacceptable. Each controller is useful in its own right. 
It may not be enough to justify the framework all by itself but together 
with others (and the possibility of future controllers and per-class 
metrics), it is sufficient.


2. A CPU controller which is acceptable can be developed. It may not 
work as well because of the need to keep it simple and not affect the 
non-CKRM user path, but it will be better than not having anything. 
Years ago, people said a low-overhead SMP scheduler couldn't be written 
and they were proved wrong. Currently Ingo is hard at work to make 
acceptable-impact real time scheduling happen. So why should we rule out 
the possibility of someone being able to develop a CKRM CPU controller 
with acceptable impact ?


Basically, I'm pointing out that there is no reason to hold the 
acceptance of the CKRM framework + other controller's hostage to its 
current CPU controller implementation (or any one controller's 
implementation for that matter).




Wouldn't that be a rather serious
problem for many users of CKRM if they wanted to work on mainline
kernels?


Yes it would. And one could say that its one of the features of the 
Linux kernel community that they would have to learn to accept. Just 
like the embedded folks who were rooting for realtime enhancements to be 
made mainstream for years now, like the RAS folks who have been making a 
case for better dump/probe tools, and you, who's tried in the past to 
get the community to accept PAGG/CSA :-)


But I don't think we need to be resigned to a CPU controller-less 
existence quite yet.  Using the examples given earlier, realtime is 
being discussed seriously now and RAS features are getting acceptance. 
So why should one rule out the possibility of an acceptable CPU 
controller for CKRM being developed ?


We, the current developers of CKRM, hope our current design can be a 
basis for the one controller to rule them all ! But if there are other 
ways of doing it or people can point out whats wrong with the 
implementation, it can be reworked or rewritten from scratch.


The important thing, as Andrew said, is to get real feedback about what 
is unacceptable in the current implementation and any ideas on how it 
can be done better. But lets start off with what has been put out there 
in -mm rather than getting stuck on discussing something that hasn't 
been even put out yet ?



--Shailabh



-
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: 2.6.13-rc3-mm1 (ckrm)

2005-07-28 Thread Paul Jackson
Thanks for your well worded response, Shailabh.

Others will have to make further comments and
decisions here.  You have understood what I had
to say, and responded well.  I have nothing to
add at this point that would help further.

-- 
  I won't rest till it's the best ...
  Programmer, Linux Scalability
  Paul Jackson [EMAIL PROTECTED] 1.925.600.0401
-
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][2.6.13-rc3-mm1] IRQ compression/sharing patch

2005-07-27 Thread James Cleverdon
On Tuesday 26 July 2005 09:03 am, Andi Kleen wrote:
> On Tue, Jul 26, 2005 at 12:12:41AM -0700, James Cleverdon wrote:
> > Here's a patch that builds on Natalie Protasevich's IRQ compression
> > patch and tries to work for MPS boots as well as ACPI.  It is meant
> > for a 4-node IBM x460 NUMA box, which was dying because it had
> > interrupt pins with GSI numbers > NR_IRQS and thus overflowed
> > irq_desc.
> >
> > The problem is that this system has 270 GSIs (which are 1:1 mapped
> > with I/O APIC RTEs) and an 8-node box would have 540.  This is much
> > bigger than NR_IRQS (224 for both i386 and x86_64).  Also, there
> > aren't enough vectors to go around.  There are about 190 usable
> > vectors, not counting the reserved ones and the unused vectors at
> > 0x20 to 0x2F.  So, my patch attempts to compress the GSI range and
> > share vectors by sharing IRQs.
> >
> > Important safety note:  While the SLES 9 version of this patch
> > works, I haven't been able to test the -rc3-mm1 patch enclosed.  I
> > keep getting errors from the adp94xx driver.  8-(
> >
> > (Sorry about doing an attachment, but KMail is steadfastly word
> > wrapping inserted files.  I need to upgrade)
>
> The patch seems to have lots of unrelated stuff. Can you please
> split it out?

Of course.  I'll pull out the BUG_ON()s and some of the other cleanup 
stuff into a related patch.

> BTW I plan to implement per CPU IDT vectors similar to Zwane's i386
> patch for x86-64 soon, hopefully with that things will be easier too.

I hope so, too.  The problem has been making the most of limited 
interrupt resources (vectors and IRQ numbers), when previous coding has 
assumed that we could use them lavishly.

> Andrew: this is not 2.6.13 material.
>
> > @@ -276,13 +276,13 @@ config HAVE_DEC_LOCK
> > default y
> >
> >  config NR_CPUS
> > -   int "Maximum number of CPUs (2-256)"
> > -   range 2 256
> > +   int "Maximum number of CPUs (2-255)"
> > +   range 2 255
> > depends on SMP
> > -   default "8"
> > +   default "64"
>
> Please don't change that,

Which?  The maximum number of addressable CPUs is 255, because FF is 
reserved.  Or, would you rather the default be 8 or 16?  (Hmmm  
Dual-core, hyperthreaded CPUs are out.  They'll turn a quad box into a 
16-way.)

> > +/*
> > + * Check the APIC IDs in MADT table header and choose the APIC
> > mode. + */
> > +void acpi_madt_oem_check(char *oem_id, char *oem_table_id)
> > +{
> > +   /* May need to check OEM strings in the future. */
> > +}
> > +
> > +/*
> > + * Check the IDs in MPS header and choose the APIC mode.
> > + */
> > +void mps_oem_check(struct mp_config_table *mpc, char *oem, char
> > *productid) +{
> > +   /* May need to check OEM strings in the future. */
> > +}
>
> Can you perhaps add it then later, not now?

Naturally.  It was a placeholder for those systems where we can't figure 
out what to do using heuristics on the ACPI/MPS table data.

> > +static u8 gsi_2_irq[NR_IRQ_VECTORS] = { [0 ... NR_IRQ_VECTORS-1] =
> > 0xFF };
>
> With the per cpu IDTs we'll likely need more than 8 bits here.

OK, I'll make it u32.  Or would you rather have u16?

> > -   char str[16];
> > +   char oem[9], str[16];
> > int count=sizeof(*mpc);
> > unsigned char *mpt=((unsigned char *)mpc)+count;
> > +   extern void mps_oem_check(struct mp_config_table *mpc, char *oem,
> > char *productid);
>
> That would belong in some header if it was needed.
>
> But please just remove it for now.

Right.

> The rest looks ok.
>
> -Andi

Thanks Andi!

-- 
James Cleverdon
IBM LTC (xSeries Linux Solutions)
{jamesclv(Unix, preferred), cleverdj(Notes)} at us dot ibm dot comm
-
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][2.6.13-rc3-mm1] IRQ compression/sharing patch

2005-07-27 Thread James Cleverdon
On Tuesday 26 July 2005 09:03 am, Andi Kleen wrote:
 On Tue, Jul 26, 2005 at 12:12:41AM -0700, James Cleverdon wrote:
  Here's a patch that builds on Natalie Protasevich's IRQ compression
  patch and tries to work for MPS boots as well as ACPI.  It is meant
  for a 4-node IBM x460 NUMA box, which was dying because it had
  interrupt pins with GSI numbers  NR_IRQS and thus overflowed
  irq_desc.
 
  The problem is that this system has 270 GSIs (which are 1:1 mapped
  with I/O APIC RTEs) and an 8-node box would have 540.  This is much
  bigger than NR_IRQS (224 for both i386 and x86_64).  Also, there
  aren't enough vectors to go around.  There are about 190 usable
  vectors, not counting the reserved ones and the unused vectors at
  0x20 to 0x2F.  So, my patch attempts to compress the GSI range and
  share vectors by sharing IRQs.
 
  Important safety note:  While the SLES 9 version of this patch
  works, I haven't been able to test the -rc3-mm1 patch enclosed.  I
  keep getting errors from the adp94xx driver.  8-(
 
  (Sorry about doing an attachment, but KMail is steadfastly word
  wrapping inserted files.  I need to upgrade)

 The patch seems to have lots of unrelated stuff. Can you please
 split it out?

Of course.  I'll pull out the BUG_ON()s and some of the other cleanup 
stuff into a related patch.

 BTW I plan to implement per CPU IDT vectors similar to Zwane's i386
 patch for x86-64 soon, hopefully with that things will be easier too.

I hope so, too.  The problem has been making the most of limited 
interrupt resources (vectors and IRQ numbers), when previous coding has 
assumed that we could use them lavishly.

 Andrew: this is not 2.6.13 material.

  @@ -276,13 +276,13 @@ config HAVE_DEC_LOCK
  default y
 
   config NR_CPUS
  -   int Maximum number of CPUs (2-256)
  -   range 2 256
  +   int Maximum number of CPUs (2-255)
  +   range 2 255
  depends on SMP
  -   default 8
  +   default 64

 Please don't change that,

Which?  The maximum number of addressable CPUs is 255, because FF is 
reserved.  Or, would you rather the default be 8 or 16?  (Hmmm  
Dual-core, hyperthreaded CPUs are out.  They'll turn a quad box into a 
16-way.)

  +/*
  + * Check the APIC IDs in MADT table header and choose the APIC
  mode. + */
  +void acpi_madt_oem_check(char *oem_id, char *oem_table_id)
  +{
  +   /* May need to check OEM strings in the future. */
  +}
  +
  +/*
  + * Check the IDs in MPS header and choose the APIC mode.
  + */
  +void mps_oem_check(struct mp_config_table *mpc, char *oem, char
  *productid) +{
  +   /* May need to check OEM strings in the future. */
  +}

 Can you perhaps add it then later, not now?

Naturally.  It was a placeholder for those systems where we can't figure 
out what to do using heuristics on the ACPI/MPS table data.

  +static u8 gsi_2_irq[NR_IRQ_VECTORS] = { [0 ... NR_IRQ_VECTORS-1] =
  0xFF };

 With the per cpu IDTs we'll likely need more than 8 bits here.

OK, I'll make it u32.  Or would you rather have u16?

  -   char str[16];
  +   char oem[9], str[16];
  int count=sizeof(*mpc);
  unsigned char *mpt=((unsigned char *)mpc)+count;
  +   extern void mps_oem_check(struct mp_config_table *mpc, char *oem,
  char *productid);

 That would belong in some header if it was needed.

 But please just remove it for now.

Right.

 The rest looks ok.

 -Andi

Thanks Andi!

-- 
James Cleverdon
IBM LTC (xSeries Linux Solutions)
{jamesclv(Unix, preferred), cleverdj(Notes)} at us dot ibm dot comm
-
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][2.6.13-rc3-mm1] IRQ compression/sharing patch

2005-07-26 Thread Andi Kleen
On Tue, Jul 26, 2005 at 12:12:41AM -0700, James Cleverdon wrote:
> Here's a patch that builds on Natalie Protasevich's IRQ compression 
> patch and tries to work for MPS boots as well as ACPI.  It is meant for 
> a 4-node IBM x460 NUMA box, which was dying because it had interrupt 
> pins with GSI numbers > NR_IRQS and thus overflowed irq_desc.
> 
> The problem is that this system has 270 GSIs (which are 1:1 mapped with 
> I/O APIC RTEs) and an 8-node box would have 540.  This is much bigger 
> than NR_IRQS (224 for both i386 and x86_64).  Also, there aren't enough 
> vectors to go around.  There are about 190 usable vectors, not counting 
> the reserved ones and the unused vectors at 0x20 to 0x2F.  So, my patch 
> attempts to compress the GSI range and share vectors by sharing IRQs.
> 
> Important safety note:  While the SLES 9 version of this patch works, I 
> haven't been able to test the -rc3-mm1 patch enclosed.  I keep getting 
> errors from the adp94xx driver.  8-(
> 
> (Sorry about doing an attachment, but KMail is steadfastly word wrapping 
> inserted files.  I need to upgrade)

The patch seems to have lots of unrelated stuff. Can you please 
split it out? 

BTW I plan to implement per CPU IDT vectors similar to Zwane's i386 patch
for x86-64 soon, hopefully with that things will be easier too.

Andrew: this is not 2.6.13 material.

> @@ -276,13 +276,13 @@ config HAVE_DEC_LOCK
>   default y
>  
>  config NR_CPUS
> - int "Maximum number of CPUs (2-256)"
> - range 2 256
> + int "Maximum number of CPUs (2-255)"
> + range 2 255
>   depends on SMP
> - default "8"
> + default "64"

Please don't change that,

> +/*
> + * Check the APIC IDs in MADT table header and choose the APIC mode.
> + */
> +void acpi_madt_oem_check(char *oem_id, char *oem_table_id)
> +{
> + /* May need to check OEM strings in the future. */
> +}
> +
> +/*
> + * Check the IDs in MPS header and choose the APIC mode.
> + */
> +void mps_oem_check(struct mp_config_table *mpc, char *oem, char *productid)
> +{
> + /* May need to check OEM strings in the future. */
> +}

Can you perhaps add it then later, not now? 

> +static u8 gsi_2_irq[NR_IRQ_VECTORS] = { [0 ... NR_IRQ_VECTORS-1] = 0xFF };

With the per cpu IDTs we'll likely need more than 8 bits here.

> - char str[16];
> + char oem[9], str[16];
>   int count=sizeof(*mpc);
>   unsigned char *mpt=((unsigned char *)mpc)+count;
> + extern void mps_oem_check(struct mp_config_table *mpc, char *oem, char 
> *productid);

That would belong in some header if it was needed.

But please just remove it for now.

The rest looks ok.

-Andi
-
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][2.6.13-rc3-mm1] IRQ compression/sharing patch

2005-07-26 Thread James Cleverdon
Here's a patch that builds on Natalie Protasevich's IRQ compression 
patch and tries to work for MPS boots as well as ACPI.  It is meant for 
a 4-node IBM x460 NUMA box, which was dying because it had interrupt 
pins with GSI numbers > NR_IRQS and thus overflowed irq_desc.

The problem is that this system has 270 GSIs (which are 1:1 mapped with 
I/O APIC RTEs) and an 8-node box would have 540.  This is much bigger 
than NR_IRQS (224 for both i386 and x86_64).  Also, there aren't enough 
vectors to go around.  There are about 190 usable vectors, not counting 
the reserved ones and the unused vectors at 0x20 to 0x2F.  So, my patch 
attempts to compress the GSI range and share vectors by sharing IRQs.

Important safety note:  While the SLES 9 version of this patch works, I 
haven't been able to test the -rc3-mm1 patch enclosed.  I keep getting 
errors from the adp94xx driver.  8-(

(Sorry about doing an attachment, but KMail is steadfastly word wrapping 
inserted files.  I need to upgrade)

-- 
James Cleverdon
IBM LTC (xSeries Linux Solutions)
{jamesclv(Unix, preferred), cleverdj(Notes)} at us dot ibm dot comm
diff -pru 2.6.13-rc3-mm1/arch/i386/kernel/acpi/boot.c j13-rc3-mm1/arch/i386/kernel/acpi/boot.c
--- 2.6.13-rc3-mm1/arch/i386/kernel/acpi/boot.c	2005-07-22 18:32:35.0 -0700
+++ j13-rc3-mm1/arch/i386/kernel/acpi/boot.c	2005-07-23 18:32:06.0 -0700
@@ -40,9 +40,10 @@
 
 #ifdef	CONFIG_X86_64
 
-static inline void  acpi_madt_oem_check(char *oem_id, char *oem_table_id) { }
+extern void  acpi_madt_oem_check(char *oem_id, char *oem_table_id);
 extern void __init clustered_apic_check(void);
 static inline int ioapic_setup_disabled(void) { return 0; }
+extern int gsi_irq_sharing(int gsi);
 #include 
 
 #else	/* X86 */
@@ -52,6 +53,10 @@ static inline int ioapic_setup_disabled(
 #include 
 #endif	/* CONFIG_X86_LOCAL_APIC */
 
+static inline int ioapic_setup_disabled(void) { return 0; }
+static inline int gsi_irq_sharing(int gsi) { return gsi; }
+
+
 #endif	/* X86 */
 
 #define BAD_MADT_ENTRY(entry, end) (	\
@@ -480,7 +485,7 @@ int acpi_gsi_to_irq(u32 gsi, unsigned in
  		*irq = IO_APIC_VECTOR(gsi);
 	else
 #endif
-		*irq = gsi;
+		*irq = gsi_irq_sharing(gsi);
 	return 0;
 }
 
diff -pru 2.6.13-rc3-mm1/arch/x86_64/Kconfig j13-rc3-mm1/arch/x86_64/Kconfig
--- 2.6.13-rc3-mm1/arch/x86_64/Kconfig	2005-07-22 18:32:35.0 -0700
+++ j13-rc3-mm1/arch/x86_64/Kconfig	2005-07-22 18:34:08.0 -0700
@@ -276,13 +276,13 @@ config HAVE_DEC_LOCK
 	default y
 
 config NR_CPUS
-	int "Maximum number of CPUs (2-256)"
-	range 2 256
+	int "Maximum number of CPUs (2-255)"
+	range 2 255
 	depends on SMP
-	default "8"
+	default "64"
 	help
 	  This allows you to specify the maximum number of CPUs which this
-	  kernel will support. Current maximum is 256 CPUs due to
+	  kernel will support. Current maximum is 255 CPUs due to
 	  APIC addressing limits. Less depending on the hardware.
 
 	  This is purely to save memory - each supported CPU requires
diff -pru 2.6.13-rc3-mm1/arch/x86_64/kernel/genapic.c j13-rc3-mm1/arch/x86_64/kernel/genapic.c
--- 2.6.13-rc3-mm1/arch/x86_64/kernel/genapic.c	2005-07-12 21:46:46.0 -0700
+++ j13-rc3-mm1/arch/x86_64/kernel/genapic.c	2005-07-22 18:34:08.0 -0700
@@ -103,3 +103,19 @@ void send_IPI_self(int vector)
 {
 	__send_IPI_shortcut(APIC_DEST_SELF, vector, APIC_DEST_PHYSICAL);
 }
+
+/*
+ * Check the APIC IDs in MADT table header and choose the APIC mode.
+ */
+void acpi_madt_oem_check(char *oem_id, char *oem_table_id)
+{
+	/* May need to check OEM strings in the future. */
+}
+
+/*
+ * Check the IDs in MPS header and choose the APIC mode.
+ */
+void mps_oem_check(struct mp_config_table *mpc, char *oem, char *productid)
+{
+	/* May need to check OEM strings in the future. */
+}
diff -pru 2.6.13-rc3-mm1/arch/x86_64/kernel/io_apic.c j13-rc3-mm1/arch/x86_64/kernel/io_apic.c
--- 2.6.13-rc3-mm1/arch/x86_64/kernel/io_apic.c	2005-07-22 18:32:35.0 -0700
+++ j13-rc3-mm1/arch/x86_64/kernel/io_apic.c	2005-07-23 18:32:40.0 -0700
@@ -56,7 +56,7 @@ int nr_ioapic_registers[MAX_IO_APICS];
  * Rough estimation of how many shared IRQs there are, can
  * be changed anytime.
  */
-#define MAX_PLUS_SHARED_IRQS NR_IRQS
+#define MAX_PLUS_SHARED_IRQS NR_IRQ_VECTORS
 #define PIN_MAP_SIZE (MAX_PLUS_SHARED_IRQS + NR_IRQS)
 
 /*
@@ -84,6 +84,7 @@ int vector_irq[NR_VECTORS] = { [0 ... NR
 	int pin;			\
 	struct irq_pin_list *entry = irq_2_pin + irq;			\
 	\
+	BUG_ON(irq >= NR_IRQS);		\
 	for (;;) {			\
 		unsigned int reg;	\
 		pin = entry->pin;	\
@@ -126,6 +127,8 @@ static void set_ioapic_affinity_irq(unsi
 }
 #endif
 
+static u8 gsi_2_irq[NR_IRQ_VECTORS] = { [0 ... NR_IRQ_VECTORS-1] = 0xFF };
+
 /*
  * The common case is 1:1 IRQ<->pin mappings. Sometimes there are
  * shared ISA-space IRQs, so we have to support them. We are super
@@ -136,6 +139,7 @@ static void add_pin_to_irq(unsigned

[RFC][2.6.13-rc3-mm1] IRQ compression/sharing patch

2005-07-26 Thread James Cleverdon
Here's a patch that builds on Natalie Protasevich's IRQ compression 
patch and tries to work for MPS boots as well as ACPI.  It is meant for 
a 4-node IBM x460 NUMA box, which was dying because it had interrupt 
pins with GSI numbers  NR_IRQS and thus overflowed irq_desc.

The problem is that this system has 270 GSIs (which are 1:1 mapped with 
I/O APIC RTEs) and an 8-node box would have 540.  This is much bigger 
than NR_IRQS (224 for both i386 and x86_64).  Also, there aren't enough 
vectors to go around.  There are about 190 usable vectors, not counting 
the reserved ones and the unused vectors at 0x20 to 0x2F.  So, my patch 
attempts to compress the GSI range and share vectors by sharing IRQs.

Important safety note:  While the SLES 9 version of this patch works, I 
haven't been able to test the -rc3-mm1 patch enclosed.  I keep getting 
errors from the adp94xx driver.  8-(

(Sorry about doing an attachment, but KMail is steadfastly word wrapping 
inserted files.  I need to upgrade)

-- 
James Cleverdon
IBM LTC (xSeries Linux Solutions)
{jamesclv(Unix, preferred), cleverdj(Notes)} at us dot ibm dot comm
diff -pru 2.6.13-rc3-mm1/arch/i386/kernel/acpi/boot.c j13-rc3-mm1/arch/i386/kernel/acpi/boot.c
--- 2.6.13-rc3-mm1/arch/i386/kernel/acpi/boot.c	2005-07-22 18:32:35.0 -0700
+++ j13-rc3-mm1/arch/i386/kernel/acpi/boot.c	2005-07-23 18:32:06.0 -0700
@@ -40,9 +40,10 @@
 
 #ifdef	CONFIG_X86_64
 
-static inline void  acpi_madt_oem_check(char *oem_id, char *oem_table_id) { }
+extern void  acpi_madt_oem_check(char *oem_id, char *oem_table_id);
 extern void __init clustered_apic_check(void);
 static inline int ioapic_setup_disabled(void) { return 0; }
+extern int gsi_irq_sharing(int gsi);
 #include asm/proto.h
 
 #else	/* X86 */
@@ -52,6 +53,10 @@ static inline int ioapic_setup_disabled(
 #include mach_mpparse.h
 #endif	/* CONFIG_X86_LOCAL_APIC */
 
+static inline int ioapic_setup_disabled(void) { return 0; }
+static inline int gsi_irq_sharing(int gsi) { return gsi; }
+
+
 #endif	/* X86 */
 
 #define BAD_MADT_ENTRY(entry, end) (	\
@@ -480,7 +485,7 @@ int acpi_gsi_to_irq(u32 gsi, unsigned in
  		*irq = IO_APIC_VECTOR(gsi);
 	else
 #endif
-		*irq = gsi;
+		*irq = gsi_irq_sharing(gsi);
 	return 0;
 }
 
diff -pru 2.6.13-rc3-mm1/arch/x86_64/Kconfig j13-rc3-mm1/arch/x86_64/Kconfig
--- 2.6.13-rc3-mm1/arch/x86_64/Kconfig	2005-07-22 18:32:35.0 -0700
+++ j13-rc3-mm1/arch/x86_64/Kconfig	2005-07-22 18:34:08.0 -0700
@@ -276,13 +276,13 @@ config HAVE_DEC_LOCK
 	default y
 
 config NR_CPUS
-	int Maximum number of CPUs (2-256)
-	range 2 256
+	int Maximum number of CPUs (2-255)
+	range 2 255
 	depends on SMP
-	default 8
+	default 64
 	help
 	  This allows you to specify the maximum number of CPUs which this
-	  kernel will support. Current maximum is 256 CPUs due to
+	  kernel will support. Current maximum is 255 CPUs due to
 	  APIC addressing limits. Less depending on the hardware.
 
 	  This is purely to save memory - each supported CPU requires
diff -pru 2.6.13-rc3-mm1/arch/x86_64/kernel/genapic.c j13-rc3-mm1/arch/x86_64/kernel/genapic.c
--- 2.6.13-rc3-mm1/arch/x86_64/kernel/genapic.c	2005-07-12 21:46:46.0 -0700
+++ j13-rc3-mm1/arch/x86_64/kernel/genapic.c	2005-07-22 18:34:08.0 -0700
@@ -103,3 +103,19 @@ void send_IPI_self(int vector)
 {
 	__send_IPI_shortcut(APIC_DEST_SELF, vector, APIC_DEST_PHYSICAL);
 }
+
+/*
+ * Check the APIC IDs in MADT table header and choose the APIC mode.
+ */
+void acpi_madt_oem_check(char *oem_id, char *oem_table_id)
+{
+	/* May need to check OEM strings in the future. */
+}
+
+/*
+ * Check the IDs in MPS header and choose the APIC mode.
+ */
+void mps_oem_check(struct mp_config_table *mpc, char *oem, char *productid)
+{
+	/* May need to check OEM strings in the future. */
+}
diff -pru 2.6.13-rc3-mm1/arch/x86_64/kernel/io_apic.c j13-rc3-mm1/arch/x86_64/kernel/io_apic.c
--- 2.6.13-rc3-mm1/arch/x86_64/kernel/io_apic.c	2005-07-22 18:32:35.0 -0700
+++ j13-rc3-mm1/arch/x86_64/kernel/io_apic.c	2005-07-23 18:32:40.0 -0700
@@ -56,7 +56,7 @@ int nr_ioapic_registers[MAX_IO_APICS];
  * Rough estimation of how many shared IRQs there are, can
  * be changed anytime.
  */
-#define MAX_PLUS_SHARED_IRQS NR_IRQS
+#define MAX_PLUS_SHARED_IRQS NR_IRQ_VECTORS
 #define PIN_MAP_SIZE (MAX_PLUS_SHARED_IRQS + NR_IRQS)
 
 /*
@@ -84,6 +84,7 @@ int vector_irq[NR_VECTORS] = { [0 ... NR
 	int pin;			\
 	struct irq_pin_list *entry = irq_2_pin + irq;			\
 	\
+	BUG_ON(irq = NR_IRQS);		\
 	for (;;) {			\
 		unsigned int reg;	\
 		pin = entry-pin;	\
@@ -126,6 +127,8 @@ static void set_ioapic_affinity_irq(unsi
 }
 #endif
 
+static u8 gsi_2_irq[NR_IRQ_VECTORS] = { [0 ... NR_IRQ_VECTORS-1] = 0xFF };
+
 /*
  * The common case is 1:1 IRQ-pin mappings. Sometimes there are
  * shared ISA-space IRQs, so we have to support them. We are super
@@ -136,6 +139,7 @@ static void add_pin_to_irq(unsigned int 
 	static int first_free_entry = NR_IRQS

Re: [RFC][2.6.13-rc3-mm1] IRQ compression/sharing patch

2005-07-26 Thread Andi Kleen
On Tue, Jul 26, 2005 at 12:12:41AM -0700, James Cleverdon wrote:
 Here's a patch that builds on Natalie Protasevich's IRQ compression 
 patch and tries to work for MPS boots as well as ACPI.  It is meant for 
 a 4-node IBM x460 NUMA box, which was dying because it had interrupt 
 pins with GSI numbers  NR_IRQS and thus overflowed irq_desc.
 
 The problem is that this system has 270 GSIs (which are 1:1 mapped with 
 I/O APIC RTEs) and an 8-node box would have 540.  This is much bigger 
 than NR_IRQS (224 for both i386 and x86_64).  Also, there aren't enough 
 vectors to go around.  There are about 190 usable vectors, not counting 
 the reserved ones and the unused vectors at 0x20 to 0x2F.  So, my patch 
 attempts to compress the GSI range and share vectors by sharing IRQs.
 
 Important safety note:  While the SLES 9 version of this patch works, I 
 haven't been able to test the -rc3-mm1 patch enclosed.  I keep getting 
 errors from the adp94xx driver.  8-(
 
 (Sorry about doing an attachment, but KMail is steadfastly word wrapping 
 inserted files.  I need to upgrade)

The patch seems to have lots of unrelated stuff. Can you please 
split it out? 

BTW I plan to implement per CPU IDT vectors similar to Zwane's i386 patch
for x86-64 soon, hopefully with that things will be easier too.

Andrew: this is not 2.6.13 material.

 @@ -276,13 +276,13 @@ config HAVE_DEC_LOCK
   default y
  
  config NR_CPUS
 - int Maximum number of CPUs (2-256)
 - range 2 256
 + int Maximum number of CPUs (2-255)
 + range 2 255
   depends on SMP
 - default 8
 + default 64

Please don't change that,

 +/*
 + * Check the APIC IDs in MADT table header and choose the APIC mode.
 + */
 +void acpi_madt_oem_check(char *oem_id, char *oem_table_id)
 +{
 + /* May need to check OEM strings in the future. */
 +}
 +
 +/*
 + * Check the IDs in MPS header and choose the APIC mode.
 + */
 +void mps_oem_check(struct mp_config_table *mpc, char *oem, char *productid)
 +{
 + /* May need to check OEM strings in the future. */
 +}

Can you perhaps add it then later, not now? 

 +static u8 gsi_2_irq[NR_IRQ_VECTORS] = { [0 ... NR_IRQ_VECTORS-1] = 0xFF };

With the per cpu IDTs we'll likely need more than 8 bits here.

 - char str[16];
 + char oem[9], str[16];
   int count=sizeof(*mpc);
   unsigned char *mpt=((unsigned char *)mpc)+count;
 + extern void mps_oem_check(struct mp_config_table *mpc, char *oem, char 
 *productid);

That would belong in some header if it was needed.

But please just remove it for now.

The rest looks ok.

-Andi
-
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: 2.6.13-rc3-mm1

2005-07-25 Thread Andrew Morton
Richard Purdie <[EMAIL PROTECTED]> wrote:
>
> On Fri, 2005-07-15 at 01:36 -0700, Andrew Morton wrote:
>  > 
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13-rc3/2.6.13-rc3-mm1/
> 
>  On the Zaurus I'm seeing a couple of false "BUG: soft lockup detected on
>  CPU#0!" reports. These didn't show under 2.6.12-mm1 which was the last
>  -mm kernel I tested. softlockup.c seems identical between these versions
>  so it looks like some other change has caused this to appear...
> 
>  Both of these are triggered from the nand driver. The functions
>  concerned (nand_wait_ready and nand_read_buf) are known to be slow (they
>  wait on hardware).

OK, thanks.  We can stick a touch_softlockup_watchdog() into those two
functions to tell them that we know what we're doing.  If you have time to
write-and-test a patch then please do so - otherwise I'll take an untested
shot at it.
-
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: 2.6.13-rc3-mm1

2005-07-25 Thread Andrew Morton
Richard Purdie [EMAIL PROTECTED] wrote:

 On Fri, 2005-07-15 at 01:36 -0700, Andrew Morton wrote:
   
 ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13-rc3/2.6.13-rc3-mm1/
 
  On the Zaurus I'm seeing a couple of false BUG: soft lockup detected on
  CPU#0! reports. These didn't show under 2.6.12-mm1 which was the last
  -mm kernel I tested. softlockup.c seems identical between these versions
  so it looks like some other change has caused this to appear...
 
  Both of these are triggered from the nand driver. The functions
  concerned (nand_wait_ready and nand_read_buf) are known to be slow (they
  wait on hardware).

OK, thanks.  We can stick a touch_softlockup_watchdog() into those two
functions to tell them that we know what we're doing.  If you have time to
write-and-test a patch then please do so - otherwise I'll take an untested
shot at it.
-
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: 2.6.13-rc3-mm1

2005-07-24 Thread Richard Purdie
On Fri, 2005-07-15 at 01:36 -0700, Andrew Morton wrote:
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13-rc3/2.6.13-rc3-mm1/

On the Zaurus I'm seeing a couple of false "BUG: soft lockup detected on
CPU#0!" reports. These didn't show under 2.6.12-mm1 which was the last
-mm kernel I tested. softlockup.c seems identical between these versions
so it looks like some other change has caused this to appear...

Both of these are triggered from the nand driver. The functions
concerned (nand_wait_ready and nand_read_buf) are known to be slow (they
wait on hardware).

Richard

BUG: soft lockup detected on CPU#0!
Pid: 1, comm:  swapper
CPU: 0
PC is at sharpsl_nand_dev_ready+0x14/0x28
LR is at nand_wait_ready+0x30/0x50
pc : []lr : []Not tainted
sp : c034fa24  ip : c034fa34  fp : c034fa30
r10: c3c09400  r9 : c035e890  r8 : c75a
r7 : c022533c  r6 : c3c09580  r5 : c3c09400  r4 : 8fc3
r3 : c027f0bc  r2 : c4856000  r1 : c4856000  r0 : c3c09400
Flags: NzCv  IRQs on  FIQs on  Mode SVC_32  Segment kernel
Control: 397F  Table: A0004000  DAC: 0017
[] (show_regs+0x0/0x4c) from [] (softlockup_tick
+0x7c/0xb0)
 r4 = C034E000
[] (softlockup_tick+0x0/0xb0) from [] (do_timer
+0x278/0x500)
 r5 =   r4 = 0001
[] (do_timer+0x0/0x500) from [] (timer_tick
+0xb4/0xf8)
[] (timer_tick+0x0/0xf8) from []
(pxa_timer_interrupt+0x48/0xa8)
 r6 = C034F9DC  r5 = C034E000  r4 = F2A0
[] (pxa_timer_interrupt+0x0/0xa8) from [] (__do_irq
+0x6c/0xc4)
 r8 = C034F9DC  r7 =   r6 =   r5 = C034E000
 r4 = C0226314
[] (__do_irq+0x0/0xc4) from [] (do_level_IRQ
+0x68/0xb8)
[] (do_level_IRQ+0x0/0xb8) from [] (asm_do_IRQ
+0x54/0x164)
 r6 = 0400  r5 = F2D0  r4 = 
[] (asm_do_IRQ+0x0/0x164) from [] (__irq_svc
+0x38/0x78)
[] (sharpsl_nand_dev_ready+0x0/0x28) from []
(nand_wait_ready+0x30/0x50)
[] (nand_wait_ready+0x0/0x50) from [] (nand_command
+0x9c/0x1f0)
 r7 =   r6 = C3C09400  r5 = C3C09580  r4 = 
[] (nand_command+0x0/0x1f0) from []
(nand_do_read_ecc+0x720/0x7c8)
 r8 = C034FACC  r7 = 0200  r6 = C3C09580  r5 = C75A
 r4 = 
[] (nand_do_read_ecc+0x0/0x7c8) from []
(nand_read_ecc+0x44/0x4c)
[] (nand_read_ecc+0x0/0x4c) from [] (part_read_ecc
+0xa4/0xbc)
 r4 = 
[] (part_read_ecc+0x0/0xbc) from []
(jffs2_flash_read+0x1fc/0x2b0)
 r7 =   r6 = 011E8B70  r5 =   r4 = C034FBF0
[] (jffs2_flash_read+0x0/0x2b0) from []
(jffs2_fill_scan_buf+0x2c/0x4c)
[] (jffs2_fill_scan_buf+0x0/0x4c) from []
(jffs2_scan_medium+0x63c/0x1884)
 r4 = 011E8B7C
[] (jffs2_scan_medium+0x0/0x1884) from []
(jffs2_do_mount_fs+0x1bc/0x6cc)
[] (jffs2_do_mount_fs+0x0/0x6cc) from []
(jffs2_do_fill_super+0x130/0x2b4)
[] (jffs2_do_fill_super+0x0/0x2b4) from []
(jffs2_get_sb_mtd+0xf4/0x134)
 r8 = 8401  r7 = C3C4B4E0  r6 = C3C4B4FC  r5 = C3C4B200
 r4 = C3C4B400
[] (jffs2_get_sb_mtd+0x0/0x134) from []
(jffs2_get_sb_mtdnr+0x50/0x5c)
[] (jffs2_get_sb_mtdnr+0x0/0x5c) from []
(jffs2_get_sb+0x130/0x1c0)
 r7 = 8001  r6 = C034FD5C  r5 = C3C5  r4 = FFEA
[] (jffs2_get_sb+0x0/0x1c0) from [] (do_kern_mount
+0x50/0xf4)
[] (do_kern_mount+0x0/0xf4) from [] (do_mount
+0x3ac/0x650)
[] (do_mount+0x0/0x650) from [] (sys_mount
+0x9c/0xe8)
[] (sys_mount+0x0/0xe8) from [] (mount_block_root
+0xb0/0x264)
 r7 = C0343000  r6 = C034FF54  r5 = C0343006  r4 = C0343000
[] (mount_block_root+0x0/0x264) from [] (mount_root
+0x5c/0x6c)
[] (mount_root+0x0/0x6c) from [] (prepare_namespace
+0x40/0xe4)
 r5 = C0019C70  r4 = C0019CC0
[] (prepare_namespace+0x0/0xe4) from [] (init
+0x190/0x1fc)
 r5 = C034E000  r4 = C01F5AA0
[] (init+0x0/0x1fc) from [] (do_exit+0x0/0xd8c)
 r8 =   r7 =   r6 =   r5 = 
 r4 = 
VFS: Mounted root (jffs2 filesystem) readonly.

and 

BUG: soft lockup detected on CPU#0!
Pid: 1063, comm:  busybox
CPU: 0
PC is at nand_read_buf+0x28/0x3c
LR is at 0x100
pc : []lr : [<0100>]Not tainted
sp : c355dac8  ip : 003b  fp : c355dad4
r10: c3c09400  r9 : c3b20884  r8 : 0002
r7 :   r6 : c3c09580  r5 :   r4 : c3b20884
r3 : c4856014  r2 : 00d3  r1 : c3b20884  r0 : c3c09580
Flags: Nzcv  IRQs on  FIQs on  Mode SVC_32  Segment user
Control: 397F  Table: A354C000  DAC: 0015
[] (show_regs+0x0/0x4c) from [] (softlockup_tick
+0x7c/0xb0)
 r4 = C355C000
[] (softlockup_tick+0x0/0xb0) from [] (do_timer
+0x278/0x500)
 r5 =   r4 = 0001
[] (do_timer+0x0/0x500) from [] (timer_tick
+0xb4/0xf8)
[] (timer_tick+0x0/0xf8) from []
(pxa_timer_interrupt+0x48/0xa8)
 r6 = C355DA80  r5 = C355C000  r4 = F2A0
[] (pxa_timer_interrupt+0x0/0xa8) from [] (__do_irq
+0x6c/0xc4)
 r8 = C355DA80  r7 =   r6 =   r5 = C355C000
 r4 = C0226314
[] (__do_irq+0x0/0xc4) from [] (do_level_IRQ
+0x68/0xb8)
[] (do_level_IRQ+0x0/0xb8) from [] (asm_do_IRQ
+0x54/0x164)
 r6 = 0400  r5 = F2D0  r4 = 
[] (asm_do_IRQ+0x0/0x164) from [] (__irq_svc
+0x38/0x78)
[] (nand_read

Re: 2.6.13-rc3-mm1

2005-07-24 Thread Richard Purdie
On Fri, 2005-07-15 at 01:36 -0700, Andrew Morton wrote:
 ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13-rc3/2.6.13-rc3-mm1/

On the Zaurus I'm seeing a couple of false BUG: soft lockup detected on
CPU#0! reports. These didn't show under 2.6.12-mm1 which was the last
-mm kernel I tested. softlockup.c seems identical between these versions
so it looks like some other change has caused this to appear...

Both of these are triggered from the nand driver. The functions
concerned (nand_wait_ready and nand_read_buf) are known to be slow (they
wait on hardware).

Richard

BUG: soft lockup detected on CPU#0!
Pid: 1, comm:  swapper
CPU: 0
PC is at sharpsl_nand_dev_ready+0x14/0x28
LR is at nand_wait_ready+0x30/0x50
pc : [c015f15c]lr : [c0159ea4]Not tainted
sp : c034fa24  ip : c034fa34  fp : c034fa30
r10: c3c09400  r9 : c035e890  r8 : c75a
r7 : c022533c  r6 : c3c09580  r5 : c3c09400  r4 : 8fc3
r3 : c027f0bc  r2 : c4856000  r1 : c4856000  r0 : c3c09400
Flags: NzCv  IRQs on  FIQs on  Mode SVC_32  Segment kernel
Control: 397F  Table: A0004000  DAC: 0017
[c001dd38] (show_regs+0x0/0x4c) from [c0059f48] (softlockup_tick
+0x7c/0xb0)
 r4 = C034E000
[c0059ecc] (softlockup_tick+0x0/0xb0) from [c0042198] (do_timer
+0x278/0x500)
 r5 =   r4 = 0001
[c0041f20] (do_timer+0x0/0x500) from [c00211ac] (timer_tick
+0xb4/0xf8)
[c00210f8] (timer_tick+0x0/0xf8) from [c00279a0]
(pxa_timer_interrupt+0x48/0xa8)
 r6 = C034F9DC  r5 = C034E000  r4 = F2A0
[c0027958] (pxa_timer_interrupt+0x0/0xa8) from [c001cb60] (__do_irq
+0x6c/0xc4)
 r8 = C034F9DC  r7 =   r6 =   r5 = C034E000
 r4 = C0226314
[c001caf4] (__do_irq+0x0/0xc4) from [c001cddc] (do_level_IRQ
+0x68/0xb8)
[c001cd74] (do_level_IRQ+0x0/0xb8) from [c001ce80] (asm_do_IRQ
+0x54/0x164)
 r6 = 0400  r5 = F2D0  r4 = 
[c001ce2c] (asm_do_IRQ+0x0/0x164) from [c001b9b8] (__irq_svc
+0x38/0x78)
[c015f148] (sharpsl_nand_dev_ready+0x0/0x28) from [c0159ea4]
(nand_wait_ready+0x30/0x50)
[c0159e74] (nand_wait_ready+0x0/0x50) from [c0159f60] (nand_command
+0x9c/0x1f0)
 r7 =   r6 = C3C09400  r5 = C3C09580  r4 = 
[c0159ec4] (nand_command+0x0/0x1f0) from [c015b4b8]
(nand_do_read_ecc+0x720/0x7c8)
 r8 = C034FACC  r7 = 0200  r6 = C3C09580  r5 = C75A
 r4 = 
[c015ad98] (nand_do_read_ecc+0x0/0x7c8) from [c015b5e8]
(nand_read_ecc+0x44/0x4c)
[c015b5a4] (nand_read_ecc+0x0/0x4c) from [c0155364] (part_read_ecc
+0xa4/0xbc)
 r4 = 
[c01552c0] (part_read_ecc+0x0/0xbc) from [c00e5280]
(jffs2_flash_read+0x1fc/0x2b0)
 r7 =   r6 = 011E8B70  r5 =   r4 = C034FBF0
[c00e5084] (jffs2_flash_read+0x0/0x2b0) from [c00dbd48]
(jffs2_fill_scan_buf+0x2c/0x4c)
[c00dbd1c] (jffs2_fill_scan_buf+0x0/0x4c) from [c00dc424]
(jffs2_scan_medium+0x63c/0x1884)
 r4 = 011E8B7C
[c00dbde8] (jffs2_scan_medium+0x0/0x1884) from [c00e0020]
(jffs2_do_mount_fs+0x1bc/0x6cc)
[c00dfe64] (jffs2_do_mount_fs+0x0/0x6cc) from [c00e2d60]
(jffs2_do_fill_super+0x130/0x2b4)
[c00e2c30] (jffs2_do_fill_super+0x0/0x2b4) from [c00e3244]
(jffs2_get_sb_mtd+0xf4/0x134)
 r8 = 8401  r7 = C3C4B4E0  r6 = C3C4B4FC  r5 = C3C4B200
 r4 = C3C4B400
[c00e3150] (jffs2_get_sb_mtd+0x0/0x134) from [c00e32d4]
(jffs2_get_sb_mtdnr+0x50/0x5c)
[c00e3284] (jffs2_get_sb_mtdnr+0x0/0x5c) from [c00e3410]
(jffs2_get_sb+0x130/0x1c0)
 r7 = 8001  r6 = C034FD5C  r5 = C3C5  r4 = FFEA
[c00e32e0] (jffs2_get_sb+0x0/0x1c0) from [c00890d0] (do_kern_mount
+0x50/0xf4)
[c0089080] (do_kern_mount+0x0/0xf4) from [c00a3de8] (do_mount
+0x3ac/0x650)
[c00a3a3c] (do_mount+0x0/0x650) from [c00a44c8] (sys_mount
+0x9c/0xe8)
[c00a442c] (sys_mount+0x0/0xe8) from [c0008b64] (mount_block_root
+0xb0/0x264)
 r7 = C0343000  r6 = C034FF54  r5 = C0343006  r4 = C0343000
[c0008ab4] (mount_block_root+0x0/0x264) from [c0008d74] (mount_root
+0x5c/0x6c)
[c0008d18] (mount_root+0x0/0x6c) from [c0008dc4] (prepare_namespace
+0x40/0xe4)
 r5 = C0019C70  r4 = C0019CC0
[c0008d84] (prepare_namespace+0x0/0xe4) from [c001b200] (init
+0x190/0x1fc)
 r5 = C034E000  r4 = C01F5AA0
[c001b070] (init+0x0/0x1fc) from [c0039a10] (do_exit+0x0/0xd8c)
 r8 =   r7 =   r6 =   r5 = 
 r4 = 
VFS: Mounted root (jffs2 filesystem) readonly.

and 

BUG: soft lockup detected on CPU#0!
Pid: 1063, comm:  busybox
CPU: 0
PC is at nand_read_buf+0x28/0x3c
LR is at 0x100
pc : [c0159cb8]lr : [0100]Not tainted
sp : c355dac8  ip : 003b  fp : c355dad4
r10: c3c09400  r9 : c3b20884  r8 : 0002
r7 :   r6 : c3c09580  r5 :   r4 : c3b20884
r3 : c4856014  r2 : 00d3  r1 : c3b20884  r0 : c3c09580
Flags: Nzcv  IRQs on  FIQs on  Mode SVC_32  Segment user
Control: 397F  Table: A354C000  DAC: 0015
[c001dd38] (show_regs+0x0/0x4c) from [c0059f48] (softlockup_tick
+0x7c/0xb0)
 r4 = C355C000
[c0059ecc] (softlockup_tick+0x0/0xb0) from [c0042198] (do_timer
+0x278/0x500)
 r5 =   r4 = 0001
[c0041f20] (do_timer+0x0/0x500) from [c00211ac

Re: HPT370 errors under 2.6.13-rc3-mm1

2005-07-23 Thread Alan Cox
On Sad, 2005-07-23 at 14:28 +1200, mdew wrote:
> I'm unable to mount an ext2 drive using the hpt370A raid card.
> 
> upon mounting the drive, dmesg will spew these errors..I've tried
> different cables and drive is fine.

> Jul 23 01:30:21 localhost kernel: hdf: dma timeout error: status=0x25
> { DeviceFault CorrectedError Error }
> Jul 23 01:30:21 localhost kernel: hdf: dma timeout error: error=0x25 {
> DriveStatusError AddrMarkNotFound }, LBAsect=8830589412645,
> high=526344, low=2434341, sector=390715711

Your drive disagrees with you. Note that it said

"Device fault"
"Error"
"Drive Status Error"
"Address Mark Not Found"


that came from the drive not the OS.

-
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: HPT370 errors under 2.6.13-rc3-mm1

2005-07-23 Thread Alan Cox
On Gwe, 2005-07-22 at 22:47 -0400, Bartlomiej Zolnierkiewicz wrote:
> Hi,
> 
> Does vanilla kernel 2.6.12 work for you?
> It doesn't contain hpt366 driver update.

Its nothing to do with the driver. Read the trace Bartlomiej

> > Jul 23 01:30:21 localhost kernel: hdf: dma timeout error: status=0x25
> > { DeviceFault CorrectedError Error }
> > Jul 23 01:30:21 localhost kernel: hdf: dma timeout error: error=0x25 {
> > DriveStatusError AddrMarkNotFound }, LBAsect=8830589412645,
> > high=526344, low=2434341, sector=390715711


It timed out because the drive took a very long time to recover a bad
address mark but was able to do so.

-
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: [ckrm-tech] Re: 2.6.13-rc3-mm1 (ckrm)

2005-07-23 Thread Mark Hahn
> > if CKRM is just extensions, I think it should be an external patch.
> > if it provides a path towards unifying the many disparate RM mechanisms
> > already in the kernel, great!
> 
> OK, so if it provides a path towards unifying these, what should happen
> to the old interfaces when they conflict with those offered by CKRM?

I don't think the name matters, as long as the RM code is simplified/unified.
that is, the only difference at first would be a change in name - 
same behavior.

> For instance, I'm considering how a per-class (re)nice setting would
> work. What should happen when the user (re)nices a process to a
> different value than the nice of the process' class? Should CKRM:

it has to behave as it does now, unless the admin has imposed some 
class structure other than the normal POSIX one (ie, nice pertains 
only to a process and is inherited by future children.)

> a) disable the old interface by
>   i) removing it
>   ii) return an error when CKRM is active
>   iii) return an error when CKRM has specified a nice value for the
> process via membership in a class
>   iv) return an error when the (re)nice value is inconsistent with the
> nice value assigned to the class

some interfaces must remain (renice), and if their behavior is implemented
via CKRM, it must, by default, act as before.  other interfaces (say 
overcommit_ratio) probably don't need to remain.

> b) trust the user, ignore the class nice value, and allow the new nice
> value

users can only nice up, and that policy needs to remain, obviously.
you appear to be asking what happens when the scope of the old mechanism
conflicts with the scope determined by admin-set CKRM classes.  I'd 
say that nicing a single process should change the nice of the whole 
class that the process is in, if any.  otherwise, it acts to rip that 
process out of the class, which is probably even less 'least surprise'.

>   This sort of question would probably come up for any other CKRM
> "embraced-and-extended" tunables. Should they use the answer to this
> one, or would it go on a case-by-case basis?

I don't see that CKRM should play by rules different from other 
kernel improvements - preserve standard/former behavior when that 
behavior is documented (certainly nice is).  in the absense of admin-set
classes, nice would behave the same. 

all CKRM is doing here is providing a broader framework to hang the tunables
on.  it should be able to express all existing tunables in scope.

-
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: HPT370 errors under 2.6.13-rc3-mm1

2005-07-23 Thread Jurriaan on adsl-gate
On Sat, Jul 23, 2005 at 11:50:43PM +1200, mdew wrote:
> looks like 2.6.12 does the same sort of thing..
> 
As a data-point, my dual HPT374 controllers are fine with
2.6.13-rc3-mm1. One onboard, one in a pci-slot in an Epox 4PCA3+ (socket
478, i875 chipset) motherboard.

Linux adsl-gate 2.6.13-rc3-mm1 #1 SMP Sat Jul 16 07:13:24 CEST 2005 i686 
GNU/Linux

Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
HPT374: IDE controller at PCI slot :02:00.0
ACPI: PCI Interrupt :02:00.0[A] -> GSI 16 (level, low) -> IRQ 16
HPT374: chipset revision 7
HPT374: 100% native mode on irq 16
HPT37X: using 33MHz PCI clock
ide2: BM-DMA at 0x9400-0x9407, BIOS settings: hde:DMA, hdf:pio
HPT37X: using 33MHz PCI clock
ide3: BM-DMA at 0x9408-0x940f, BIOS settings: hdg:DMA, hdh:pio
ACPI: PCI Interrupt :02:00.1[A] -> GSI 16 (level, low) -> IRQ 16
HPT37X: using 33MHz PCI clock
ide4: BM-DMA at 0x9900-0x9907, BIOS settings: hdi:DMA, hdj:pio
HPT37X: using 33MHz PCI clock
ide5: BM-DMA at 0x9908-0x990f, BIOS settings: hdk:DMA, hdl:pio
Probing IDE interface ide2...
hde: WDC WD2000JB-00FUA0, ATA DISK drive
ide2 at 0x9000-0x9007,0x9102 on irq 16
Probing IDE interface ide3...
hdg: WDC WD2500JB-00FUA0, ATA DISK drive
ide3 at 0x9200-0x9207,0x9302 on irq 16
Probing IDE interface ide4...
hdi: WDC WD2000BB-00DAA1, ATA DISK drive
ide4 at 0x9500-0x9507,0x9602 on irq 16
Probing IDE interface ide5...
hdk: ST3300831A, ATA DISK drive
ide5 at 0x9700-0x9707,0x9802 on irq 16
HPT374: IDE controller at PCI slot :02:05.0
ACPI: PCI Interrupt :02:05.0[A] -> GSI 21 (level, low) -> IRQ 21
HPT374: chipset revision 7
HPT374: 100% native mode on irq 21
HPT37X: using 33MHz PCI clock
ide6: BM-DMA at 0x9f00-0x9f07, BIOS settings: hdm:pio, hdn:DMA
HPT37X: using 33MHz PCI clock
ide7: BM-DMA at 0x9f08-0x9f0f, BIOS settings: hdo:pio, hdp:DMA
ACPI: PCI Interrupt :02:05.1[A] -> GSI 21 (level, low) -> IRQ 21
HPT37X: using 33MHz PCI clock
ide8: BM-DMA at 0xa400-0xa407, BIOS settings: hdq:DMA, hdr:pio
HPT37X: using 33MHz PCI clock
ide9: BM-DMA at 0xa408-0xa40f, BIOS settings: hds:pio, hdt:DMA
Probing IDE interface ide6...
hdn: Maxtor 4A300J0, ATA DISK drive
ide6 at 0x9b00-0x9b07,0x9c02 on irq 21
Probing IDE interface ide7...
hdp: Maxtor 6Y200P0, ATA DISK drive
ide7 at 0x9d00-0x9d07,0x9e02 on irq 21
Probing IDE interface ide8...
hdq: WDC WD2500JB-00FUA0, ATA DISK drive
ide8 at 0xa000-0xa007,0xa102 on irq 21
Probing IDE interface ide9...
hdt: Maxtor 4A300J0, ATA DISK drive
ide9 at 0xa200-0xa207,0xa302 on irq 21
hda: max request size: 1024KiB
hda: 241254720 sectors (123522 MB) w/7965KiB Cache, CHS=16383/255/63, UDMA(100)
hda: cache flushes supported
 hda: hda1 hda2
hdc: max request size: 1024KiB
hdc: 241254720 sectors (123522 MB) w/7965KiB Cache, CHS=16383/255/63, UDMA(100)
hdc: cache flushes supported
 hdc: hdc1 hdc2
hde: max request size: 1024KiB
hde: 390721968 sectors (200049 MB) w/8192KiB Cache, CHS=24321/255/63, UDMA(33)
hde: cache flushes supported
 hde: hde1
hdg: max request size: 1024KiB
hdg: 488397168 sectors (250059 MB) w/8192KiB Cache, CHS=30401/255/63, UDMA(100)
hdg: cache flushes supported
 hdg: hdg1
hdi: max request size: 1024KiB
hdi: 390721968 sectors (200049 MB) w/2048KiB Cache, CHS=24321/255/63, UDMA(100)
hdi: cache flushes supported
 hdi: hdi1
hdk: max request size: 1024KiB
hdk: 586072368 sectors (300069 MB) w/8192KiB Cache, CHS=36481/255/63, UDMA(100)
hdk: cache flushes supported
 hdk: hdk1
hdn: max request size: 1024KiB
hdn: 585940320 sectors (31 MB) w/2048KiB Cache, CHS=36473/255/63, UDMA(100)
hdn: cache flushes supported
 hdn: hdn1
hdp: max request size: 1024KiB
hdp: 398297088 sectors (203928 MB) w/7936KiB Cache, CHS=24792/255/63, UDMA(100)
hdp: cache flushes supported
 hdp: hdp1
hdq: max request size: 1024KiB
hdq: 488397168 sectors (250059 MB) w/8192KiB Cache, CHS=30401/255/63, UDMA(100)
hdq: cache flushes supported
 hdq: hdq1
hdt: max request size: 1024KiB
hdt: 585940320 sectors (31 MB) w/2048KiB Cache, CHS=36473/255/63, UDMA(100)
hdt: cache flushes supported
 hdt: hdt1

Kind regards,
Jurriaan
-
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: HPT370 errors under 2.6.13-rc3-mm1

2005-07-23 Thread mdew
looks like 2.6.12 does the same sort of thing..


On 7/23/05, Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]> wrote:
> Hi,
> 
> Does vanilla kernel 2.6.12 work for you?
> It doesn't contain hpt366 driver update.
> 
> Bartlomiej
> 
> On 7/22/05, mdew <[EMAIL PROTECTED]> wrote:
> > I'm unable to mount an ext2 drive using the hpt370A raid card.
> >
> > upon mounting the drive, dmesg will spew these errors..I've tried
> > different cables and drive is fine.
> >
> > Jul 23 01:30:11 localhost kernel: hdf: dma_timer_expiry: dma status == 0x41
> > Jul 23 01:30:21 localhost kernel: hdf: DMA timeout error
> > Jul 23 01:30:21 localhost kernel: hdf: dma timeout error: status=0x25
> > { DeviceFault CorrectedError Error }
> > Jul 23 01:30:21 localhost kernel: hdf: dma timeout error: error=0x25 {
> > DriveStatusError AddrMarkNotFound }, LBAsect=8830589412645,
> > high=526344, low=2434341, sector=390715711
> > Jul 23 01:30:21 localhost kernel: ide: failed opcode was: unknown
> > Jul 23 01:30:21 localhost kernel: hdf: DMA disabled
> > Jul 23 01:30:21 localhost kernel: ide2: reset: master: error (0x0a?)
> > Jul 23 01:30:21 localhost kernel: end_request: I/O error, dev hdf,
> > sector 390715711
> > Jul 23 01:30:21 localhost kernel: end_request: I/O error, dev hdf,
> > sector 390715712
> > [...]
>
-
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: HPT370 errors under 2.6.13-rc3-mm1

2005-07-23 Thread mdew
looks like 2.6.12 does the same sort of thing..


On 7/23/05, Bartlomiej Zolnierkiewicz [EMAIL PROTECTED] wrote:
 Hi,
 
 Does vanilla kernel 2.6.12 work for you?
 It doesn't contain hpt366 driver update.
 
 Bartlomiej
 
 On 7/22/05, mdew [EMAIL PROTECTED] wrote:
  I'm unable to mount an ext2 drive using the hpt370A raid card.
 
  upon mounting the drive, dmesg will spew these errors..I've tried
  different cables and drive is fine.
 
  Jul 23 01:30:11 localhost kernel: hdf: dma_timer_expiry: dma status == 0x41
  Jul 23 01:30:21 localhost kernel: hdf: DMA timeout error
  Jul 23 01:30:21 localhost kernel: hdf: dma timeout error: status=0x25
  { DeviceFault CorrectedError Error }
  Jul 23 01:30:21 localhost kernel: hdf: dma timeout error: error=0x25 {
  DriveStatusError AddrMarkNotFound }, LBAsect=8830589412645,
  high=526344, low=2434341, sector=390715711
  Jul 23 01:30:21 localhost kernel: ide: failed opcode was: unknown
  Jul 23 01:30:21 localhost kernel: hdf: DMA disabled
  Jul 23 01:30:21 localhost kernel: ide2: reset: master: error (0x0a?)
  Jul 23 01:30:21 localhost kernel: end_request: I/O error, dev hdf,
  sector 390715711
  Jul 23 01:30:21 localhost kernel: end_request: I/O error, dev hdf,
  sector 390715712
  [...]

-
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: HPT370 errors under 2.6.13-rc3-mm1

2005-07-23 Thread Jurriaan on adsl-gate
On Sat, Jul 23, 2005 at 11:50:43PM +1200, mdew wrote:
 looks like 2.6.12 does the same sort of thing..
 
As a data-point, my dual HPT374 controllers are fine with
2.6.13-rc3-mm1. One onboard, one in a pci-slot in an Epox 4PCA3+ (socket
478, i875 chipset) motherboard.

Linux adsl-gate 2.6.13-rc3-mm1 #1 SMP Sat Jul 16 07:13:24 CEST 2005 i686 
GNU/Linux

Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
HPT374: IDE controller at PCI slot :02:00.0
ACPI: PCI Interrupt :02:00.0[A] - GSI 16 (level, low) - IRQ 16
HPT374: chipset revision 7
HPT374: 100% native mode on irq 16
HPT37X: using 33MHz PCI clock
ide2: BM-DMA at 0x9400-0x9407, BIOS settings: hde:DMA, hdf:pio
HPT37X: using 33MHz PCI clock
ide3: BM-DMA at 0x9408-0x940f, BIOS settings: hdg:DMA, hdh:pio
ACPI: PCI Interrupt :02:00.1[A] - GSI 16 (level, low) - IRQ 16
HPT37X: using 33MHz PCI clock
ide4: BM-DMA at 0x9900-0x9907, BIOS settings: hdi:DMA, hdj:pio
HPT37X: using 33MHz PCI clock
ide5: BM-DMA at 0x9908-0x990f, BIOS settings: hdk:DMA, hdl:pio
Probing IDE interface ide2...
hde: WDC WD2000JB-00FUA0, ATA DISK drive
ide2 at 0x9000-0x9007,0x9102 on irq 16
Probing IDE interface ide3...
hdg: WDC WD2500JB-00FUA0, ATA DISK drive
ide3 at 0x9200-0x9207,0x9302 on irq 16
Probing IDE interface ide4...
hdi: WDC WD2000BB-00DAA1, ATA DISK drive
ide4 at 0x9500-0x9507,0x9602 on irq 16
Probing IDE interface ide5...
hdk: ST3300831A, ATA DISK drive
ide5 at 0x9700-0x9707,0x9802 on irq 16
HPT374: IDE controller at PCI slot :02:05.0
ACPI: PCI Interrupt :02:05.0[A] - GSI 21 (level, low) - IRQ 21
HPT374: chipset revision 7
HPT374: 100% native mode on irq 21
HPT37X: using 33MHz PCI clock
ide6: BM-DMA at 0x9f00-0x9f07, BIOS settings: hdm:pio, hdn:DMA
HPT37X: using 33MHz PCI clock
ide7: BM-DMA at 0x9f08-0x9f0f, BIOS settings: hdo:pio, hdp:DMA
ACPI: PCI Interrupt :02:05.1[A] - GSI 21 (level, low) - IRQ 21
HPT37X: using 33MHz PCI clock
ide8: BM-DMA at 0xa400-0xa407, BIOS settings: hdq:DMA, hdr:pio
HPT37X: using 33MHz PCI clock
ide9: BM-DMA at 0xa408-0xa40f, BIOS settings: hds:pio, hdt:DMA
Probing IDE interface ide6...
hdn: Maxtor 4A300J0, ATA DISK drive
ide6 at 0x9b00-0x9b07,0x9c02 on irq 21
Probing IDE interface ide7...
hdp: Maxtor 6Y200P0, ATA DISK drive
ide7 at 0x9d00-0x9d07,0x9e02 on irq 21
Probing IDE interface ide8...
hdq: WDC WD2500JB-00FUA0, ATA DISK drive
ide8 at 0xa000-0xa007,0xa102 on irq 21
Probing IDE interface ide9...
hdt: Maxtor 4A300J0, ATA DISK drive
ide9 at 0xa200-0xa207,0xa302 on irq 21
hda: max request size: 1024KiB
hda: 241254720 sectors (123522 MB) w/7965KiB Cache, CHS=16383/255/63, UDMA(100)
hda: cache flushes supported
 hda: hda1 hda2
hdc: max request size: 1024KiB
hdc: 241254720 sectors (123522 MB) w/7965KiB Cache, CHS=16383/255/63, UDMA(100)
hdc: cache flushes supported
 hdc: hdc1 hdc2
hde: max request size: 1024KiB
hde: 390721968 sectors (200049 MB) w/8192KiB Cache, CHS=24321/255/63, UDMA(33)
hde: cache flushes supported
 hde: hde1
hdg: max request size: 1024KiB
hdg: 488397168 sectors (250059 MB) w/8192KiB Cache, CHS=30401/255/63, UDMA(100)
hdg: cache flushes supported
 hdg: hdg1
hdi: max request size: 1024KiB
hdi: 390721968 sectors (200049 MB) w/2048KiB Cache, CHS=24321/255/63, UDMA(100)
hdi: cache flushes supported
 hdi: hdi1
hdk: max request size: 1024KiB
hdk: 586072368 sectors (300069 MB) w/8192KiB Cache, CHS=36481/255/63, UDMA(100)
hdk: cache flushes supported
 hdk: hdk1
hdn: max request size: 1024KiB
hdn: 585940320 sectors (31 MB) w/2048KiB Cache, CHS=36473/255/63, UDMA(100)
hdn: cache flushes supported
 hdn: hdn1
hdp: max request size: 1024KiB
hdp: 398297088 sectors (203928 MB) w/7936KiB Cache, CHS=24792/255/63, UDMA(100)
hdp: cache flushes supported
 hdp: hdp1
hdq: max request size: 1024KiB
hdq: 488397168 sectors (250059 MB) w/8192KiB Cache, CHS=30401/255/63, UDMA(100)
hdq: cache flushes supported
 hdq: hdq1
hdt: max request size: 1024KiB
hdt: 585940320 sectors (31 MB) w/2048KiB Cache, CHS=36473/255/63, UDMA(100)
hdt: cache flushes supported
 hdt: hdt1

Kind regards,
Jurriaan
-
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: [ckrm-tech] Re: 2.6.13-rc3-mm1 (ckrm)

2005-07-23 Thread Mark Hahn
  if CKRM is just extensions, I think it should be an external patch.
  if it provides a path towards unifying the many disparate RM mechanisms
  already in the kernel, great!
 
 OK, so if it provides a path towards unifying these, what should happen
 to the old interfaces when they conflict with those offered by CKRM?

I don't think the name matters, as long as the RM code is simplified/unified.
that is, the only difference at first would be a change in name - 
same behavior.

 For instance, I'm considering how a per-class (re)nice setting would
 work. What should happen when the user (re)nices a process to a
 different value than the nice of the process' class? Should CKRM:

it has to behave as it does now, unless the admin has imposed some 
class structure other than the normal POSIX one (ie, nice pertains 
only to a process and is inherited by future children.)

 a) disable the old interface by
   i) removing it
   ii) return an error when CKRM is active
   iii) return an error when CKRM has specified a nice value for the
 process via membership in a class
   iv) return an error when the (re)nice value is inconsistent with the
 nice value assigned to the class

some interfaces must remain (renice), and if their behavior is implemented
via CKRM, it must, by default, act as before.  other interfaces (say 
overcommit_ratio) probably don't need to remain.

 b) trust the user, ignore the class nice value, and allow the new nice
 value

users can only nice up, and that policy needs to remain, obviously.
you appear to be asking what happens when the scope of the old mechanism
conflicts with the scope determined by admin-set CKRM classes.  I'd 
say that nicing a single process should change the nice of the whole 
class that the process is in, if any.  otherwise, it acts to rip that 
process out of the class, which is probably even less 'least surprise'.

   This sort of question would probably come up for any other CKRM
 embraced-and-extended tunables. Should they use the answer to this
 one, or would it go on a case-by-case basis?

I don't see that CKRM should play by rules different from other 
kernel improvements - preserve standard/former behavior when that 
behavior is documented (certainly nice is).  in the absense of admin-set
classes, nice would behave the same. 

all CKRM is doing here is providing a broader framework to hang the tunables
on.  it should be able to express all existing tunables in scope.

-
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: HPT370 errors under 2.6.13-rc3-mm1

2005-07-23 Thread Alan Cox
On Gwe, 2005-07-22 at 22:47 -0400, Bartlomiej Zolnierkiewicz wrote:
 Hi,
 
 Does vanilla kernel 2.6.12 work for you?
 It doesn't contain hpt366 driver update.

Its nothing to do with the driver. Read the trace Bartlomiej

  Jul 23 01:30:21 localhost kernel: hdf: dma timeout error: status=0x25
  { DeviceFault CorrectedError Error }
  Jul 23 01:30:21 localhost kernel: hdf: dma timeout error: error=0x25 {
  DriveStatusError AddrMarkNotFound }, LBAsect=8830589412645,
  high=526344, low=2434341, sector=390715711


It timed out because the drive took a very long time to recover a bad
address mark but was able to do so.

-
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: HPT370 errors under 2.6.13-rc3-mm1

2005-07-23 Thread Alan Cox
On Sad, 2005-07-23 at 14:28 +1200, mdew wrote:
 I'm unable to mount an ext2 drive using the hpt370A raid card.
 
 upon mounting the drive, dmesg will spew these errors..I've tried
 different cables and drive is fine.

 Jul 23 01:30:21 localhost kernel: hdf: dma timeout error: status=0x25
 { DeviceFault CorrectedError Error }
 Jul 23 01:30:21 localhost kernel: hdf: dma timeout error: error=0x25 {
 DriveStatusError AddrMarkNotFound }, LBAsect=8830589412645,
 high=526344, low=2434341, sector=390715711

Your drive disagrees with you. Note that it said

Device fault
Error
Drive Status Error
Address Mark Not Found


that came from the drive not the OS.

-
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: [ckrm-tech] Re: 2.6.13-rc3-mm1 (ckrm)

2005-07-22 Thread Matthew Helsley
On Fri, 2005-07-22 at 20:23 -0400, Mark Hahn wrote:
> > > actually, let me also say that CKRM is on a continuum that includes 
> > > current (global) /proc tuning for various subsystems, ulimits, and 
> > > at the other end, Xen/VMM's.  it's conceivable that CKRM could wind up
> > > being useful and fast enough to subsume the current global and per-proc
> > > tunables.  after all, there are MANY places where the kernel tries to 
> > > maintain some sort of context to allow it to tune/throttle/readahead
> > > based on some process-linked context.  "embracing and extending"
> > > those could make CKRM attractive to people outside the mainframe market.
> > 
> > Seems like an excellent suggestion to me! Yeah, it may be possible to
> > maintain the context the kernel keeps on a per-class basis instead of
> > globally or per-process. 
> 
> right, but are the CKRM people ready to take this on?  for instance,
> I just grepped 'throttle' in kernel/mm and found a per-task RM in 
> page-writeback.c.  it even has a vaguely class-oriented logic, since
> it exempts RT tasks.  if CKRM can become a way to make this stuff 
> cleaner and more effective (again, for normal tasks), then great.
> but bolting on a big new different, intrusive mechanism that slows
> down all normal jobs by 3% just so someone can run 10K mostly-idle
> guests on a giant Power box, well, that's gross.
> 
> > The real question is what constitutes a useful
> > "extension" :).
> 
> if CKRM is just extensions, I think it should be an external patch.
> if it provides a path towards unifying the many disparate RM mechanisms
> already in the kernel, great!

OK, so if it provides a path towards unifying these, what should happen
to the old interfaces when they conflict with those offered by CKRM?

For instance, I'm considering how a per-class (re)nice setting would
work. What should happen when the user (re)nices a process to a
different value than the nice of the process' class? Should CKRM:

a) disable the old interface by
i) removing it
ii) return an error when CKRM is active
iii) return an error when CKRM has specified a nice value for the
process via membership in a class
iv) return an error when the (re)nice value is inconsistent with the
nice value assigned to the class

b) trust the user, ignore the class nice value, and allow the new nice
value

I'd be tempted to do a.iv but it would require some modifications to a
system call. b probably wouldn't require any modifications to non-CKRM
files/dirs. 

This sort of question would probably come up for any other CKRM
"embraced-and-extended" tunables. Should they use the answer to this
one, or would it go on a case-by-case basis?

Thanks,
-Matt Helsley

-
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: HPT370 errors under 2.6.13-rc3-mm1

2005-07-22 Thread Bartlomiej Zolnierkiewicz
Hi,

Does vanilla kernel 2.6.12 work for you?
It doesn't contain hpt366 driver update.

Bartlomiej

On 7/22/05, mdew <[EMAIL PROTECTED]> wrote:
> I'm unable to mount an ext2 drive using the hpt370A raid card.
> 
> upon mounting the drive, dmesg will spew these errors..I've tried
> different cables and drive is fine.
> 
> Jul 23 01:30:11 localhost kernel: hdf: dma_timer_expiry: dma status == 0x41
> Jul 23 01:30:21 localhost kernel: hdf: DMA timeout error
> Jul 23 01:30:21 localhost kernel: hdf: dma timeout error: status=0x25
> { DeviceFault CorrectedError Error }
> Jul 23 01:30:21 localhost kernel: hdf: dma timeout error: error=0x25 {
> DriveStatusError AddrMarkNotFound }, LBAsect=8830589412645,
> high=526344, low=2434341, sector=390715711
> Jul 23 01:30:21 localhost kernel: ide: failed opcode was: unknown
> Jul 23 01:30:21 localhost kernel: hdf: DMA disabled
> Jul 23 01:30:21 localhost kernel: ide2: reset: master: error (0x0a?)
> Jul 23 01:30:21 localhost kernel: end_request: I/O error, dev hdf,
> sector 390715711
> Jul 23 01:30:21 localhost kernel: end_request: I/O error, dev hdf,
> sector 390715712
> [...]
-
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: [ckrm-tech] Re: 2.6.13-rc3-mm1 (ckrm)

2005-07-22 Thread Mark Hahn
> > actually, let me also say that CKRM is on a continuum that includes 
> > current (global) /proc tuning for various subsystems, ulimits, and 
> > at the other end, Xen/VMM's.  it's conceivable that CKRM could wind up
> > being useful and fast enough to subsume the current global and per-proc
> > tunables.  after all, there are MANY places where the kernel tries to 
> > maintain some sort of context to allow it to tune/throttle/readahead
> > based on some process-linked context.  "embracing and extending"
> > those could make CKRM attractive to people outside the mainframe market.
> 
>   Seems like an excellent suggestion to me! Yeah, it may be possible to
> maintain the context the kernel keeps on a per-class basis instead of
> globally or per-process. 

right, but are the CKRM people ready to take this on?  for instance,
I just grepped 'throttle' in kernel/mm and found a per-task RM in 
page-writeback.c.  it even has a vaguely class-oriented logic, since
it exempts RT tasks.  if CKRM can become a way to make this stuff 
cleaner and more effective (again, for normal tasks), then great.
but bolting on a big new different, intrusive mechanism that slows
down all normal jobs by 3% just so someone can run 10K mostly-idle
guests on a giant Power box, well, that's gross.

> The real question is what constitutes a useful
> "extension" :).

if CKRM is just extensions, I think it should be an external patch.
if it provides a path towards unifying the many disparate RM mechanisms
already in the kernel, great!

>   I was thinking that per-class nice values might be a good place to
> start as well. One advantage of per-class as opposed to per-process nice
> is the class is less transient than the process since its lifetime is
> determined solely by the system administrator.

but the Linux RM needs to subsume traditional Unix process groups,
and inherited nice/schd class, and even CAP_ stuff.  I think CKRM
could start to do this, since classes are very general.
but merely adding a new, incompatible feature is just Not A Good Idea.

regards, mark hahn.

-
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: [ckrm-tech] Re: 2.6.13-rc3-mm1 (ckrm)

2005-07-22 Thread Matthew Helsley
On Fri, 2005-07-22 at 12:35 -0400, Mark Hahn wrote:


> actually, let me also say that CKRM is on a continuum that includes 
> current (global) /proc tuning for various subsystems, ulimits, and 
> at the other end, Xen/VMM's.  it's conceivable that CKRM could wind up
> being useful and fast enough to subsume the current global and per-proc
> tunables.  after all, there are MANY places where the kernel tries to 
> maintain some sort of context to allow it to tune/throttle/readahead
> based on some process-linked context.  "embracing and extending"
> those could make CKRM attractive to people outside the mainframe market.

Seems like an excellent suggestion to me! Yeah, it may be possible to
maintain the context the kernel keeps on a per-class basis instead of
globally or per-process. The real question is what constitutes a useful
"extension" :).

I was thinking that per-class nice values might be a good place to
start as well. One advantage of per-class as opposed to per-process nice
is the class is less transient than the process since its lifetime is
determined solely by the system administrator.

CKRM calls this kind of module a "resource controller". There's a small
HOWTO on writing resource controllers here:
http://ckrm.sourceforge.net/ckrm-controller-howto.txt
If anyone wants to investigate writing such a controller please feel
free to ask questions or send HOWTO feedback on the CKRM-Tech mailing
list at .

Thanks,
-Matt Helsley

-
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: 2.6.13-rc3-mm1 (ckrm)

2005-07-22 Thread Paul Jackson
Shailabh wrote:
> So if the current CPU controller 
>   implementation is considered too intrusive/unacceptable, it can be 
> reworked or (and we certainly hope not) even rejected in perpetuity. 

It is certainly reasonable that you would hope such.

But this hypothetical possibility concerns me a little.  Where would
that leave CKRM, if it was in the mainline kernel, but there was no CPU
controller in the mainline kernel?  Wouldn't that be a rather serious
problem for many users of CKRM if they wanted to work on mainline
kernels?

-- 
  I won't rest till it's the best ...
  Programmer, Linux Scalability
  Paul Jackson <[EMAIL PROTECTED]> 1.925.600.0401
-
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: 2.6.13-rc3-mm1 (ckrm)

2005-07-22 Thread Alan Cox
On Gwe, 2005-07-22 at 12:35 -0400, Mark Hahn wrote:
> I imagine you, like me, are currently sitting in the Xen talk,

Out by a few thousand miles ;)

> and I don't believe they are or will do anything so dumb as to throw away
> or lose information.  yes, in principle, the logic will need to be 

They don't have it in the first place. 

> somewhere, and I'm suggesting that the virtualization logic should
> be in VMM-only code so it has literally zero effect on host-native 
> processes.  *or* the host-native fast-path.

I don't see why you are concerned. If the CKRM=n path is zero impact
then its irrelevant to you. Its more expensive to do a lot of resource
management at the VMM level because the virtualisation engine doesn't
know anything but its getting indications someone wants to be
bigger/smaller.


> but to really do CKRM, you are going to want quite extensive interaction with
> the scheduler, VM page replacement policies, etc.  all incredibly
> performance-sensitive areas.

Bingo - and areas the virtualiser can't see into, at least not unless it
uses the same hooks CKRM uses

Alan

-
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: 2.6.13-rc3-mm1 (ckrm)

2005-07-22 Thread Mark Hahn
> > > the fast path slower and less maintainable.  if you are really concerned
> > > about isolating many competing servers on a single piece of hardware, then
> > > run separate virtualized environments, each with its own user-space.
> > 
> > And the virtualisation layer has to do the same job with less
> > information. That to me implies that the virtualisation case is likely
> > to be materially less efficient, its just the inefficiency you are
> > worried about is hidden in a different pieces of code.

I imagine you, like me, are currently sitting in the Xen talk,
and I don't believe they are or will do anything so dumb as to throw away
or lose information.  yes, in principle, the logic will need to be 
somewhere, and I'm suggesting that the virtualization logic should
be in VMM-only code so it has literally zero effect on host-native 
processes.  *or* the host-native fast-path.

> > Secondly a lot of this doesnt matter if CKRM=n compiles to no code
> > anyway
> 
> I'm actually trying to keep the impact of CKRM=y to near-zero, ergo
> only an impact if you create classes.  And even then, the goal is to
> keep that impact pretty small as well.

but to really do CKRM, you are going to want quite extensive interaction with
the scheduler, VM page replacement policies, etc.  all incredibly
performance-sensitive areas.

actually, let me also say that CKRM is on a continuum that includes 
current (global) /proc tuning for various subsystems, ulimits, and 
at the other end, Xen/VMM's.  it's conceivable that CKRM could wind up
being useful and fast enough to subsume the current global and per-proc
tunables.  after all, there are MANY places where the kernel tries to 
maintain some sort of context to allow it to tune/throttle/readahead
based on some process-linked context.  "embracing and extending"
those could make CKRM attractive to people outside the mainframe market.


> Plus you won't have to manage each operating system instance which
> can grow into a pain under virtualization.  But I still maintain that
> both have their place.

CKRM may have its place in an externally-maintained patch ;)

regards, mark hahn.

-
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: 2.6.13-rc3-mm1 (ckrm)

2005-07-22 Thread Gerrit Huizenga

On Fri, 22 Jul 2005 15:53:55 BST, Alan Cox wrote:
> On Gwe, 2005-07-22 at 00:53 -0400, Mark Hahn wrote:
> > the fast path slower and less maintainable.  if you are really concerned
> > about isolating many competing servers on a single piece of hardware, then
> > run separate virtualized environments, each with its own user-space.
> 
> And the virtualisation layer has to do the same job with less
> information. That to me implies that the virtualisation case is likely
> to be materially less efficient, its just the inefficiency you are
> worried about is hidden in a different pieces of code.
> 
> Secondly a lot of this doesnt matter if CKRM=n compiles to no code
> anyway

I'm actually trying to keep the impact of CKRM=y to near-zero, ergo
only an impact if you create classes.  And even then, the goal is to
keep that impact pretty small as well.

And yes, a hypervisor does have a lot more overhead in many forms.
Something like an overall 2-3% everywhere, where the CKRM impact is
likely to be so small as to be hard to measure in the individual
subsystems, and overall performance impact should be even smaller.
Plus you won't have to manage each operating system instance which
can grow into a pain under virtualization.  But I still maintain that
both have their place.

gerrit
-
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: 2.6.13-rc3-mm1 (ckrm)

2005-07-22 Thread Alan Cox
On Gwe, 2005-07-22 at 00:53 -0400, Mark Hahn wrote:
> the fast path slower and less maintainable.  if you are really concerned
> about isolating many competing servers on a single piece of hardware, then
> run separate virtualized environments, each with its own user-space.

And the virtualisation layer has to do the same job with less
information. That to me implies that the virtualisation case is likely
to be materially less efficient, its just the inefficiency you are
worried about is hidden in a different pieces of code.

Secondly a lot of this doesnt matter if CKRM=n compiles to no code
anyway

-
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: 2.6.13-rc3-mm1 (ckrm)

2005-07-22 Thread Alan Cox
On Gwe, 2005-07-22 at 00:53 -0400, Mark Hahn wrote:
 the fast path slower and less maintainable.  if you are really concerned
 about isolating many competing servers on a single piece of hardware, then
 run separate virtualized environments, each with its own user-space.

And the virtualisation layer has to do the same job with less
information. That to me implies that the virtualisation case is likely
to be materially less efficient, its just the inefficiency you are
worried about is hidden in a different pieces of code.

Secondly a lot of this doesnt matter if CKRM=n compiles to no code
anyway

-
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: 2.6.13-rc3-mm1 (ckrm)

2005-07-22 Thread Gerrit Huizenga

On Fri, 22 Jul 2005 15:53:55 BST, Alan Cox wrote:
 On Gwe, 2005-07-22 at 00:53 -0400, Mark Hahn wrote:
  the fast path slower and less maintainable.  if you are really concerned
  about isolating many competing servers on a single piece of hardware, then
  run separate virtualized environments, each with its own user-space.
 
 And the virtualisation layer has to do the same job with less
 information. That to me implies that the virtualisation case is likely
 to be materially less efficient, its just the inefficiency you are
 worried about is hidden in a different pieces of code.
 
 Secondly a lot of this doesnt matter if CKRM=n compiles to no code
 anyway

I'm actually trying to keep the impact of CKRM=y to near-zero, ergo
only an impact if you create classes.  And even then, the goal is to
keep that impact pretty small as well.

And yes, a hypervisor does have a lot more overhead in many forms.
Something like an overall 2-3% everywhere, where the CKRM impact is
likely to be so small as to be hard to measure in the individual
subsystems, and overall performance impact should be even smaller.
Plus you won't have to manage each operating system instance which
can grow into a pain under virtualization.  But I still maintain that
both have their place.

gerrit
-
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: 2.6.13-rc3-mm1 (ckrm)

2005-07-22 Thread Mark Hahn
   the fast path slower and less maintainable.  if you are really concerned
   about isolating many competing servers on a single piece of hardware, then
   run separate virtualized environments, each with its own user-space.
  
  And the virtualisation layer has to do the same job with less
  information. That to me implies that the virtualisation case is likely
  to be materially less efficient, its just the inefficiency you are
  worried about is hidden in a different pieces of code.

I imagine you, like me, are currently sitting in the Xen talk,
and I don't believe they are or will do anything so dumb as to throw away
or lose information.  yes, in principle, the logic will need to be 
somewhere, and I'm suggesting that the virtualization logic should
be in VMM-only code so it has literally zero effect on host-native 
processes.  *or* the host-native fast-path.

  Secondly a lot of this doesnt matter if CKRM=n compiles to no code
  anyway
 
 I'm actually trying to keep the impact of CKRM=y to near-zero, ergo
 only an impact if you create classes.  And even then, the goal is to
 keep that impact pretty small as well.

but to really do CKRM, you are going to want quite extensive interaction with
the scheduler, VM page replacement policies, etc.  all incredibly
performance-sensitive areas.

actually, let me also say that CKRM is on a continuum that includes 
current (global) /proc tuning for various subsystems, ulimits, and 
at the other end, Xen/VMM's.  it's conceivable that CKRM could wind up
being useful and fast enough to subsume the current global and per-proc
tunables.  after all, there are MANY places where the kernel tries to 
maintain some sort of context to allow it to tune/throttle/readahead
based on some process-linked context.  embracing and extending
those could make CKRM attractive to people outside the mainframe market.


 Plus you won't have to manage each operating system instance which
 can grow into a pain under virtualization.  But I still maintain that
 both have their place.

CKRM may have its place in an externally-maintained patch ;)

regards, mark hahn.

-
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: 2.6.13-rc3-mm1 (ckrm)

2005-07-22 Thread Alan Cox
On Gwe, 2005-07-22 at 12:35 -0400, Mark Hahn wrote:
 I imagine you, like me, are currently sitting in the Xen talk,

Out by a few thousand miles ;)

 and I don't believe they are or will do anything so dumb as to throw away
 or lose information.  yes, in principle, the logic will need to be 

They don't have it in the first place. 

 somewhere, and I'm suggesting that the virtualization logic should
 be in VMM-only code so it has literally zero effect on host-native 
 processes.  *or* the host-native fast-path.

I don't see why you are concerned. If the CKRM=n path is zero impact
then its irrelevant to you. Its more expensive to do a lot of resource
management at the VMM level because the virtualisation engine doesn't
know anything but its getting indications someone wants to be
bigger/smaller.


 but to really do CKRM, you are going to want quite extensive interaction with
 the scheduler, VM page replacement policies, etc.  all incredibly
 performance-sensitive areas.

Bingo - and areas the virtualiser can't see into, at least not unless it
uses the same hooks CKRM uses

Alan

-
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: 2.6.13-rc3-mm1 (ckrm)

2005-07-22 Thread Paul Jackson
Shailabh wrote:
 So if the current CPU controller 
   implementation is considered too intrusive/unacceptable, it can be 
 reworked or (and we certainly hope not) even rejected in perpetuity. 

It is certainly reasonable that you would hope such.

But this hypothetical possibility concerns me a little.  Where would
that leave CKRM, if it was in the mainline kernel, but there was no CPU
controller in the mainline kernel?  Wouldn't that be a rather serious
problem for many users of CKRM if they wanted to work on mainline
kernels?

-- 
  I won't rest till it's the best ...
  Programmer, Linux Scalability
  Paul Jackson [EMAIL PROTECTED] 1.925.600.0401
-
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: [ckrm-tech] Re: 2.6.13-rc3-mm1 (ckrm)

2005-07-22 Thread Matthew Helsley
On Fri, 2005-07-22 at 12:35 -0400, Mark Hahn wrote:
snip

 actually, let me also say that CKRM is on a continuum that includes 
 current (global) /proc tuning for various subsystems, ulimits, and 
 at the other end, Xen/VMM's.  it's conceivable that CKRM could wind up
 being useful and fast enough to subsume the current global and per-proc
 tunables.  after all, there are MANY places where the kernel tries to 
 maintain some sort of context to allow it to tune/throttle/readahead
 based on some process-linked context.  embracing and extending
 those could make CKRM attractive to people outside the mainframe market.

Seems like an excellent suggestion to me! Yeah, it may be possible to
maintain the context the kernel keeps on a per-class basis instead of
globally or per-process. The real question is what constitutes a useful
extension :).

I was thinking that per-class nice values might be a good place to
start as well. One advantage of per-class as opposed to per-process nice
is the class is less transient than the process since its lifetime is
determined solely by the system administrator.

CKRM calls this kind of module a resource controller. There's a small
HOWTO on writing resource controllers here:
http://ckrm.sourceforge.net/ckrm-controller-howto.txt
If anyone wants to investigate writing such a controller please feel
free to ask questions or send HOWTO feedback on the CKRM-Tech mailing
list at ckrm-tech@lists.sourceforge.net.

Thanks,
-Matt Helsley

-
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: [ckrm-tech] Re: 2.6.13-rc3-mm1 (ckrm)

2005-07-22 Thread Mark Hahn
  actually, let me also say that CKRM is on a continuum that includes 
  current (global) /proc tuning for various subsystems, ulimits, and 
  at the other end, Xen/VMM's.  it's conceivable that CKRM could wind up
  being useful and fast enough to subsume the current global and per-proc
  tunables.  after all, there are MANY places where the kernel tries to 
  maintain some sort of context to allow it to tune/throttle/readahead
  based on some process-linked context.  embracing and extending
  those could make CKRM attractive to people outside the mainframe market.
 
   Seems like an excellent suggestion to me! Yeah, it may be possible to
 maintain the context the kernel keeps on a per-class basis instead of
 globally or per-process. 

right, but are the CKRM people ready to take this on?  for instance,
I just grepped 'throttle' in kernel/mm and found a per-task RM in 
page-writeback.c.  it even has a vaguely class-oriented logic, since
it exempts RT tasks.  if CKRM can become a way to make this stuff 
cleaner and more effective (again, for normal tasks), then great.
but bolting on a big new different, intrusive mechanism that slows
down all normal jobs by 3% just so someone can run 10K mostly-idle
guests on a giant Power box, well, that's gross.

 The real question is what constitutes a useful
 extension :).

if CKRM is just extensions, I think it should be an external patch.
if it provides a path towards unifying the many disparate RM mechanisms
already in the kernel, great!

   I was thinking that per-class nice values might be a good place to
 start as well. One advantage of per-class as opposed to per-process nice
 is the class is less transient than the process since its lifetime is
 determined solely by the system administrator.

but the Linux RM needs to subsume traditional Unix process groups,
and inherited nice/schd class, and even CAP_ stuff.  I think CKRM
could start to do this, since classes are very general.
but merely adding a new, incompatible feature is just Not A Good Idea.

regards, mark hahn.

-
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: HPT370 errors under 2.6.13-rc3-mm1

2005-07-22 Thread Bartlomiej Zolnierkiewicz
Hi,

Does vanilla kernel 2.6.12 work for you?
It doesn't contain hpt366 driver update.

Bartlomiej

On 7/22/05, mdew [EMAIL PROTECTED] wrote:
 I'm unable to mount an ext2 drive using the hpt370A raid card.
 
 upon mounting the drive, dmesg will spew these errors..I've tried
 different cables and drive is fine.
 
 Jul 23 01:30:11 localhost kernel: hdf: dma_timer_expiry: dma status == 0x41
 Jul 23 01:30:21 localhost kernel: hdf: DMA timeout error
 Jul 23 01:30:21 localhost kernel: hdf: dma timeout error: status=0x25
 { DeviceFault CorrectedError Error }
 Jul 23 01:30:21 localhost kernel: hdf: dma timeout error: error=0x25 {
 DriveStatusError AddrMarkNotFound }, LBAsect=8830589412645,
 high=526344, low=2434341, sector=390715711
 Jul 23 01:30:21 localhost kernel: ide: failed opcode was: unknown
 Jul 23 01:30:21 localhost kernel: hdf: DMA disabled
 Jul 23 01:30:21 localhost kernel: ide2: reset: master: error (0x0a?)
 Jul 23 01:30:21 localhost kernel: end_request: I/O error, dev hdf,
 sector 390715711
 Jul 23 01:30:21 localhost kernel: end_request: I/O error, dev hdf,
 sector 390715712
 [...]
-
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: [ckrm-tech] Re: 2.6.13-rc3-mm1 (ckrm)

2005-07-22 Thread Matthew Helsley
On Fri, 2005-07-22 at 20:23 -0400, Mark Hahn wrote:
   actually, let me also say that CKRM is on a continuum that includes 
   current (global) /proc tuning for various subsystems, ulimits, and 
   at the other end, Xen/VMM's.  it's conceivable that CKRM could wind up
   being useful and fast enough to subsume the current global and per-proc
   tunables.  after all, there are MANY places where the kernel tries to 
   maintain some sort of context to allow it to tune/throttle/readahead
   based on some process-linked context.  embracing and extending
   those could make CKRM attractive to people outside the mainframe market.
  
  Seems like an excellent suggestion to me! Yeah, it may be possible to
  maintain the context the kernel keeps on a per-class basis instead of
  globally or per-process. 
 
 right, but are the CKRM people ready to take this on?  for instance,
 I just grepped 'throttle' in kernel/mm and found a per-task RM in 
 page-writeback.c.  it even has a vaguely class-oriented logic, since
 it exempts RT tasks.  if CKRM can become a way to make this stuff 
 cleaner and more effective (again, for normal tasks), then great.
 but bolting on a big new different, intrusive mechanism that slows
 down all normal jobs by 3% just so someone can run 10K mostly-idle
 guests on a giant Power box, well, that's gross.
 
  The real question is what constitutes a useful
  extension :).
 
 if CKRM is just extensions, I think it should be an external patch.
 if it provides a path towards unifying the many disparate RM mechanisms
 already in the kernel, great!

OK, so if it provides a path towards unifying these, what should happen
to the old interfaces when they conflict with those offered by CKRM?

For instance, I'm considering how a per-class (re)nice setting would
work. What should happen when the user (re)nices a process to a
different value than the nice of the process' class? Should CKRM:

a) disable the old interface by
i) removing it
ii) return an error when CKRM is active
iii) return an error when CKRM has specified a nice value for the
process via membership in a class
iv) return an error when the (re)nice value is inconsistent with the
nice value assigned to the class

b) trust the user, ignore the class nice value, and allow the new nice
value

I'd be tempted to do a.iv but it would require some modifications to a
system call. b probably wouldn't require any modifications to non-CKRM
files/dirs. 

This sort of question would probably come up for any other CKRM
embraced-and-extended tunables. Should they use the answer to this
one, or would it go on a case-by-case basis?

Thanks,
-Matt Helsley

-
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: 2.6.13-rc3-mm1 (ckrm)

2005-07-21 Thread Mark Hahn
> of the various environments.  I don't think you are one of those end
> users, though.  I don't think I'm required to make everyone happy all
> the time.  ;)

the issue is whether CKRM (in it's real form, not this thin edge)
will noticably hurt Linux's fast-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/


Re: 2.6.13-rc3-mm1 (ckrm)

2005-07-21 Thread Gerrit Huizenga

On Fri, 22 Jul 2005 00:53:58 EDT, Mark Hahn wrote:
> > > > yes, that's the crux.  CKRM is all about resolving conflicting resource 
> > > > demands in a multi-user, multi-server, multi-purpose machine.  this is 
> > > > a 
> > > > huge undertaking, and I'd argue that it's completely inappropriate for 
> > > > *most* servers.  that is, computers are generally so damn cheap that 
> > > > the clear trend is towards dedicating a machine to a specific purpose, 
> > > > rather than running eg, shell/MUA/MTA/FS/DB/etc all on a single 
> > > > machine.  
> >  
> > This is a big NAK - if computers are so damn cheap, why is virtualization
> > and consolidation such a big deal?  Well, the answer is actually that
> 
> yes, you did miss my point.  I'm actually arguing that it's bad design
> to attempt to arbitrate within a single shared user-space.  you make 
> the fast path slower and less maintainable.  if you are really concerned
> about isolating many competing servers on a single piece of hardware, then
> run separate virtualized environments, each with its own user-space.

I'm willing to agree to disagree.  I'm in favor of full virtualization
as well, as it is appropriate to certain styles of workloads.  I also
have enough end users who also want to share user level, share tasks,
yet also have some level of balancing between the resource consumption
of the various environments.  I don't think you are one of those end
users, though.  I don't think I'm required to make everyone happy all
the time.  ;)

BTW, does your mailer purposefully remove cc:'s?  Seems like that is
normally considered impolite.

gerrit
-
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: 2.6.13-rc3-mm1 (ckrm)

2005-07-21 Thread Mark Hahn
> > > yes, that's the crux.  CKRM is all about resolving conflicting resource 
> > > demands in a multi-user, multi-server, multi-purpose machine.  this is a 
> > > huge undertaking, and I'd argue that it's completely inappropriate for 
> > > *most* servers.  that is, computers are generally so damn cheap that 
> > > the clear trend is towards dedicating a machine to a specific purpose, 
> > > rather than running eg, shell/MUA/MTA/FS/DB/etc all on a single machine.  
>  
> This is a big NAK - if computers are so damn cheap, why is virtualization
> and consolidation such a big deal?  Well, the answer is actually that

yes, you did miss my point.  I'm actually arguing that it's bad design
to attempt to arbitrate within a single shared user-space.  you make 
the fast path slower and less maintainable.  if you are really concerned
about isolating many competing servers on a single piece of hardware, then
run separate virtualized environments, each with its own user-space.

-
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: 2.6.13-rc3-mm1 (ckrm)

2005-07-21 Thread Gerrit Huizenga

Sorry - I didn't see Mark's original comment, so I'm replying to
a reply which I did get.  ;-)

On Thu, 21 Jul 2005 23:59:09 EDT, Shailabh Nagar wrote:
> Mark Hahn wrote:
> >>I suspect that the main problem is that this patch is not a mainstream
> >>kernel feature that will gain multiple uses, but rather provides
> >>support for a specific vendor middleware product used by that
> >>vendor and a few closely allied vendors.  If it were smaller or
> >>less intrusive, such as a driver, this would not be a big problem.
> >>That's not the case.
> > 
> > 
> > yes, that's the crux.  CKRM is all about resolving conflicting resource 
> > demands in a multi-user, multi-server, multi-purpose machine.  this is a 
> > huge undertaking, and I'd argue that it's completely inappropriate for 
> > *most* servers.  that is, computers are generally so damn cheap that 
> > the clear trend is towards dedicating a machine to a specific purpose, 
> > rather than running eg, shell/MUA/MTA/FS/DB/etc all on a single machine.  
 
This is a big NAK - if computers are so damn cheap, why is virtualization
and consolidation such a big deal?  Well, the answer is actually that
floor space, heat, and power are also continuing to be very important
in the overall equation.  And, buying machines which are dedicated but
often 80-99% idle occasionally bothers people who are concerned about
wasting planetary resources for no good reason.  Yeah, we can stamp out
thousands of metal boxes, but if just a couple can do the same work,
well, let's consolidate.  Less wasted metal, less wasted heat, less
wasted power, less air conditioning, wow, we are now part of the
eco-computing movement!  ;-)

> > this is *directly* in conflict with certain prominent products, such as 
> > the Altix and various less-prominent Linux-based mainframes.  they're all
> > about partitioning/virtualization - the big-iron aesthetic of splitting up 
> > a single machine.  note that it's not just about "big", since cluster-based 
> > approaches can clearly scale far past big-iron, and are in effect statically
> > partitioned.  yes, buying a hideously expensive single box, and then 
> > chopping 
> > it into little pieces is more than a little bizarre, and is mainly based
> > on a couple assumptions:

Well, yeah IBM has been doing this virtualization & partitioning stuff
for ages at lots of different levels for lots of reasons.  If we are
in such direct conflict with Altix, aren't we also in conflict with our
own lines of business which do the same thing?  But, well, we aren't
in conflict - this is a complementary part of our overall capabilities.

> > - that clusters are hard.  really, they aren't.  they are not 
> > necessarily higher-maintenance, can be far more robust, usually
> > do cost less.  just about the only bad thing about clusters is 
> > that they tend to be somewhat larger in size.

This is orthogonal to clusters.  Or, well, we are even using CKRM today
is some grid/cluster style applications.  But that has no bearing on
whether or not clusters is useful.

> > - that partitioning actually makes sense.  the appeal is that if 
> > you have a partition to yourself, you can only hurt yourself.
> > but it also follows that burstiness in resource demand cannot be 
> > overlapped without either constantly tuning the partitions or 
> > infringing on the guarantee.
 
Well, if you don't think it makes sense, don't buy one.  And stay away
from Xen, VMware, VirtualIron, PowerPC/pSeries hardware, Mainframes,
Altix, IA64 platforms, Intel VT, AMD Pacifica, and, well, anyone else
that is working to support virtualization, which is one key level of
partitioning.

I'm sorry but I'm not buying your argument here at all - it just has
no relationship to what's going on at the user side as near as I can
tell.

> > CKRM is one of those things that could be done to Linux, and will benefit a
> > few, but which will almost certainly hurt *most* of the community.
> > 
> > let me say that the CKRM design is actually quite good.  the issue is 
> > whether 
> > the extensive hooks it requires can be done (at all) in a way which does 
> > not disporportionately hurt maintainability or efficiency.
 
Can you be more clear on how this will hurt *most* of the community?
CKRM when not in use is not in any way intrusive.  Can you take a look
at the patch again and point out the "extensive" hooks for me?  I've
looked at "all" of them and I have trouble calling a couple of callbacks
"extensive hooks".

> > CKRM requires hooks into every resource-allocation decision fastpath:
> > - if CKRM is not CONFIG, the only overhead is software maintenance.
> > - if CKRM is CONFIG but not loaded, the overhead is a pointer check.
> > - if CKRM is CONFIG and loaded, the overhead is a pointer check
> > and a nontrivial callback.

You left out a case here:  CKRM is CONFIG and loaded and classes are
defined.

In all of the cases that you mentioned, if there are no 

Re: 2.6.13-rc3-mm1 (ckrm)

2005-07-21 Thread Shailabh Nagar

Paul Jackson wrote:

Martin wrote:


No offense, but I really don't see why this matters at all ... the stuff
in -mm is what's under consideration for merging - what's in SuSE is ...



Yes - what's in SuSE doesn't matter, at least not directly.

No - we are not just considering the CKRM that is in *-mm now, but also
what can be expected to be proposed as part of CKRM in the future.

If the CPU controller is not in *-mm now, but if one might reasonably
expect it to be proposed as part of CKRM in the future, then we need to
understand that.  This is perhaps especially important in this case,
where there is some reason to suspect that this additional piece is
both non-trivial and essential to CKRM's purpose.



The CKRM design explicitly considered this problem of some controllers 
being more unacceptable than the rest and part of the indirections 
introduced in CKRM are to allow the kernel community the flexibility of 
cherry-picking acceptable controllers. So if the current CPU controller 
  implementation is considered too intrusive/unacceptable, it can be 
reworked or (and we certainly hope not) even rejected in perpetuity. 
Same for the other controllers as and when they're introduced and 
proposed for inclusion.



-- Shailabh




-
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: 2.6.13-rc3-mm1 (ckrm)

2005-07-21 Thread Shailabh Nagar

Mark Hahn wrote:

I suspect that the main problem is that this patch is not a mainstream
kernel feature that will gain multiple uses, but rather provides
support for a specific vendor middleware product used by that
vendor and a few closely allied vendors.  If it were smaller or
less intrusive, such as a driver, this would not be a big problem.
That's not the case.



yes, that's the crux.  CKRM is all about resolving conflicting resource 
demands in a multi-user, multi-server, multi-purpose machine.  this is a 
huge undertaking, and I'd argue that it's completely inappropriate for 
*most* servers.  that is, computers are generally so damn cheap that 
the clear trend is towards dedicating a machine to a specific purpose, 
rather than running eg, shell/MUA/MTA/FS/DB/etc all on a single machine.  


The argument about scale-up vs. scale-out is nowhere close to being 
resolved. To argue that any support for performance partitioning (which 
CKRM does) is in support of a lost cause is premature to say the least.


this is *directly* in conflict with certain prominent products, such as 
the Altix and various less-prominent Linux-based mainframes.  they're all
about partitioning/virtualization - the big-iron aesthetic of splitting up 
a single machine.  note that it's not just about "big", since cluster-based 
approaches can clearly scale far past big-iron, and are in effect statically
partitioned.  yes, buying a hideously expensive single box, and then chopping 
it into little pieces is more than a little bizarre, and is mainly based

on a couple assumptions:

	- that clusters are hard.  really, they aren't.  they are not 
	necessarily higher-maintenance, can be far more robust, usually
	do cost less.  just about the only bad thing about clusters is 
	that they tend to be somewhat larger in size.


	- that partitioning actually makes sense.  the appeal is that if 
	you have a partition to yourself, you can only hurt yourself.
	but it also follows that burstiness in resource demand cannot be 
	overlapped without either constantly tuning the partitions or 
	infringing on the guarantee.


"constantly tuning the partitions" is effectively whats done by workload 
managers. But our earlier presentations and papers have made the case 
that this is not the only utility for performance isolation - simple 
needs like isolating one user from another on a general purpose server 
is also a need that cannot be met by any existing or proposed Linux 
kernel mechanisms today.


If partitioning made so little sense and the case for clusters was that 
obvious, one would be hard put to explain why server consolidation is 
being actively pursued by so many firms, Solaris is bothering with 
coming up with Containers and Xen/VMWare getting all this attention.

I don't think the concept of partitioning can be dismissed so easily.

Of course, it must be noted that CKRM only provides performance 
isolation not fault isolation. But there is a need for that. Whether 
Linux chooses to let this need influence its design is another matter 
(which I hope we'll also discuss besides the implementation issues).



CKRM is one of those things that could be done to Linux, and will benefit a
few, but which will almost certainly hurt *most* of the community.

let me say that the CKRM design is actually quite good.  the issue is whether 
the extensive hooks it requires can be done (at all) in a way which does 
not disporportionately hurt maintainability or efficiency.


If there are suggestions on implementing this better, it'll certainly be 
very welcome.




CKRM requires hooks into every resource-allocation decision fastpath:
- if CKRM is not CONFIG, the only overhead is software maintenance.
- if CKRM is CONFIG but not loaded, the overhead is a pointer check.
- if CKRM is CONFIG and loaded, the overhead is a pointer check
and a nontrivial callback.

but really, this is only for CKRM-enforced limits.  CKRM really wants to
change behavior in a more "weighted" way, not just causing an
allocation/fork/packet to fail.  a really meaningful CKRM needs to 
be tightly integrated into each resource manager - effecting each scheduler
(process, memory, IO, net).  I don't really see how full-on CKRM can be 
compiled out, unless these schedulers are made fully pluggable.


This is a valid point for the CPU, memory and network controllers (I/O 
can be made pluggable quite easily). For the CPU controller in SuSE, the 
CKRM CPU controller can be turned on and off dynamically at runtime. 
Exploring a similar option for  memory and network (incurring only a 
pointer check) could be explored. Keeping the overhead close to zero for 
kernel users not interested in CKRM is certainly one of our objectives.


finally, I observe that pluggable, class-based resource _limits_ could 
probably be done without callbacks and potentially with low overhead.
but mere limits doesn't meet CKRM's goal of flexible, wide-spread resource 
partitioning 

Re: 2.6.13-rc3-mm1 (ckrm)

2005-07-21 Thread Gerrit Huizenga

On Fri, 22 Jul 2005 13:46:37 +1000, Peter Williams wrote:
> Gerrit Huizenga wrote:
> >>I imagine that the cpu controller is missing from this version of CKRM 
> >>because the bugs introduced to the cpu controller during upgrading from 
> >>2.6.5 to 2.6.10 version have not yet been resolved.
> > 
> > 
> >  I don't know what bugs you are referring to here.  I don't think we
> >  have any open defects with SuSE on the CPU scheduler in their releases.
> >  And that is not at all related to the reason for not having a CPU
> >  controller in the current patch set.
> 
> The bugs were in the patches for the 2.6.10 kernel not SuSE's 2.6.5 
> kernel.  I reported some of them to the ckrm-tech mailing list at the 
> time.  There were changes to the vanilla scheduler between 2.6.5 and 
> 2.6.10 that were not handled properly when the CKRM scheduler was 
> upgraded to the 2.6.10 kernel.

Ah - okay - that makes sense.  Those patches haven't gone through my
review yet and I'm not directly tracking their status until I figure
out what the right direction is with respect to a fair share style
scheduler of some sort.  I'm not convinced that the current one is
something that is ready for mainline or is necessarily the right answer
currently.  But we do need to figure out something that will provide
some level of CPU allocation minima & maxima for a class, where that
solution will work well on a laptop or a huge server.

Ideas in that space are welcome - I know of several proposed ideas
in progress - the scheduler in SuSE and the forward port to 2.6.10
that you referred to; an idea for building a very simple interface
on top of sched_domains for SMP systems (no fairness within a
single CPU) and a proposal for timeslice manipulation that might
provide some fairness that the Fujitsu folks are thinking about.
There are probably others and honestly, I don't have any clue yet as
to what the right long term/mainline direction should be here as yet.

gerrit
-
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: 2.6.13-rc3-mm1 (ckrm)

2005-07-21 Thread Paul Jackson
Martin wrote:
> No offense, but I really don't see why this matters at all ... the stuff
> in -mm is what's under consideration for merging - what's in SuSE is ...

Yes - what's in SuSE doesn't matter, at least not directly.

No - we are not just considering the CKRM that is in *-mm now, but also
what can be expected to be proposed as part of CKRM in the future.

If the CPU controller is not in *-mm now, but if one might reasonably
expect it to be proposed as part of CKRM in the future, then we need to
understand that.  This is perhaps especially important in this case,
where there is some reason to suspect that this additional piece is
both non-trivial and essential to CKRM's purpose.

-- 
  I won't rest till it's the best ...
  Programmer, Linux Scalability
  Paul Jackson <[EMAIL PROTECTED]> 1.925.600.0401
-
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: 2.6.13-rc3-mm1 (ckrm)

2005-07-21 Thread Peter Williams

Gerrit Huizenga wrote:

On Fri, 22 Jul 2005 11:06:14 +1000, Peter Williams wrote:


Paul Jackson wrote:


Matthew wrote:



I don't see the large ifdefs you're referring to in -mm's
kernel/sched.c.



Perhaps someone who knows CKRM better than I can explain why the CKRM
version in some SuSE releases based on 2.6.5 kernels has substantial
code and some large ifdef's in sched.c, but the CKRM in *-mm doesn't.
Or perhaps I'm confused.  There's a good chance that this represents
ongoing improvements that CKRM is making to reduce their footprint
in core kernel code.  Or perhaps there is a more sophisticated cpu
controller in the SuSE kernel.


As there is NO CKRM cpu controller in 2.6.13-rc3-mm1 (that I can see) 
the one in 2.6.5 is certainly more sophisticated :-).  So the reason 
that the considerable mangling of sched.c evident in SuSE's 2.6.5 kernel 
source is not present is that the cpu controller is not included in 
these patches.


 
 Yeah - I don't really consider the current CPU controller code something

 ready for consideration yet for mainline merging.  That doesn't mean
 we don't want a CPU controller for CKRM - just that what we have
 doesn't integrate cleanly/nicely with mainline.


I imagine that the cpu controller is missing from this version of CKRM 
because the bugs introduced to the cpu controller during upgrading from 
2.6.5 to 2.6.10 version have not yet been resolved.



 I don't know what bugs you are referring to here.  I don't think we
 have any open defects with SuSE on the CPU scheduler in their releases.
 And that is not at all related to the reason for not having a CPU
 controller in the current patch set.


The bugs were in the patches for the 2.6.10 kernel not SuSE's 2.6.5 
kernel.  I reported some of them to the ckrm-tech mailing list at the 
time.  There were changes to the vanilla scheduler between 2.6.5 and 
2.6.10 that were not handled properly when the CKRM scheduler was 
upgraded to the 2.6.10 kernel.


Peter
--
Peter Williams   [EMAIL PROTECTED]

"Learning, n. The kind of ignorance distinguishing the studious."
 -- Ambrose Bierce
-
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: 2.6.13-rc3-mm1 (ckrm)

2005-07-21 Thread Gerrit Huizenga

On Fri, 22 Jul 2005 11:06:14 +1000, Peter Williams wrote:
> Paul Jackson wrote:
> > Matthew wrote:
> > 
> >>I don't see the large ifdefs you're referring to in -mm's
> >>kernel/sched.c.
> > 
> > 
> > Perhaps someone who knows CKRM better than I can explain why the CKRM
> > version in some SuSE releases based on 2.6.5 kernels has substantial
> > code and some large ifdef's in sched.c, but the CKRM in *-mm doesn't.
> > Or perhaps I'm confused.  There's a good chance that this represents
> > ongoing improvements that CKRM is making to reduce their footprint
> > in core kernel code.  Or perhaps there is a more sophisticated cpu
> > controller in the SuSE kernel.
> 
> As there is NO CKRM cpu controller in 2.6.13-rc3-mm1 (that I can see) 
> the one in 2.6.5 is certainly more sophisticated :-).  So the reason 
> that the considerable mangling of sched.c evident in SuSE's 2.6.5 kernel 
> source is not present is that the cpu controller is not included in 
> these patches.
 
 Yeah - I don't really consider the current CPU controller code something
 ready for consideration yet for mainline merging.  That doesn't mean
 we don't want a CPU controller for CKRM - just that what we have
 doesn't integrate cleanly/nicely with mainline.

> I imagine that the cpu controller is missing from this version of CKRM 
> because the bugs introduced to the cpu controller during upgrading from 
> 2.6.5 to 2.6.10 version have not yet been resolved.

 I don't know what bugs you are referring to here.  I don't think we
 have any open defects with SuSE on the CPU scheduler in their releases.
 And that is not at all related to the reason for not having a CPU
 controller in the current patch set.

gerrit
-
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: 2.6.13-rc3-mm1 (ckrm)

2005-07-21 Thread Peter Williams

Paul Jackson wrote:

Matthew wrote:


I don't see the large ifdefs you're referring to in -mm's
kernel/sched.c.



Perhaps someone who knows CKRM better than I can explain why the CKRM
version in some SuSE releases based on 2.6.5 kernels has substantial
code and some large ifdef's in sched.c, but the CKRM in *-mm doesn't.
Or perhaps I'm confused.  There's a good chance that this represents
ongoing improvements that CKRM is making to reduce their footprint
in core kernel code.  Or perhaps there is a more sophisticated cpu
controller in the SuSE kernel.


As there is NO CKRM cpu controller in 2.6.13-rc3-mm1 (that I can see) 
the one in 2.6.5 is certainly more sophisticated :-).  So the reason 
that the considerable mangling of sched.c evident in SuSE's 2.6.5 kernel 
source is not present is that the cpu controller is not included in 
these patches.


I imagine that the cpu controller is missing from this version of CKRM 
because the bugs introduced to the cpu controller during upgrading from 
2.6.5 to 2.6.10 version have not yet been resolved.


Peter
--
Peter Williams   [EMAIL PROTECTED]

"Learning, n. The kind of ignorance distinguishing the studious."
 -- Ambrose Bierce
-
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: 2.6.13-rc3-mm1 (ckrm)

2005-07-21 Thread Martin J. Bligh

Paul Jackson wrote:


Matthew wrote:
 


Perhaps someone who knows CKRM better than I can explain why the CKRM
version in some SuSE releases based on 2.6.5 kernels has substantial
code and some large ifdef's in sched.c, but the CKRM in *-mm doesn't.
Or perhaps I'm confused.  There's a good chance that this represents
ongoing improvements that CKRM is making to reduce their footprint
in core kernel code.  Or perhaps there is a more sophisticated cpu
controller in the SuSE kernel.
 



No offense, but I really don't see why this matters at all ... the stuff
in -mm is what's under consideration for merging - what's in SuSE is
wholly irrelevant ? One obvious thing is that that codebase will be
much older ... would be useful if people can direct critiques at the
current codebase ;-)

M.


-
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: 2.6.13-rc3-mm1 (ckrm)

2005-07-21 Thread Paul Jackson
Matthew wrote:
> I don't see the large ifdefs you're referring to in -mm's
> kernel/sched.c.

Perhaps someone who knows CKRM better than I can explain why the CKRM
version in some SuSE releases based on 2.6.5 kernels has substantial
code and some large ifdef's in sched.c, but the CKRM in *-mm doesn't.
Or perhaps I'm confused.  There's a good chance that this represents
ongoing improvements that CKRM is making to reduce their footprint
in core kernel code.  Or perhaps there is a more sophisticated cpu
controller in the SuSE kernel.


> Have you looked at more
> recent benchmarks posted on CKRM-Tech around April 15th 2005?
> ...
> http://ckrm.sourceforge.net/downloads/ckrm-ols04-slides.pdf 

I had not seen these before.  Thanks for the pointer.


> The Rule-Based Classification Engine (RBCE) makes CKRM useful
> without middleware.

I'd be encouraged more if this went one step further, past pointing
out that the API can be manipulated from the shell without requiring C
code, to providing examples of who intends to _directly_ use this
interface. The issue is perhaps less whether it's API is naturally C or
shell code, or more of how many actual, independent, uses of this API
are known to the community.  A non-trivial API and mechanism that
is de facto captive to a single middleware implementation (which
may or may not apply here - I don't know) creates an additional review
burden, because some of the natural forces that guide us to healthy
long lasting interfaces are missing.  If that concern applies here,
it's certainly not insurmountable - but it should in my view raise the
review barrier to acceptance.  If other middleware or direct users
are not essentially performing some of the review for us, we have to do
it here with greater thoroughness.


> If you could be more specific I'd be able to
> respond in less general and abstract terms.

Good come back .

I made an effort along these lines last year, in the thread
I referenced a few days ago:

Classes: 1) what are they, 2) what is their name?

http://sourceforge.net/mailarchive/forum.php?thread_id=5328162_id=35191

I doubt that it I have much more to contribute along
these lines now.

Sorry.

> I haven't seen this limitation [128 cpus] ...

Good - I presume that there is no longer, if there ever was, such a
limitation.

Thanks for you reply.

-- 
  I won't rest till it's the best ...
  Programmer, Linux Scalability
  Paul Jackson <[EMAIL PROTECTED]> 1.925.600.0401
-
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: 2.6.13-rc3-mm1 - breaks DRI

2005-07-21 Thread Dave Airlie
> >>
> >> I also use 2.6.13-rc3-mm1.  Will try with a previous version an report to 
> >> lkml if
> >> it works.
> >>
> >
> > I just tried 13-rc2-mm1 and dri is working again. Its reported to also work
> > with 13-rc3.
> 

Hmm no idea what could have broken it, I'm at OLS and don't have any
DRI capable machine here yet.. so it'll be a while before I get to
take a look at it .. I wouldn't be terribly surprised if some of the
new mapping code might have some issues..

Dave.
-
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: 2.6.13-rc3-mm1 (ckrm)

2005-07-21 Thread Matthew Helsley
On Sun, 2005-07-17 at 08:20 -0700, Paul Jackson wrote:


> It is somewhat intrusive in the areas it controls, such as some large
> ifdef's in kernel/sched.c.

I don't see the large ifdefs you're referring to in -mm's
kernel/sched.c.

> The sched hooks may well impact the cost of maintaining the sched code,
> which is always a hotbed of Linux kernel development.  However others
> who work in that area will have to speak to that concern.

I don't see the hooks you're referring to in the -mm scheduler.

> I tried just now to read through the ckrm hooks in fork, to see
> what sort of impact they might have on scalability on large systems.
> But I gave up after a couple layers of indirection.  I saw several
> atomic counters and a couple of spinlocks that I suspect (not at all
> sure) lay on the fork main code path.  I'd be surprised if this didn't
> impact scalability.  Earlier, according to my notes, I saw mention of
> lmbench results in the OLS 2004 slides, indicating a several percent
> cost of available cpu cycles.

The OLS2004 slides are roughly 1 year old. Have you looked at more
recent benchmarks posted on CKRM-Tech around April 15th 2005? They
should be available in the CKRM-Tech archives on SourceForge at
http://sourceforge.net/mailarchive/forum.php?thread_id=7025751_id=35191

(OLS 2004 Slide 24 of
http://ckrm.sourceforge.net/downloads/ckrm-ols04-slides.pdf )

The OLS slide indicates that the overhead is generally less than
0.5usec compared to a total context switch time of anywhere from 2 to
5.5usec. There appears to be little difference in scalability since the
overhead appears to oscillate around a constant.



> vendor has a serious middleware software product that provides full
> CKRM support.  Acceptance of CKRM would be easier if multiple competing
> middleware vendors were using it.  It is also a concern that CKRM
> is not really usable for its primary intended purpose except if it
> is accompanied by this corresponding middleware, which I presume is

The Rule-Based Classification Engine (RBCE) makes CKRM useful without
middleware. It uses a table of rules to classify tasks. For example
rules that would classify shells:

echo 'path=/bin/bash,class=/rcfs/taskclass/shells' > 
/rcfs/ce/rules/classify_bash_shells
echo 'path=/bin/tcsh,class=/rcfs/taskclass/shells' > 
/rcfs/ce/rules/classify_tcsh_shells
..

And class shares would control the fork rate of those shells:

echo 'res=numtasks,forkrate=1,forkrate_interval=1' > 
'/rcfs/taskclass/config'
echo 'res=numtasks,guarantee=1000,limit=5000' > '/rcfs/taskclass/shells'

No middleware necessary.

 

> CKRM is in part a generalization and descendent of what I call fair
> share schedulers.  For example, the fork hooks for CKRM include a
> forkrates controller, to slow down the rate of forking of tasks using
> too much resources.
> 
> No doubt the CKRM experts are already familiar with these, but for
> the possible benefit of other readers:
> 
>   UNICOS Resource Administration - Chapter 4. Fair-share Scheduler
>   
> http://oscinfo.osc.edu:8080/dynaweb/all/004-2302-001/@Generic__BookTextView/22883
> 
>   SHARE II -- A User Administration and Resource Control System for UNIX
>   http://www.c-side.com/c/papers/lisa-91.html
> 
>   Solaris Resource Manager White Paper
>   http://wwws.sun.com/software/resourcemgr/wp-mixed/
> 
>   ON THE PERFORMANCE IMPACT OF FAIR SHARE SCHEDULING
>   http://www.cs.umb.edu/~eb/goalmode/cmg2000final.htm
> 
>   A Fair Share Scheduler, J. Kay and P. Lauder
>   Communications of the ACM, January 1988, Volume 31, Number 1, pp 44-55.
> 
> The documentation that I've noticed (likely I've missed something)
> doesn't do an adequate job of making the case - providing the
> motivation and context essential to understanding this patch set.

The choice of algorithm is entirely up to the scheduler, memory
allocator, etc. CKRM currently provides an interface for reading share
values and does not impose any meaning on those shares -- that is the
role of the scheduler.

> Because CKRM provides an infrastructure for multiple controllers
> (limiting forks, memory allocation and network rates) and multiple
> classifiers and policies, its critical interfaces have rather
> generic and abstract names.  This makes it difficult for others to
> approach CKRM, reducing the rate of peer review by other Linux kernel
> developers, which is perhaps the key impediment to acceptance of CKRM.
> If anything, CKRM tends to be a little too abstract.

Generic and abstract names are appropriate for infrastructure that is
not tied to hardware. If you could be more specific I'd be able to
respond in less general and abstract terms.



> My notes from many months ago indicate something about a 128 CPU
> limit in CKRM.  I don't know why, nor if it still applies.  It is
> certainly a smaller limit than the systems I care about.

I haven't seen this limitation in the CKRM patches that went into -mm
and I'd like to look into 

Re: 2.6.13-rc3-mm1 - breaks DRI

2005-07-21 Thread Ed Tomlinson
On Thursday 21 July 2005 11:56, Andrew Morton wrote:
> Ed Tomlinson <[EMAIL PROTECTED]> wrote:
> >
> >> --  Forwarded Message  --
> >> 
> >> Subject: Re: Xorg and RADEON (dri disabled)
> >> Date: Wednesday 20 July 2005 21:25
> >> From: Ed Tomlinson <[EMAIL PROTECTED]>
> >> To: debian-amd64@lists.debian.org
> >> Cc: Michal Schmidt <[EMAIL PROTECTED]>
> >> 
> >> On Wednesday 20 July 2005 21:13, Michal Schmidt wrote:
> >> > Ed Tomlinson wrote:
> >> > > Hi,
> >> > > 
> >> > > With Xorg I get:
> >> > > 
> >> > > (==) RADEON(0): Write-combining range (0xd000,0x800)
> >> > > drmOpenDevice: node name is /dev/dri/card0
> >> > > drmOpenDevice: open result is -1, (No such device)
> >> > > drmOpenDevice: open result is -1, (No such device)
> >> > > drmOpenDevice: Open failed
> >> > > drmOpenDevice: node name is /dev/dri/card0
> >> > > drmOpenDevice: open result is -1, (No such device)
> >> > > drmOpenDevice: open result is -1, (No such device)
> >> > > drmOpenDevice: Open failed
> >> > > drmOpenByBusid: Searching for BusID pci::01:00.0
> >> > > drmOpenDevice: node name is /dev/dri/card0
> >> > > drmOpenDevice: open result is 7, (OK)
> >> > > drmOpenByBusid: drmOpenMinor returns 7
> >> > > drmOpenByBusid: drmGetBusid reports pci::01:00.0
> >> > > (II) RADEON(0): [drm] loaded kernel module for "radeon" driver
> >> > > (II) RADEON(0): [drm] DRM interface version 1.2
> >> > > (II) RADEON(0): [drm] created "radeon" driver at busid 
> >> > > "pci::01:00.0"
> >> > > (II) RADEON(0): [drm] added 8192 byte SAREA at 0xc2411000
> >> > > (II) RADEON(0): [drm] drmMap failed
> >> > > (EE) RADEON(0): [dri] DRIScreenInit failed.  Disabling DRI.
> >> > > 
> >> > > And glxgears reports 300 frames per second.  How do I get dri back?  It
> >> > > was working fine with XFree.  The XF86Config-4 was changed by the 
> >> > > upgrade
> >> > > dropping some parms in the Device section.  Restoring them has no 
> >> > > effect
> >> > > on the problem.
> >> 
> >> > What kernel do you use? I get the same behaviour with 2.6.13-rc3-mm1, 
> >> > but it works with 2.6.13-rc3.
> >> 
> >> I also use 2.6.13-rc3-mm1.  Will try with a previous version an report to 
> >> lkml if
> >> it works.
> >> 
> >
> > I just tried 13-rc2-mm1 and dri is working again. Its reported to also work
> > with 13-rc3.
> 
> Useful info, thanks.
> 
> >  What in mm1 is apt to be breaking dri?
> 
> Faulty kernel programming ;)
> 
> I assume that the failure to open /dev/dri/card0 only happens in rc3-mm1?

The difference in the X logs is that the working one does not have the:
(II) RADEON(0): [drm] created "radeon" driver at busid "pci::01:00.0"
(II) RADEON(0): [drm] added 8192 byte SAREA at 0xc2411000
(II) RADEON(0): [drm] drmMap failed

message.  When it works it has has:
(II) RADEON(0): [drm] created "radeon" driver at busid "pci::01:00.0"
(II) RADEON(0): [drm] added 8192 byte SAREA at 0x10001000
(II) RADEON(0): [drm] mapped SAREA 0x10001000 to 0x2aaab2e67000
(II) RADEON(0): [drm] framebuffer handle = 0xd000
(II) RADEON(0): [drm] added 1 reserved context for kernel
(II) RADEON(0): [agp] Mode 0x1f004209 [AGP 0x10de/0x00e1; Card 0x1002/0x5961]
(II) RADEON(0): [agp] 8192 kB allocated with handle 0x0001
(II) RADEON(0): [agp] ring handle = 0xe000
 
> Could you compare the dmesg output for 2.6.13-rc3 versus 2.6.13-rc3-mm1? 
> And double-check the .config settings: occasionally config options will be
> renamed and `make oldconfig' causes things to get acidentally disabled. 

>From 13-rc2-mm1:

Jul 21 07:31:20 grover kernel: [   13.652465] Linux agpgart interface v0.101 
(c) Dave Jones
Jul 21 07:31:20 grover kernel: [   13.652492] [drm] Initialized drm 1.0.0 
20040925

and later

Jul 21 07:31:34 grover kernel: [   72.401795] [drm] Initialized radeon 1.16.0 
20050311 on minor 0: ATI Technologies Inc RV280 [Radeon 9200]
Jul 21 07:31:34 grover kernel: [   72.402388] agpgart: Found an AGP 3.0 
compliant device at :00:00.0.
Jul 21 07:31:34 grover kernel: [   72.402399] agpgart: Putting AGP V3 device at 
:00:00.0 into 4x mode
Jul 21 07:31:34 grover kernel: [   72.402419] agpgart: Putting AGP V3 device at 
:01:00.0 int

Re: 2.6.13-rc3-mm1 - breaks DRI

2005-07-21 Thread Andrew Morton
Ed Tomlinson <[EMAIL PROTECTED]> wrote:
>
>> --  Forwarded Message  --
>> 
>> Subject: Re: Xorg and RADEON (dri disabled)
>> Date: Wednesday 20 July 2005 21:25
>> From: Ed Tomlinson <[EMAIL PROTECTED]>
>> To: debian-amd64@lists.debian.org
>> Cc: Michal Schmidt <[EMAIL PROTECTED]>
>> 
>> On Wednesday 20 July 2005 21:13, Michal Schmidt wrote:
>> > Ed Tomlinson wrote:
>> > > Hi,
>> > > 
>> > > With Xorg I get:
>> > > 
>> > > (==) RADEON(0): Write-combining range (0xd000,0x800)
>> > > drmOpenDevice: node name is /dev/dri/card0
>> > > drmOpenDevice: open result is -1, (No such device)
>> > > drmOpenDevice: open result is -1, (No such device)
>> > > drmOpenDevice: Open failed
>> > > drmOpenDevice: node name is /dev/dri/card0
>> > > drmOpenDevice: open result is -1, (No such device)
>> > > drmOpenDevice: open result is -1, (No such device)
>> > > drmOpenDevice: Open failed
>> > > drmOpenByBusid: Searching for BusID pci::01:00.0
>> > > drmOpenDevice: node name is /dev/dri/card0
>> > > drmOpenDevice: open result is 7, (OK)
>> > > drmOpenByBusid: drmOpenMinor returns 7
>> > > drmOpenByBusid: drmGetBusid reports pci::01:00.0
>> > > (II) RADEON(0): [drm] loaded kernel module for "radeon" driver
>> > > (II) RADEON(0): [drm] DRM interface version 1.2
>> > > (II) RADEON(0): [drm] created "radeon" driver at busid "pci::01:00.0"
>> > > (II) RADEON(0): [drm] added 8192 byte SAREA at 0xc2411000
>> > > (II) RADEON(0): [drm] drmMap failed
>> > > (EE) RADEON(0): [dri] DRIScreenInit failed.  Disabling DRI.
>> > > 
>> > > And glxgears reports 300 frames per second.  How do I get dri back?  It
>> > > was working fine with XFree.  The XF86Config-4 was changed by the upgrade
>> > > dropping some parms in the Device section.  Restoring them has no effect
>> > > on the problem.
>> 
>> > What kernel do you use? I get the same behaviour with 2.6.13-rc3-mm1, 
>> > but it works with 2.6.13-rc3.
>> 
>> I also use 2.6.13-rc3-mm1.  Will try with a previous version an report to 
>> lkml if
>> it works.
>> 
>
> I just tried 13-rc2-mm1 and dri is working again. Its reported to also work
> with 13-rc3.

Useful info, thanks.

>  What in mm1 is apt to be breaking dri?

Faulty kernel programming ;)

I assume that the failure to open /dev/dri/card0 only happens in rc3-mm1?

Could you compare the dmesg output for 2.6.13-rc3 versus 2.6.13-rc3-mm1? 
And double-check the .config settings: occasionally config options will be
renamed and `make oldconfig' causes things to get acidentally disabled.
-
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: 2.6.13-rc3-mm1 - breaks DRI

2005-07-21 Thread Ed Tomlinson
Hi,

I just tried 13-rc2-mm1 and dri is working again.  Its reported to also work 
with 
13-rc3.  What in mm1 is apt to be breaking dri?

Thanks
Ed Tomlinson

--  Forwarded Message  --

Subject: Re: Xorg and RADEON (dri disabled)
Date: Wednesday 20 July 2005 21:25
From: Ed Tomlinson <[EMAIL PROTECTED]>
To: debian-amd64@lists.debian.org
Cc: Michal Schmidt <[EMAIL PROTECTED]>

On Wednesday 20 July 2005 21:13, Michal Schmidt wrote:
> Ed Tomlinson wrote:
> > Hi,
> > 
> > With Xorg I get:
> > 
> > (==) RADEON(0): Write-combining range (0xd000,0x800)
> > drmOpenDevice: node name is /dev/dri/card0
> > drmOpenDevice: open result is -1, (No such device)
> > drmOpenDevice: open result is -1, (No such device)
> > drmOpenDevice: Open failed
> > drmOpenDevice: node name is /dev/dri/card0
> > drmOpenDevice: open result is -1, (No such device)
> > drmOpenDevice: open result is -1, (No such device)
> > drmOpenDevice: Open failed
> > drmOpenByBusid: Searching for BusID pci::01:00.0
> > drmOpenDevice: node name is /dev/dri/card0
> > drmOpenDevice: open result is 7, (OK)
> > drmOpenByBusid: drmOpenMinor returns 7
> > drmOpenByBusid: drmGetBusid reports pci::01:00.0
> > (II) RADEON(0): [drm] loaded kernel module for "radeon" driver
> > (II) RADEON(0): [drm] DRM interface version 1.2
> > (II) RADEON(0): [drm] created "radeon" driver at busid "pci::01:00.0"
> > (II) RADEON(0): [drm] added 8192 byte SAREA at 0xc2411000
> > (II) RADEON(0): [drm] drmMap failed
> > (EE) RADEON(0): [dri] DRIScreenInit failed.  Disabling DRI.
> > 
> > And glxgears reports 300 frames per second.  How do I get dri back?  It
> > was working fine with XFree.  The XF86Config-4 was changed by the upgrade
> > dropping some parms in the Device section.  Restoring them has no effect
> > on the problem.

> What kernel do you use? I get the same behaviour with 2.6.13-rc3-mm1, 
> but it works with 2.6.13-rc3.

I also use 2.6.13-rc3-mm1.  Will try with a previous version an report to lkml 
if
it works.

Thanks
Ed


---
-
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: 2.6.13-rc3-mm1 - breaks DRI

2005-07-21 Thread Ed Tomlinson
Hi,

I just tried 13-rc2-mm1 and dri is working again.  Its reported to also work 
with 
13-rc3.  What in mm1 is apt to be breaking dri?

Thanks
Ed Tomlinson

--  Forwarded Message  --

Subject: Re: Xorg and RADEON (dri disabled)
Date: Wednesday 20 July 2005 21:25
From: Ed Tomlinson [EMAIL PROTECTED]
To: debian-amd64@lists.debian.org
Cc: Michal Schmidt [EMAIL PROTECTED]

On Wednesday 20 July 2005 21:13, Michal Schmidt wrote:
 Ed Tomlinson wrote:
  Hi,
  
  With Xorg I get:
  
  (==) RADEON(0): Write-combining range (0xd000,0x800)
  drmOpenDevice: node name is /dev/dri/card0
  drmOpenDevice: open result is -1, (No such device)
  drmOpenDevice: open result is -1, (No such device)
  drmOpenDevice: Open failed
  drmOpenDevice: node name is /dev/dri/card0
  drmOpenDevice: open result is -1, (No such device)
  drmOpenDevice: open result is -1, (No such device)
  drmOpenDevice: Open failed
  drmOpenByBusid: Searching for BusID pci::01:00.0
  drmOpenDevice: node name is /dev/dri/card0
  drmOpenDevice: open result is 7, (OK)
  drmOpenByBusid: drmOpenMinor returns 7
  drmOpenByBusid: drmGetBusid reports pci::01:00.0
  (II) RADEON(0): [drm] loaded kernel module for radeon driver
  (II) RADEON(0): [drm] DRM interface version 1.2
  (II) RADEON(0): [drm] created radeon driver at busid pci::01:00.0
  (II) RADEON(0): [drm] added 8192 byte SAREA at 0xc2411000
  (II) RADEON(0): [drm] drmMap failed
  (EE) RADEON(0): [dri] DRIScreenInit failed.  Disabling DRI.
  
  And glxgears reports 300 frames per second.  How do I get dri back?  It
  was working fine with XFree.  The XF86Config-4 was changed by the upgrade
  dropping some parms in the Device section.  Restoring them has no effect
  on the problem.

 What kernel do you use? I get the same behaviour with 2.6.13-rc3-mm1, 
 but it works with 2.6.13-rc3.

I also use 2.6.13-rc3-mm1.  Will try with a previous version an report to lkml 
if
it works.

Thanks
Ed


---
-
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: 2.6.13-rc3-mm1 - breaks DRI

2005-07-21 Thread Andrew Morton
Ed Tomlinson [EMAIL PROTECTED] wrote:

 --  Forwarded Message  --
 
 Subject: Re: Xorg and RADEON (dri disabled)
 Date: Wednesday 20 July 2005 21:25
 From: Ed Tomlinson [EMAIL PROTECTED]
 To: debian-amd64@lists.debian.org
 Cc: Michal Schmidt [EMAIL PROTECTED]
 
 On Wednesday 20 July 2005 21:13, Michal Schmidt wrote:
  Ed Tomlinson wrote:
   Hi,
   
   With Xorg I get:
   
   (==) RADEON(0): Write-combining range (0xd000,0x800)
   drmOpenDevice: node name is /dev/dri/card0
   drmOpenDevice: open result is -1, (No such device)
   drmOpenDevice: open result is -1, (No such device)
   drmOpenDevice: Open failed
   drmOpenDevice: node name is /dev/dri/card0
   drmOpenDevice: open result is -1, (No such device)
   drmOpenDevice: open result is -1, (No such device)
   drmOpenDevice: Open failed
   drmOpenByBusid: Searching for BusID pci::01:00.0
   drmOpenDevice: node name is /dev/dri/card0
   drmOpenDevice: open result is 7, (OK)
   drmOpenByBusid: drmOpenMinor returns 7
   drmOpenByBusid: drmGetBusid reports pci::01:00.0
   (II) RADEON(0): [drm] loaded kernel module for radeon driver
   (II) RADEON(0): [drm] DRM interface version 1.2
   (II) RADEON(0): [drm] created radeon driver at busid pci::01:00.0
   (II) RADEON(0): [drm] added 8192 byte SAREA at 0xc2411000
   (II) RADEON(0): [drm] drmMap failed
   (EE) RADEON(0): [dri] DRIScreenInit failed.  Disabling DRI.
   
   And glxgears reports 300 frames per second.  How do I get dri back?  It
   was working fine with XFree.  The XF86Config-4 was changed by the upgrade
   dropping some parms in the Device section.  Restoring them has no effect
   on the problem.
 
  What kernel do you use? I get the same behaviour with 2.6.13-rc3-mm1, 
  but it works with 2.6.13-rc3.
 
 I also use 2.6.13-rc3-mm1.  Will try with a previous version an report to 
 lkml if
 it works.
 

 I just tried 13-rc2-mm1 and dri is working again. Its reported to also work
 with 13-rc3.

Useful info, thanks.

  What in mm1 is apt to be breaking dri?

Faulty kernel programming ;)

I assume that the failure to open /dev/dri/card0 only happens in rc3-mm1?

Could you compare the dmesg output for 2.6.13-rc3 versus 2.6.13-rc3-mm1? 
And double-check the .config settings: occasionally config options will be
renamed and `make oldconfig' causes things to get acidentally disabled.
-
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: 2.6.13-rc3-mm1 - breaks DRI

2005-07-21 Thread Ed Tomlinson
On Thursday 21 July 2005 11:56, Andrew Morton wrote:
 Ed Tomlinson [EMAIL PROTECTED] wrote:
 
  --  Forwarded Message  --
  
  Subject: Re: Xorg and RADEON (dri disabled)
  Date: Wednesday 20 July 2005 21:25
  From: Ed Tomlinson [EMAIL PROTECTED]
  To: debian-amd64@lists.debian.org
  Cc: Michal Schmidt [EMAIL PROTECTED]
  
  On Wednesday 20 July 2005 21:13, Michal Schmidt wrote:
   Ed Tomlinson wrote:
Hi,

With Xorg I get:

(==) RADEON(0): Write-combining range (0xd000,0x800)
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: Open failed
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: Open failed
drmOpenByBusid: Searching for BusID pci::01:00.0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 7, (OK)
drmOpenByBusid: drmOpenMinor returns 7
drmOpenByBusid: drmGetBusid reports pci::01:00.0
(II) RADEON(0): [drm] loaded kernel module for radeon driver
(II) RADEON(0): [drm] DRM interface version 1.2
(II) RADEON(0): [drm] created radeon driver at busid 
pci::01:00.0
(II) RADEON(0): [drm] added 8192 byte SAREA at 0xc2411000
(II) RADEON(0): [drm] drmMap failed
(EE) RADEON(0): [dri] DRIScreenInit failed.  Disabling DRI.

And glxgears reports 300 frames per second.  How do I get dri back?  It
was working fine with XFree.  The XF86Config-4 was changed by the 
upgrade
dropping some parms in the Device section.  Restoring them has no 
effect
on the problem.
  
   What kernel do you use? I get the same behaviour with 2.6.13-rc3-mm1, 
   but it works with 2.6.13-rc3.
  
  I also use 2.6.13-rc3-mm1.  Will try with a previous version an report to 
  lkml if
  it works.
  
 
  I just tried 13-rc2-mm1 and dri is working again. Its reported to also work
  with 13-rc3.
 
 Useful info, thanks.
 
   What in mm1 is apt to be breaking dri?
 
 Faulty kernel programming ;)
 
 I assume that the failure to open /dev/dri/card0 only happens in rc3-mm1?

The difference in the X logs is that the working one does not have the:
(II) RADEON(0): [drm] created radeon driver at busid pci::01:00.0
(II) RADEON(0): [drm] added 8192 byte SAREA at 0xc2411000
(II) RADEON(0): [drm] drmMap failed

message.  When it works it has has:
(II) RADEON(0): [drm] created radeon driver at busid pci::01:00.0
(II) RADEON(0): [drm] added 8192 byte SAREA at 0x10001000
(II) RADEON(0): [drm] mapped SAREA 0x10001000 to 0x2aaab2e67000
(II) RADEON(0): [drm] framebuffer handle = 0xd000
(II) RADEON(0): [drm] added 1 reserved context for kernel
(II) RADEON(0): [agp] Mode 0x1f004209 [AGP 0x10de/0x00e1; Card 0x1002/0x5961]
(II) RADEON(0): [agp] 8192 kB allocated with handle 0x0001
(II) RADEON(0): [agp] ring handle = 0xe000
 
 Could you compare the dmesg output for 2.6.13-rc3 versus 2.6.13-rc3-mm1? 
 And double-check the .config settings: occasionally config options will be
 renamed and `make oldconfig' causes things to get acidentally disabled. 

From 13-rc2-mm1:

Jul 21 07:31:20 grover kernel: [   13.652465] Linux agpgart interface v0.101 
(c) Dave Jones
Jul 21 07:31:20 grover kernel: [   13.652492] [drm] Initialized drm 1.0.0 
20040925

and later

Jul 21 07:31:34 grover kernel: [   72.401795] [drm] Initialized radeon 1.16.0 
20050311 on minor 0: ATI Technologies Inc RV280 [Radeon 9200]
Jul 21 07:31:34 grover kernel: [   72.402388] agpgart: Found an AGP 3.0 
compliant device at :00:00.0.
Jul 21 07:31:34 grover kernel: [   72.402399] agpgart: Putting AGP V3 device at 
:00:00.0 into 4x mode
Jul 21 07:31:34 grover kernel: [   72.402419] agpgart: Putting AGP V3 device at 
:01:00.0 into 4x mode
Jul 21 07:31:35 grover kernel: [   72.421888] [drm] Loading R200 Microcode

From 13-rc3-mm1:

Jul 20 18:59:34 grover kernel: [   13.837537] Linux agpgart interface v0.101 
(c) Dave Jones
Jul 20 18:59:34 grover kernel: [   13.837565] [drm] Initialized drm 1.0.0 
20040925

and later

Jul 20 18:59:48 grover kernel: [   71.638470] [drm] Initialized radeon 1.16.0 
20050311 on minor 0: ATI Techno
logies Inc RV280 [Radeon 9200]

Both .configs are fine.  Kernels have agp compiled in with DRM modular.

CONFIG_GART_IOMMU=y

CONFIG_AGP=y
CONFIG_AGP_AMD64=y
# CONFIG_AGP_INTEL is not set
CONFIG_DRM=y
CONFIG_DRM_TDFX=m
CONFIG_DRM_R128=m
CONFIG_DRM_RADEON=m

Hope this helps (Its an AMD64 Kernel),

Ed

-
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: 2.6.13-rc3-mm1 (ckrm)

2005-07-21 Thread Matthew Helsley
On Sun, 2005-07-17 at 08:20 -0700, Paul Jackson wrote:
snip

 It is somewhat intrusive in the areas it controls, such as some large
 ifdef's in kernel/sched.c.

I don't see the large ifdefs you're referring to in -mm's
kernel/sched.c.

 The sched hooks may well impact the cost of maintaining the sched code,
 which is always a hotbed of Linux kernel development.  However others
 who work in that area will have to speak to that concern.

I don't see the hooks you're referring to in the -mm scheduler.

 I tried just now to read through the ckrm hooks in fork, to see
 what sort of impact they might have on scalability on large systems.
 But I gave up after a couple layers of indirection.  I saw several
 atomic counters and a couple of spinlocks that I suspect (not at all
 sure) lay on the fork main code path.  I'd be surprised if this didn't
 impact scalability.  Earlier, according to my notes, I saw mention of
 lmbench results in the OLS 2004 slides, indicating a several percent
 cost of available cpu cycles.

The OLS2004 slides are roughly 1 year old. Have you looked at more
recent benchmarks posted on CKRM-Tech around April 15th 2005? They
should be available in the CKRM-Tech archives on SourceForge at
http://sourceforge.net/mailarchive/forum.php?thread_id=7025751forum_id=35191

(OLS 2004 Slide 24 of
http://ckrm.sourceforge.net/downloads/ckrm-ols04-slides.pdf )

The OLS slide indicates that the overhead is generally less than
0.5usec compared to a total context switch time of anywhere from 2 to
5.5usec. There appears to be little difference in scalability since the
overhead appears to oscillate around a constant.

snip

 vendor has a serious middleware software product that provides full
 CKRM support.  Acceptance of CKRM would be easier if multiple competing
 middleware vendors were using it.  It is also a concern that CKRM
 is not really usable for its primary intended purpose except if it
 is accompanied by this corresponding middleware, which I presume is

The Rule-Based Classification Engine (RBCE) makes CKRM useful without
middleware. It uses a table of rules to classify tasks. For example
rules that would classify shells:

echo 'path=/bin/bash,class=/rcfs/taskclass/shells'  
/rcfs/ce/rules/classify_bash_shells
echo 'path=/bin/tcsh,class=/rcfs/taskclass/shells'  
/rcfs/ce/rules/classify_tcsh_shells
..

And class shares would control the fork rate of those shells:

echo 'res=numtasks,forkrate=1,forkrate_interval=1'  
'/rcfs/taskclass/config'
echo 'res=numtasks,guarantee=1000,limit=5000'  '/rcfs/taskclass/shells'

No middleware necessary.

snip 

 CKRM is in part a generalization and descendent of what I call fair
 share schedulers.  For example, the fork hooks for CKRM include a
 forkrates controller, to slow down the rate of forking of tasks using
 too much resources.
 
 No doubt the CKRM experts are already familiar with these, but for
 the possible benefit of other readers:
 
   UNICOS Resource Administration - Chapter 4. Fair-share Scheduler
   
 http://oscinfo.osc.edu:8080/dynaweb/all/004-2302-001/@Generic__BookTextView/22883
 
   SHARE II -- A User Administration and Resource Control System for UNIX
   http://www.c-side.com/c/papers/lisa-91.html
 
   Solaris Resource Manager White Paper
   http://wwws.sun.com/software/resourcemgr/wp-mixed/
 
   ON THE PERFORMANCE IMPACT OF FAIR SHARE SCHEDULING
   http://www.cs.umb.edu/~eb/goalmode/cmg2000final.htm
 
   A Fair Share Scheduler, J. Kay and P. Lauder
   Communications of the ACM, January 1988, Volume 31, Number 1, pp 44-55.
 
 The documentation that I've noticed (likely I've missed something)
 doesn't do an adequate job of making the case - providing the
 motivation and context essential to understanding this patch set.

The choice of algorithm is entirely up to the scheduler, memory
allocator, etc. CKRM currently provides an interface for reading share
values and does not impose any meaning on those shares -- that is the
role of the scheduler.

 Because CKRM provides an infrastructure for multiple controllers
 (limiting forks, memory allocation and network rates) and multiple
 classifiers and policies, its critical interfaces have rather
 generic and abstract names.  This makes it difficult for others to
 approach CKRM, reducing the rate of peer review by other Linux kernel
 developers, which is perhaps the key impediment to acceptance of CKRM.
 If anything, CKRM tends to be a little too abstract.

Generic and abstract names are appropriate for infrastructure that is
not tied to hardware. If you could be more specific I'd be able to
respond in less general and abstract terms.

snip

 My notes from many months ago indicate something about a 128 CPU
 limit in CKRM.  I don't know why, nor if it still applies.  It is
 certainly a smaller limit than the systems I care about.

I haven't seen this limitation in the CKRM patches that went into -mm
and I'd like to look into this. Where did you see this limit?


Re: 2.6.13-rc3-mm1 - breaks DRI

2005-07-21 Thread Dave Airlie
 
  I also use 2.6.13-rc3-mm1.  Will try with a previous version an report to 
  lkml if
  it works.
 
 
  I just tried 13-rc2-mm1 and dri is working again. Its reported to also work
  with 13-rc3.
 

Hmm no idea what could have broken it, I'm at OLS and don't have any
DRI capable machine here yet.. so it'll be a while before I get to
take a look at it .. I wouldn't be terribly surprised if some of the
new mapping code might have some issues..

Dave.
-
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: 2.6.13-rc3-mm1 (ckrm)

2005-07-21 Thread Paul Jackson
Matthew wrote:
 I don't see the large ifdefs you're referring to in -mm's
 kernel/sched.c.

Perhaps someone who knows CKRM better than I can explain why the CKRM
version in some SuSE releases based on 2.6.5 kernels has substantial
code and some large ifdef's in sched.c, but the CKRM in *-mm doesn't.
Or perhaps I'm confused.  There's a good chance that this represents
ongoing improvements that CKRM is making to reduce their footprint
in core kernel code.  Or perhaps there is a more sophisticated cpu
controller in the SuSE kernel.


 Have you looked at more
 recent benchmarks posted on CKRM-Tech around April 15th 2005?
 ...
 http://ckrm.sourceforge.net/downloads/ckrm-ols04-slides.pdf 

I had not seen these before.  Thanks for the pointer.


 The Rule-Based Classification Engine (RBCE) makes CKRM useful
 without middleware.

I'd be encouraged more if this went one step further, past pointing
out that the API can be manipulated from the shell without requiring C
code, to providing examples of who intends to _directly_ use this
interface. The issue is perhaps less whether it's API is naturally C or
shell code, or more of how many actual, independent, uses of this API
are known to the community.  A non-trivial API and mechanism that
is de facto captive to a single middleware implementation (which
may or may not apply here - I don't know) creates an additional review
burden, because some of the natural forces that guide us to healthy
long lasting interfaces are missing.  If that concern applies here,
it's certainly not insurmountable - but it should in my view raise the
review barrier to acceptance.  If other middleware or direct users
are not essentially performing some of the review for us, we have to do
it here with greater thoroughness.


 If you could be more specific I'd be able to
 respond in less general and abstract terms.

Good come back grin.

I made an effort along these lines last year, in the thread
I referenced a few days ago:

Classes: 1) what are they, 2) what is their name?

http://sourceforge.net/mailarchive/forum.php?thread_id=5328162forum_id=35191

I doubt that it I have much more to contribute along
these lines now.

Sorry.

 I haven't seen this limitation [128 cpus] ...

Good - I presume that there is no longer, if there ever was, such a
limitation.

Thanks for you reply.

-- 
  I won't rest till it's the best ...
  Programmer, Linux Scalability
  Paul Jackson [EMAIL PROTECTED] 1.925.600.0401
-
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: 2.6.13-rc3-mm1 (ckrm)

2005-07-21 Thread Martin J. Bligh

Paul Jackson wrote:


Matthew wrote:
 


Perhaps someone who knows CKRM better than I can explain why the CKRM
version in some SuSE releases based on 2.6.5 kernels has substantial
code and some large ifdef's in sched.c, but the CKRM in *-mm doesn't.
Or perhaps I'm confused.  There's a good chance that this represents
ongoing improvements that CKRM is making to reduce their footprint
in core kernel code.  Or perhaps there is a more sophisticated cpu
controller in the SuSE kernel.
 



No offense, but I really don't see why this matters at all ... the stuff
in -mm is what's under consideration for merging - what's in SuSE is
wholly irrelevant ? One obvious thing is that that codebase will be
much older ... would be useful if people can direct critiques at the
current codebase ;-)

M.


-
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: 2.6.13-rc3-mm1 (ckrm)

2005-07-21 Thread Peter Williams

Paul Jackson wrote:

Matthew wrote:


I don't see the large ifdefs you're referring to in -mm's
kernel/sched.c.



Perhaps someone who knows CKRM better than I can explain why the CKRM
version in some SuSE releases based on 2.6.5 kernels has substantial
code and some large ifdef's in sched.c, but the CKRM in *-mm doesn't.
Or perhaps I'm confused.  There's a good chance that this represents
ongoing improvements that CKRM is making to reduce their footprint
in core kernel code.  Or perhaps there is a more sophisticated cpu
controller in the SuSE kernel.


As there is NO CKRM cpu controller in 2.6.13-rc3-mm1 (that I can see) 
the one in 2.6.5 is certainly more sophisticated :-).  So the reason 
that the considerable mangling of sched.c evident in SuSE's 2.6.5 kernel 
source is not present is that the cpu controller is not included in 
these patches.


I imagine that the cpu controller is missing from this version of CKRM 
because the bugs introduced to the cpu controller during upgrading from 
2.6.5 to 2.6.10 version have not yet been resolved.


Peter
--
Peter Williams   [EMAIL PROTECTED]

Learning, n. The kind of ignorance distinguishing the studious.
 -- Ambrose Bierce
-
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: 2.6.13-rc3-mm1 (ckrm)

2005-07-21 Thread Gerrit Huizenga

On Fri, 22 Jul 2005 11:06:14 +1000, Peter Williams wrote:
 Paul Jackson wrote:
  Matthew wrote:
  
 I don't see the large ifdefs you're referring to in -mm's
 kernel/sched.c.
  
  
  Perhaps someone who knows CKRM better than I can explain why the CKRM
  version in some SuSE releases based on 2.6.5 kernels has substantial
  code and some large ifdef's in sched.c, but the CKRM in *-mm doesn't.
  Or perhaps I'm confused.  There's a good chance that this represents
  ongoing improvements that CKRM is making to reduce their footprint
  in core kernel code.  Or perhaps there is a more sophisticated cpu
  controller in the SuSE kernel.
 
 As there is NO CKRM cpu controller in 2.6.13-rc3-mm1 (that I can see) 
 the one in 2.6.5 is certainly more sophisticated :-).  So the reason 
 that the considerable mangling of sched.c evident in SuSE's 2.6.5 kernel 
 source is not present is that the cpu controller is not included in 
 these patches.
 
 Yeah - I don't really consider the current CPU controller code something
 ready for consideration yet for mainline merging.  That doesn't mean
 we don't want a CPU controller for CKRM - just that what we have
 doesn't integrate cleanly/nicely with mainline.

 I imagine that the cpu controller is missing from this version of CKRM 
 because the bugs introduced to the cpu controller during upgrading from 
 2.6.5 to 2.6.10 version have not yet been resolved.

 I don't know what bugs you are referring to here.  I don't think we
 have any open defects with SuSE on the CPU scheduler in their releases.
 And that is not at all related to the reason for not having a CPU
 controller in the current patch set.

gerrit
-
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: 2.6.13-rc3-mm1 (ckrm)

2005-07-21 Thread Peter Williams

Gerrit Huizenga wrote:

On Fri, 22 Jul 2005 11:06:14 +1000, Peter Williams wrote:


Paul Jackson wrote:


Matthew wrote:



I don't see the large ifdefs you're referring to in -mm's
kernel/sched.c.



Perhaps someone who knows CKRM better than I can explain why the CKRM
version in some SuSE releases based on 2.6.5 kernels has substantial
code and some large ifdef's in sched.c, but the CKRM in *-mm doesn't.
Or perhaps I'm confused.  There's a good chance that this represents
ongoing improvements that CKRM is making to reduce their footprint
in core kernel code.  Or perhaps there is a more sophisticated cpu
controller in the SuSE kernel.


As there is NO CKRM cpu controller in 2.6.13-rc3-mm1 (that I can see) 
the one in 2.6.5 is certainly more sophisticated :-).  So the reason 
that the considerable mangling of sched.c evident in SuSE's 2.6.5 kernel 
source is not present is that the cpu controller is not included in 
these patches.


 
 Yeah - I don't really consider the current CPU controller code something

 ready for consideration yet for mainline merging.  That doesn't mean
 we don't want a CPU controller for CKRM - just that what we have
 doesn't integrate cleanly/nicely with mainline.


I imagine that the cpu controller is missing from this version of CKRM 
because the bugs introduced to the cpu controller during upgrading from 
2.6.5 to 2.6.10 version have not yet been resolved.



 I don't know what bugs you are referring to here.  I don't think we
 have any open defects with SuSE on the CPU scheduler in their releases.
 And that is not at all related to the reason for not having a CPU
 controller in the current patch set.


The bugs were in the patches for the 2.6.10 kernel not SuSE's 2.6.5 
kernel.  I reported some of them to the ckrm-tech mailing list at the 
time.  There were changes to the vanilla scheduler between 2.6.5 and 
2.6.10 that were not handled properly when the CKRM scheduler was 
upgraded to the 2.6.10 kernel.


Peter
--
Peter Williams   [EMAIL PROTECTED]

Learning, n. The kind of ignorance distinguishing the studious.
 -- Ambrose Bierce
-
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: 2.6.13-rc3-mm1 (ckrm)

2005-07-21 Thread Paul Jackson
Martin wrote:
 No offense, but I really don't see why this matters at all ... the stuff
 in -mm is what's under consideration for merging - what's in SuSE is ...

Yes - what's in SuSE doesn't matter, at least not directly.

No - we are not just considering the CKRM that is in *-mm now, but also
what can be expected to be proposed as part of CKRM in the future.

If the CPU controller is not in *-mm now, but if one might reasonably
expect it to be proposed as part of CKRM in the future, then we need to
understand that.  This is perhaps especially important in this case,
where there is some reason to suspect that this additional piece is
both non-trivial and essential to CKRM's purpose.

-- 
  I won't rest till it's the best ...
  Programmer, Linux Scalability
  Paul Jackson [EMAIL PROTECTED] 1.925.600.0401
-
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: 2.6.13-rc3-mm1 (ckrm)

2005-07-21 Thread Gerrit Huizenga

On Fri, 22 Jul 2005 13:46:37 +1000, Peter Williams wrote:
 Gerrit Huizenga wrote:
 I imagine that the cpu controller is missing from this version of CKRM 
 because the bugs introduced to the cpu controller during upgrading from 
 2.6.5 to 2.6.10 version have not yet been resolved.
  
  
   I don't know what bugs you are referring to here.  I don't think we
   have any open defects with SuSE on the CPU scheduler in their releases.
   And that is not at all related to the reason for not having a CPU
   controller in the current patch set.
 
 The bugs were in the patches for the 2.6.10 kernel not SuSE's 2.6.5 
 kernel.  I reported some of them to the ckrm-tech mailing list at the 
 time.  There were changes to the vanilla scheduler between 2.6.5 and 
 2.6.10 that were not handled properly when the CKRM scheduler was 
 upgraded to the 2.6.10 kernel.

Ah - okay - that makes sense.  Those patches haven't gone through my
review yet and I'm not directly tracking their status until I figure
out what the right direction is with respect to a fair share style
scheduler of some sort.  I'm not convinced that the current one is
something that is ready for mainline or is necessarily the right answer
currently.  But we do need to figure out something that will provide
some level of CPU allocation minima  maxima for a class, where that
solution will work well on a laptop or a huge server.

Ideas in that space are welcome - I know of several proposed ideas
in progress - the scheduler in SuSE and the forward port to 2.6.10
that you referred to; an idea for building a very simple interface
on top of sched_domains for SMP systems (no fairness within a
single CPU) and a proposal for timeslice manipulation that might
provide some fairness that the Fujitsu folks are thinking about.
There are probably others and honestly, I don't have any clue yet as
to what the right long term/mainline direction should be here as yet.

gerrit
-
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: 2.6.13-rc3-mm1 (ckrm)

2005-07-21 Thread Shailabh Nagar

Mark Hahn wrote:

I suspect that the main problem is that this patch is not a mainstream
kernel feature that will gain multiple uses, but rather provides
support for a specific vendor middleware product used by that
vendor and a few closely allied vendors.  If it were smaller or
less intrusive, such as a driver, this would not be a big problem.
That's not the case.



yes, that's the crux.  CKRM is all about resolving conflicting resource 
demands in a multi-user, multi-server, multi-purpose machine.  this is a 
huge undertaking, and I'd argue that it's completely inappropriate for 
*most* servers.  that is, computers are generally so damn cheap that 
the clear trend is towards dedicating a machine to a specific purpose, 
rather than running eg, shell/MUA/MTA/FS/DB/etc all on a single machine.  


The argument about scale-up vs. scale-out is nowhere close to being 
resolved. To argue that any support for performance partitioning (which 
CKRM does) is in support of a lost cause is premature to say the least.


this is *directly* in conflict with certain prominent products, such as 
the Altix and various less-prominent Linux-based mainframes.  they're all
about partitioning/virtualization - the big-iron aesthetic of splitting up 
a single machine.  note that it's not just about big, since cluster-based 
approaches can clearly scale far past big-iron, and are in effect statically
partitioned.  yes, buying a hideously expensive single box, and then chopping 
it into little pieces is more than a little bizarre, and is mainly based

on a couple assumptions:

	- that clusters are hard.  really, they aren't.  they are not 
	necessarily higher-maintenance, can be far more robust, usually
	do cost less.  just about the only bad thing about clusters is 
	that they tend to be somewhat larger in size.


	- that partitioning actually makes sense.  the appeal is that if 
	you have a partition to yourself, you can only hurt yourself.
	but it also follows that burstiness in resource demand cannot be 
	overlapped without either constantly tuning the partitions or 
	infringing on the guarantee.


constantly tuning the partitions is effectively whats done by workload 
managers. But our earlier presentations and papers have made the case 
that this is not the only utility for performance isolation - simple 
needs like isolating one user from another on a general purpose server 
is also a need that cannot be met by any existing or proposed Linux 
kernel mechanisms today.


If partitioning made so little sense and the case for clusters was that 
obvious, one would be hard put to explain why server consolidation is 
being actively pursued by so many firms, Solaris is bothering with 
coming up with Containers and Xen/VMWare getting all this attention.

I don't think the concept of partitioning can be dismissed so easily.

Of course, it must be noted that CKRM only provides performance 
isolation not fault isolation. But there is a need for that. Whether 
Linux chooses to let this need influence its design is another matter 
(which I hope we'll also discuss besides the implementation issues).



CKRM is one of those things that could be done to Linux, and will benefit a
few, but which will almost certainly hurt *most* of the community.

let me say that the CKRM design is actually quite good.  the issue is whether 
the extensive hooks it requires can be done (at all) in a way which does 
not disporportionately hurt maintainability or efficiency.


If there are suggestions on implementing this better, it'll certainly be 
very welcome.




CKRM requires hooks into every resource-allocation decision fastpath:
- if CKRM is not CONFIG, the only overhead is software maintenance.
- if CKRM is CONFIG but not loaded, the overhead is a pointer check.
- if CKRM is CONFIG and loaded, the overhead is a pointer check
and a nontrivial callback.

but really, this is only for CKRM-enforced limits.  CKRM really wants to
change behavior in a more weighted way, not just causing an
allocation/fork/packet to fail.  a really meaningful CKRM needs to 
be tightly integrated into each resource manager - effecting each scheduler
(process, memory, IO, net).  I don't really see how full-on CKRM can be 
compiled out, unless these schedulers are made fully pluggable.


This is a valid point for the CPU, memory and network controllers (I/O 
can be made pluggable quite easily). For the CPU controller in SuSE, the 
CKRM CPU controller can be turned on and off dynamically at runtime. 
Exploring a similar option for  memory and network (incurring only a 
pointer check) could be explored. Keeping the overhead close to zero for 
kernel users not interested in CKRM is certainly one of our objectives.


finally, I observe that pluggable, class-based resource _limits_ could 
probably be done without callbacks and potentially with low overhead.
but mere limits doesn't meet CKRM's goal of flexible, wide-spread resource 
partitioning within a 

Re: 2.6.13-rc3-mm1 (ckrm)

2005-07-21 Thread Shailabh Nagar

Paul Jackson wrote:

Martin wrote:


No offense, but I really don't see why this matters at all ... the stuff
in -mm is what's under consideration for merging - what's in SuSE is ...



Yes - what's in SuSE doesn't matter, at least not directly.

No - we are not just considering the CKRM that is in *-mm now, but also
what can be expected to be proposed as part of CKRM in the future.

If the CPU controller is not in *-mm now, but if one might reasonably
expect it to be proposed as part of CKRM in the future, then we need to
understand that.  This is perhaps especially important in this case,
where there is some reason to suspect that this additional piece is
both non-trivial and essential to CKRM's purpose.



The CKRM design explicitly considered this problem of some controllers 
being more unacceptable than the rest and part of the indirections 
introduced in CKRM are to allow the kernel community the flexibility of 
cherry-picking acceptable controllers. So if the current CPU controller 
  implementation is considered too intrusive/unacceptable, it can be 
reworked or (and we certainly hope not) even rejected in perpetuity. 
Same for the other controllers as and when they're introduced and 
proposed for inclusion.



-- Shailabh




-
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: 2.6.13-rc3-mm1 (ckrm)

2005-07-21 Thread Gerrit Huizenga

Sorry - I didn't see Mark's original comment, so I'm replying to
a reply which I did get.  ;-)

On Thu, 21 Jul 2005 23:59:09 EDT, Shailabh Nagar wrote:
 Mark Hahn wrote:
 I suspect that the main problem is that this patch is not a mainstream
 kernel feature that will gain multiple uses, but rather provides
 support for a specific vendor middleware product used by that
 vendor and a few closely allied vendors.  If it were smaller or
 less intrusive, such as a driver, this would not be a big problem.
 That's not the case.
  
  
  yes, that's the crux.  CKRM is all about resolving conflicting resource 
  demands in a multi-user, multi-server, multi-purpose machine.  this is a 
  huge undertaking, and I'd argue that it's completely inappropriate for 
  *most* servers.  that is, computers are generally so damn cheap that 
  the clear trend is towards dedicating a machine to a specific purpose, 
  rather than running eg, shell/MUA/MTA/FS/DB/etc all on a single machine.  
 
This is a big NAK - if computers are so damn cheap, why is virtualization
and consolidation such a big deal?  Well, the answer is actually that
floor space, heat, and power are also continuing to be very important
in the overall equation.  And, buying machines which are dedicated but
often 80-99% idle occasionally bothers people who are concerned about
wasting planetary resources for no good reason.  Yeah, we can stamp out
thousands of metal boxes, but if just a couple can do the same work,
well, let's consolidate.  Less wasted metal, less wasted heat, less
wasted power, less air conditioning, wow, we are now part of the
eco-computing movement!  ;-)

  this is *directly* in conflict with certain prominent products, such as 
  the Altix and various less-prominent Linux-based mainframes.  they're all
  about partitioning/virtualization - the big-iron aesthetic of splitting up 
  a single machine.  note that it's not just about big, since cluster-based 
  approaches can clearly scale far past big-iron, and are in effect statically
  partitioned.  yes, buying a hideously expensive single box, and then 
  chopping 
  it into little pieces is more than a little bizarre, and is mainly based
  on a couple assumptions:

Well, yeah IBM has been doing this virtualization  partitioning stuff
for ages at lots of different levels for lots of reasons.  If we are
in such direct conflict with Altix, aren't we also in conflict with our
own lines of business which do the same thing?  But, well, we aren't
in conflict - this is a complementary part of our overall capabilities.

  - that clusters are hard.  really, they aren't.  they are not 
  necessarily higher-maintenance, can be far more robust, usually
  do cost less.  just about the only bad thing about clusters is 
  that they tend to be somewhat larger in size.

This is orthogonal to clusters.  Or, well, we are even using CKRM today
is some grid/cluster style applications.  But that has no bearing on
whether or not clusters is useful.

  - that partitioning actually makes sense.  the appeal is that if 
  you have a partition to yourself, you can only hurt yourself.
  but it also follows that burstiness in resource demand cannot be 
  overlapped without either constantly tuning the partitions or 
  infringing on the guarantee.
 
Well, if you don't think it makes sense, don't buy one.  And stay away
from Xen, VMware, VirtualIron, PowerPC/pSeries hardware, Mainframes,
Altix, IA64 platforms, Intel VT, AMD Pacifica, and, well, anyone else
that is working to support virtualization, which is one key level of
partitioning.

I'm sorry but I'm not buying your argument here at all - it just has
no relationship to what's going on at the user side as near as I can
tell.

  CKRM is one of those things that could be done to Linux, and will benefit a
  few, but which will almost certainly hurt *most* of the community.
  
  let me say that the CKRM design is actually quite good.  the issue is 
  whether 
  the extensive hooks it requires can be done (at all) in a way which does 
  not disporportionately hurt maintainability or efficiency.
 
Can you be more clear on how this will hurt *most* of the community?
CKRM when not in use is not in any way intrusive.  Can you take a look
at the patch again and point out the extensive hooks for me?  I've
looked at all of them and I have trouble calling a couple of callbacks
extensive hooks.

  CKRM requires hooks into every resource-allocation decision fastpath:
  - if CKRM is not CONFIG, the only overhead is software maintenance.
  - if CKRM is CONFIG but not loaded, the overhead is a pointer check.
  - if CKRM is CONFIG and loaded, the overhead is a pointer check
  and a nontrivial callback.

You left out a case here:  CKRM is CONFIG and loaded and classes are
defined.

In all of the cases that you mentioned, if there are no classes
defined, the overhead is still unmeasurable for any real workload.
Refer to the archives 

Re: 2.6.13-rc3-mm1 (ckrm)

2005-07-21 Thread Mark Hahn
   yes, that's the crux.  CKRM is all about resolving conflicting resource 
   demands in a multi-user, multi-server, multi-purpose machine.  this is a 
   huge undertaking, and I'd argue that it's completely inappropriate for 
   *most* servers.  that is, computers are generally so damn cheap that 
   the clear trend is towards dedicating a machine to a specific purpose, 
   rather than running eg, shell/MUA/MTA/FS/DB/etc all on a single machine.  
  
 This is a big NAK - if computers are so damn cheap, why is virtualization
 and consolidation such a big deal?  Well, the answer is actually that

yes, you did miss my point.  I'm actually arguing that it's bad design
to attempt to arbitrate within a single shared user-space.  you make 
the fast path slower and less maintainable.  if you are really concerned
about isolating many competing servers on a single piece of hardware, then
run separate virtualized environments, each with its own user-space.

-
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: 2.6.13-rc3-mm1 (ckrm)

2005-07-21 Thread Gerrit Huizenga

On Fri, 22 Jul 2005 00:53:58 EDT, Mark Hahn wrote:
yes, that's the crux.  CKRM is all about resolving conflicting resource 
demands in a multi-user, multi-server, multi-purpose machine.  this is 
a 
huge undertaking, and I'd argue that it's completely inappropriate for 
*most* servers.  that is, computers are generally so damn cheap that 
the clear trend is towards dedicating a machine to a specific purpose, 
rather than running eg, shell/MUA/MTA/FS/DB/etc all on a single 
machine.  
   
  This is a big NAK - if computers are so damn cheap, why is virtualization
  and consolidation such a big deal?  Well, the answer is actually that
 
 yes, you did miss my point.  I'm actually arguing that it's bad design
 to attempt to arbitrate within a single shared user-space.  you make 
 the fast path slower and less maintainable.  if you are really concerned
 about isolating many competing servers on a single piece of hardware, then
 run separate virtualized environments, each with its own user-space.

I'm willing to agree to disagree.  I'm in favor of full virtualization
as well, as it is appropriate to certain styles of workloads.  I also
have enough end users who also want to share user level, share tasks,
yet also have some level of balancing between the resource consumption
of the various environments.  I don't think you are one of those end
users, though.  I don't think I'm required to make everyone happy all
the time.  ;)

BTW, does your mailer purposefully remove cc:'s?  Seems like that is
normally considered impolite.

gerrit
-
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: 2.6.13-rc3-mm1 (ckrm)

2005-07-21 Thread Mark Hahn
 of the various environments.  I don't think you are one of those end
 users, though.  I don't think I'm required to make everyone happy all
 the time.  ;)

the issue is whether CKRM (in it's real form, not this thin edge)
will noticably hurt Linux's fast-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/


Re: 2.6.13-rc3-mm1 (ckrm)

2005-07-20 Thread Paul Jackson
Well said, Mark.  Thanks.

-- 
  I won't rest till it's the best ...
  Programmer, Linux Scalability
  Paul Jackson <[EMAIL PROTECTED]> 1.925.600.0401
-
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: 2.6.13-rc3-mm1 (ckrm)

2005-07-20 Thread Paul Jackson
Well said, Mark.  Thanks.

-- 
  I won't rest till it's the best ...
  Programmer, Linux Scalability
  Paul Jackson [EMAIL PROTECTED] 1.925.600.0401
-
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/


[PATCH 2.6.13-rc3-mm1] v9fs: Replace v9fs_block_bits() with fls()

2005-07-19 Thread ericvh
Replace v9fs_block_bits() with fls()

Originally from Rene Scharfe.

Signed-off-by: Eric Van Hensbergen <[EMAIL PROTECTED]>

---
commit f2a177d5cc8ba35ac8473961def629890d30a2f7
tree d81534c54698cb502bf7810488b03be36f36a528
parent 76ebbc7869a06014e638ad72148c375cf6644655
author Eric Van Hensbergen <[EMAIL PROTECTED]> Tue, 19 Jul 2005 09:29:15 -0500
committer Eric Van Hensbergen <[EMAIL PROTECTED]> Tue, 19 Jul 2005 09:29:15 
-0500

 fs/9p/vfs_super.c |   33 +++--
 1 files changed, 3 insertions(+), 30 deletions(-)

diff --git a/fs/9p/vfs_super.c b/fs/9p/vfs_super.c
--- a/fs/9p/vfs_super.c
+++ b/fs/9p/vfs_super.c
@@ -25,6 +25,7 @@
  *
  */
 
+#include 
 #include 
 #include 
 #include 
@@ -74,34 +75,6 @@ static int v9fs_set_super(struct super_b
 }
 
 /**
- * v9fs_block_bits - Determine bits in blocksize (from NFS Code)
- * @bsize: blocksize
- * @nrbitsp: number of bits
- *
- * this bit from linux/fs/nfs/inode.c
- * Copyright (C) 1992  Rick Sladkey
- * XXX - shouldn't there be a global linux function for this?
- *
- */
-
-static inline unsigned long
-v9fs_block_bits(unsigned long bsize, unsigned char *nrbitsp)
-{
-   /* make sure blocksize is a power of two */
-   if ((bsize & (bsize - 1)) || nrbitsp) {
-   unsigned char nrbits;
-
-   for (nrbits = 31; nrbits && !(bsize & (1 << nrbits));
-nrbits--) ;
-   bsize = 1 << nrbits;
-   if (nrbitsp)
-   *nrbitsp = nrbits;
-   }
-
-   return bsize;
-}
-
-/**
  * v9fs_fill_super - populate superblock with info
  * @sb: superblock
  * @v9ses: session information
@@ -113,8 +86,8 @@ v9fs_fill_super(struct super_block *sb, 
int flags)
 {
sb->s_maxbytes = MAX_LFS_FILESIZE;
-   sb->s_blocksize =
-   v9fs_block_bits(v9ses->maxdata, >s_blocksize_bits);
+   sb->s_blocksize_bits = fls(v9ses->maxdata - 1);
+   sb->s_blocksize = 1 << sb->s_blocksize_bits;
sb->s_magic = V9FS_MAGIC;
sb->s_op = _super_ops;
 
-
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: 2.6.13-rc3-mm1

2005-07-19 Thread Coywolf Qi Hunt
On 7/15/05, Andrew Morton <[EMAIL PROTECTED]> wrote:
> 
> 
> Changes since 2.6.13-rc2-mm2:
> 
> 
>  git-drm.patch
>  git-audit.patch
>  git-input.patch
>  git-kbuild.patch

make help br0ken, missing matching `'' for binrpm-pkg.

-- 
Coywolf Qi Hunt
http://ahbl.org/~coywolf/
-
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: 2.6.13-rc3-mm1

2005-07-19 Thread Coywolf Qi Hunt
On 7/15/05, Andrew Morton [EMAIL PROTECTED] wrote:
 
 
 Changes since 2.6.13-rc2-mm2:
 
 
  git-drm.patch
  git-audit.patch
  git-input.patch
  git-kbuild.patch

make help br0ken, missing matching `'' for binrpm-pkg.

-- 
Coywolf Qi Hunt
http://ahbl.org/~coywolf/
-
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/


[PATCH 2.6.13-rc3-mm1] v9fs: Replace v9fs_block_bits() with fls()

2005-07-19 Thread ericvh
Replace v9fs_block_bits() with fls()

Originally from Rene Scharfe.

Signed-off-by: Eric Van Hensbergen [EMAIL PROTECTED]

---
commit f2a177d5cc8ba35ac8473961def629890d30a2f7
tree d81534c54698cb502bf7810488b03be36f36a528
parent 76ebbc7869a06014e638ad72148c375cf6644655
author Eric Van Hensbergen [EMAIL PROTECTED] Tue, 19 Jul 2005 09:29:15 -0500
committer Eric Van Hensbergen [EMAIL PROTECTED] Tue, 19 Jul 2005 09:29:15 
-0500

 fs/9p/vfs_super.c |   33 +++--
 1 files changed, 3 insertions(+), 30 deletions(-)

diff --git a/fs/9p/vfs_super.c b/fs/9p/vfs_super.c
--- a/fs/9p/vfs_super.c
+++ b/fs/9p/vfs_super.c
@@ -25,6 +25,7 @@
  *
  */
 
+#include linux/kernel.h
 #include linux/config.h
 #include linux/module.h
 #include linux/errno.h
@@ -74,34 +75,6 @@ static int v9fs_set_super(struct super_b
 }
 
 /**
- * v9fs_block_bits - Determine bits in blocksize (from NFS Code)
- * @bsize: blocksize
- * @nrbitsp: number of bits
- *
- * this bit from linux/fs/nfs/inode.c
- * Copyright (C) 1992  Rick Sladkey
- * XXX - shouldn't there be a global linux function for this?
- *
- */
-
-static inline unsigned long
-v9fs_block_bits(unsigned long bsize, unsigned char *nrbitsp)
-{
-   /* make sure blocksize is a power of two */
-   if ((bsize  (bsize - 1)) || nrbitsp) {
-   unsigned char nrbits;
-
-   for (nrbits = 31; nrbits  !(bsize  (1  nrbits));
-nrbits--) ;
-   bsize = 1  nrbits;
-   if (nrbitsp)
-   *nrbitsp = nrbits;
-   }
-
-   return bsize;
-}
-
-/**
  * v9fs_fill_super - populate superblock with info
  * @sb: superblock
  * @v9ses: session information
@@ -113,8 +86,8 @@ v9fs_fill_super(struct super_block *sb, 
int flags)
 {
sb-s_maxbytes = MAX_LFS_FILESIZE;
-   sb-s_blocksize =
-   v9fs_block_bits(v9ses-maxdata, sb-s_blocksize_bits);
+   sb-s_blocksize_bits = fls(v9ses-maxdata - 1);
+   sb-s_blocksize = 1  sb-s_blocksize_bits;
sb-s_magic = V9FS_MAGIC;
sb-s_op = v9fs_super_ops;
 
-
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: 2.6.13-rc3-mm1

2005-07-18 Thread Joseph Fannin
On Sat, Jul 16, 2005 at 09:32:49PM -0400,  wrote:
> On Fri, Jul 15, 2005 at 01:36:53AM -0700, Andrew Morton wrote:
> > 
>  
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13-rc3/2.6.13-rc3-mm1/
>  
> > +suspend-update-documentation.patch
> > +swsusp-fix-printks-and-cleanups.patch
> > +swsusp-fix-remaining-u32-vs-pm_message_t-confusion.patch
> > +swsusp-switch-pm_message_t-to-struct.patch
> > +swsusp-switch-pm_message_t-to-struct-pmac_zilog-fix.patch
> > +swsusp-switch-pm_message_t-to-struct-ppc32-fixes.patch
> > +fix-pm_message_t-stuff-in-mm-tree-netdev.patch
> 

I needed this little patch too.  It's boot-tested; I have a MESH
controller.

Thanks!

-

diff -aurN linux-2.6.13-rc3-mm1/drivers/scsi/mesh.c 
linux-2.6.13-rc3-mm1_changed/drivers/scsi/mesh.c
--- linux-2.6.13-rc3-mm1/drivers/scsi/mesh.c2005-07-16 01:46:44.0 
-0400
+++ linux-2.6.13-rc3-mm1_changed/drivers/scsi/mesh.c2005-07-18 
07:52:04.0 -0400
@@ -1766,7 +1766,7 @@
struct mesh_state *ms = (struct mesh_state *)macio_get_drvdata(mdev);
unsigned long flags;
 
-   if (state == mdev->ofdev.dev.power.power_state || state < 2)
+   if (state.event == mdev->ofdev.dev.power.power_state.event || 
state.event < 2)
return 0;
 
scsi_block_requests(ms->host);
@@ -1781,7 +1781,7 @@
disable_irq(ms->meshintr);
set_mesh_power(ms, 0);
 
-   mdev->ofdev.dev.power.power_state = state;
+   mdev->ofdev.dev.power.power_state.event = state.event;
 
return 0;
 }
@@ -1791,7 +1791,7 @@
struct mesh_state *ms = (struct mesh_state *)macio_get_drvdata(mdev);
unsigned long flags;
 
-   if (mdev->ofdev.dev.power.power_state == 0)
+   if (mdev->ofdev.dev.power.power_state.event == 0)
return 0;
 
set_mesh_power(ms, 1);
@@ -1802,7 +1802,7 @@
enable_irq(ms->meshintr);
scsi_unblock_requests(ms->host);
 
-   mdev->ofdev.dev.power.power_state = 0;
+   mdev->ofdev.dev.power.power_state.event = 0;
 
return 0;
 }


-- 
Joseph Fannin
[EMAIL PROTECTED]

"That's all I have to say about that." -- Forrest Gump.
-
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/


[PATCH 2.6.13-rc3-mm1] connector: fix missing dependencies in Kconfig

2005-07-18 Thread Guillaume Thouvenin
Hello Andrew,

  This patch fixes missing dependencies in drivers/connector/Kconfig
file. We have to ensure that the dependencies of the selected variable
are fulfilled otherwise it can produce some undefined references
during the kernel compilation. This problem was reported by Adrian Bunk.

Signed-off-by: [EMAIL PROTECTED]
Signed-off-by: Adrian Bunk <[EMAIL PROTECTED]>

---

Index: linux-2.6.13-rc3-mm1/drivers/connector/Kconfig
===
--- linux-2.6.13-rc3-mm1.orig/drivers/connector/Kconfig 2005-07-18 
13:35:26.0 +0200
+++ linux-2.6.13-rc3-mm1/drivers/connector/Kconfig  2005-07-18 
13:37:43.0 +0200
@@ -12,6 +12,7 @@ config CONNECTOR
 
 config EXIT_CONNECTOR
bool "Enable exit connector"
+   depends on NET
select CONNECTOR
default y
---help---
@@ -23,6 +24,7 @@ config EXIT_CONNECTOR
 
 config FORK_CONNECTOR
bool "Enable fork connector"
+   depends on NET
select CONNECTOR
default y
---help---
-
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: 2.6.13-rc3-mm1

2005-07-18 Thread Pavel Machek
Hi!

> I'm getting this (on ppc32, though I don't think it matters):
> 
>   CC  drivers/video/chipsfb.o
> drivers/video/chipsfb.c: In function `chipsfb_pci_suspend':
> drivers/video/chipsfb.c:465: error: invalid operands to binary ==
> drivers/video/chipsfb.c:467: error: invalid operands to binary !=
> make[3]: *** [drivers/video/chipsfb.o] Error 1
> make[2]: *** [drivers/video] Error 2
> make[1]: *** [drivers] Error 2
> make[1]: Leaving directory
> `/usr/src/linux-ctesiphon/linux-2.6.13-rc3-mm1'
> make: *** [stamp-build] Error 2
> 
> The above-quoted patches seem to be the culprit, but my feeble
> attempts at making a patch didn't work out.

Should be easy. Just add .event at right places...

> But I can't help but notice that every linux-suspend HOWTO tells
> you to patch in swsusp2 as a first step -- the consensus seems to be
> that it you want clean and conservative code, use swsusp1; if you want
> suspending to *work*, use swsusp2.  How many people are actually able
> to make use of swsusp1?  Is anyone testing it besides Mr. Machek?

SuSE ships it in production, so I believe we have at least as many
users as suspend2...
Pavel
-- 
teflon -- maybe it is a trademark, but it should not be.
-
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: 2.6.13-rc3-mm1 (ckrm)

2005-07-18 Thread Hirokazu Takahashi
Hi,

> > What, in your opinion, makes it "obviously unmergeable"?

Controlling resource assignment, I think that concept is good.
But the design is another matter that it seems somewhat overkilled
with the current CKRM.

> I suspect that the main problem is that this patch is not a mainstream
> kernel feature that will gain multiple uses, but rather provides
> support for a specific vendor middleware product used by that
> vendor and a few closely allied vendors.  If it were smaller or
> less intrusive, such as a driver, this would not be a big problem.
> That's not the case.

I believe this feature would also make desktop users happier -- controlling
X-server, mpeg player, video capturing and all that -- if the code
becomes much simpler and easier to use.

> A major restructuring of this patch set could be considered,  This
> might involve making the metric tools (that monitor memory, fork
> and network usage rates per task) separate patches useful for other
> purposes.  It might also make the rate limiters in fork, alloc and
> network i/o separately useful patches.  I mean here genuinely useful
> and understandable in their own right, independent of some abstract
> CKRM framework.

That makes sense.

> Though hints have been dropped, I have not seen any public effort to
> integrate CKRM with either cpusets or scheduler domains or process
> accounting.  By this I don't mean recoding cpusets using the CKRM
> infrastructure; that proposal received _extensive_ consideration
> earlier, and I am as certain as ever that it made no sense.  Rather I
> could imagine the CKRM folks extending cpusets to manage resources
> on a per-cpuset basis, not just on a per-task or task class basis.
> Similarly, it might make sense to use CKRM to manage resources on
> a per-sched domain basis, and to integrate the resource tracking
> of CKRM with the resource tracking needs of system accounting.

>From a standpoint of the users, CKRM and CPUSETS should be managed
seamlessly through the same interface though I'm not sure whether
your idea is the best yet.


Thanks,
Hirokazu Takahashi.
-
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: 2.6.13-rc3-mm1 (ckrm)

2005-07-18 Thread Hirokazu Takahashi
Hi,

  What, in your opinion, makes it obviously unmergeable?

Controlling resource assignment, I think that concept is good.
But the design is another matter that it seems somewhat overkilled
with the current CKRM.

 I suspect that the main problem is that this patch is not a mainstream
 kernel feature that will gain multiple uses, but rather provides
 support for a specific vendor middleware product used by that
 vendor and a few closely allied vendors.  If it were smaller or
 less intrusive, such as a driver, this would not be a big problem.
 That's not the case.

I believe this feature would also make desktop users happier -- controlling
X-server, mpeg player, video capturing and all that -- if the code
becomes much simpler and easier to use.

 A major restructuring of this patch set could be considered,  This
 might involve making the metric tools (that monitor memory, fork
 and network usage rates per task) separate patches useful for other
 purposes.  It might also make the rate limiters in fork, alloc and
 network i/o separately useful patches.  I mean here genuinely useful
 and understandable in their own right, independent of some abstract
 CKRM framework.

That makes sense.

 Though hints have been dropped, I have not seen any public effort to
 integrate CKRM with either cpusets or scheduler domains or process
 accounting.  By this I don't mean recoding cpusets using the CKRM
 infrastructure; that proposal received _extensive_ consideration
 earlier, and I am as certain as ever that it made no sense.  Rather I
 could imagine the CKRM folks extending cpusets to manage resources
 on a per-cpuset basis, not just on a per-task or task class basis.
 Similarly, it might make sense to use CKRM to manage resources on
 a per-sched domain basis, and to integrate the resource tracking
 of CKRM with the resource tracking needs of system accounting.

From a standpoint of the users, CKRM and CPUSETS should be managed
seamlessly through the same interface though I'm not sure whether
your idea is the best yet.


Thanks,
Hirokazu Takahashi.
-
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: 2.6.13-rc3-mm1

2005-07-18 Thread Pavel Machek
Hi!

 I'm getting this (on ppc32, though I don't think it matters):
 
   CC  drivers/video/chipsfb.o
 drivers/video/chipsfb.c: In function `chipsfb_pci_suspend':
 drivers/video/chipsfb.c:465: error: invalid operands to binary ==
 drivers/video/chipsfb.c:467: error: invalid operands to binary !=
 make[3]: *** [drivers/video/chipsfb.o] Error 1
 make[2]: *** [drivers/video] Error 2
 make[1]: *** [drivers] Error 2
 make[1]: Leaving directory
 `/usr/src/linux-ctesiphon/linux-2.6.13-rc3-mm1'
 make: *** [stamp-build] Error 2
 
 The above-quoted patches seem to be the culprit, but my feeble
 attempts at making a patch didn't work out.

Should be easy. Just add .event at right places...

 But I can't help but notice that every linux-suspend HOWTO tells
 you to patch in swsusp2 as a first step -- the consensus seems to be
 that it you want clean and conservative code, use swsusp1; if you want
 suspending to *work*, use swsusp2.  How many people are actually able
 to make use of swsusp1?  Is anyone testing it besides Mr. Machek?

SuSE ships it in production, so I believe we have at least as many
users as suspend2...
Pavel
-- 
teflon -- maybe it is a trademark, but it should not be.
-
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/


[PATCH 2.6.13-rc3-mm1] connector: fix missing dependencies in Kconfig

2005-07-18 Thread Guillaume Thouvenin
Hello Andrew,

  This patch fixes missing dependencies in drivers/connector/Kconfig
file. We have to ensure that the dependencies of the selected variable
are fulfilled otherwise it can produce some undefined references
during the kernel compilation. This problem was reported by Adrian Bunk.

Signed-off-by: [EMAIL PROTECTED]
Signed-off-by: Adrian Bunk [EMAIL PROTECTED]

---

Index: linux-2.6.13-rc3-mm1/drivers/connector/Kconfig
===
--- linux-2.6.13-rc3-mm1.orig/drivers/connector/Kconfig 2005-07-18 
13:35:26.0 +0200
+++ linux-2.6.13-rc3-mm1/drivers/connector/Kconfig  2005-07-18 
13:37:43.0 +0200
@@ -12,6 +12,7 @@ config CONNECTOR
 
 config EXIT_CONNECTOR
bool Enable exit connector
+   depends on NET
select CONNECTOR
default y
---help---
@@ -23,6 +24,7 @@ config EXIT_CONNECTOR
 
 config FORK_CONNECTOR
bool Enable fork connector
+   depends on NET
select CONNECTOR
default y
---help---
-
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: 2.6.13-rc3-mm1

2005-07-18 Thread Joseph Fannin
On Sat, Jul 16, 2005 at 09:32:49PM -0400,  wrote:
 On Fri, Jul 15, 2005 at 01:36:53AM -0700, Andrew Morton wrote:
  
  
 ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13-rc3/2.6.13-rc3-mm1/
  
  +suspend-update-documentation.patch
  +swsusp-fix-printks-and-cleanups.patch
  +swsusp-fix-remaining-u32-vs-pm_message_t-confusion.patch
  +swsusp-switch-pm_message_t-to-struct.patch
  +swsusp-switch-pm_message_t-to-struct-pmac_zilog-fix.patch
  +swsusp-switch-pm_message_t-to-struct-ppc32-fixes.patch
  +fix-pm_message_t-stuff-in-mm-tree-netdev.patch
 

I needed this little patch too.  It's boot-tested; I have a MESH
controller.

Thanks!

-

diff -aurN linux-2.6.13-rc3-mm1/drivers/scsi/mesh.c 
linux-2.6.13-rc3-mm1_changed/drivers/scsi/mesh.c
--- linux-2.6.13-rc3-mm1/drivers/scsi/mesh.c2005-07-16 01:46:44.0 
-0400
+++ linux-2.6.13-rc3-mm1_changed/drivers/scsi/mesh.c2005-07-18 
07:52:04.0 -0400
@@ -1766,7 +1766,7 @@
struct mesh_state *ms = (struct mesh_state *)macio_get_drvdata(mdev);
unsigned long flags;
 
-   if (state == mdev-ofdev.dev.power.power_state || state  2)
+   if (state.event == mdev-ofdev.dev.power.power_state.event || 
state.event  2)
return 0;
 
scsi_block_requests(ms-host);
@@ -1781,7 +1781,7 @@
disable_irq(ms-meshintr);
set_mesh_power(ms, 0);
 
-   mdev-ofdev.dev.power.power_state = state;
+   mdev-ofdev.dev.power.power_state.event = state.event;
 
return 0;
 }
@@ -1791,7 +1791,7 @@
struct mesh_state *ms = (struct mesh_state *)macio_get_drvdata(mdev);
unsigned long flags;
 
-   if (mdev-ofdev.dev.power.power_state == 0)
+   if (mdev-ofdev.dev.power.power_state.event == 0)
return 0;
 
set_mesh_power(ms, 1);
@@ -1802,7 +1802,7 @@
enable_irq(ms-meshintr);
scsi_unblock_requests(ms-host);
 
-   mdev-ofdev.dev.power.power_state = 0;
+   mdev-ofdev.dev.power.power_state.event = 0;
 
return 0;
 }


-- 
Joseph Fannin
[EMAIL PROTECTED]

That's all I have to say about that. -- Forrest Gump.
-
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: 2.6.13-rc3-mm1: mount problems w/ 3ware on dual Opteron

2005-07-17 Thread Rafael J. Wysocki
On Friday, 15 of July 2005 10:36, Andrew Morton wrote:
> 
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13-rc3/2.6.13-rc3-mm1/
> 
> (http://www.zip.com.au/~akpm/linux/patches/stuff/2.6.13-rc3-mm1.gz until
> kernel.org syncs up)

Apparently, mount does not work with partitions located on a 3ware RAID
(8006-2PL controller) in a dual-Opteron box (64-bit kernel).

If the kernel is configured with preemption and NUMA, it cannot mount any
"real" filesystems and the output of "mount" is the following:

rootfs on / type ext3 (rw)
/dev/root on / type ext3 (rw)
proc on /proc type proc (rw,nodiratime)
sysfs on /sys type sysfs (rw)
tmpfs on /dev/shm type tmpfs (rw)

(hand-copied from the screen).  I have tried some other combinations (ie.
preemption w/o NUMA, NUMA w/o preemption etc.) and it seems that it works
better with CONFIG_PREEMPT_NONE set, although even it this case some
filesystems are mounted read-only.

The mainline kernels (ie. -rc3 and -rc3-git[1-4]) have no such problems.

Greets,
Rafael


-- 
- Would you tell me, please, which way I ought to go from here?
- That depends a good deal on where you want to get to.
-- Lewis Carroll "Alice's Adventures in Wonderland"
-
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: 2.6.13-rc3-mm1: a regression

2005-07-17 Thread Rafael J. Wysocki
On Saturday, 16 of July 2005 23:39, Andrew Morton wrote:
> "Rafael J. Wysocki" <[EMAIL PROTECTED]> wrote:
> >
> > On Friday, 15 of July 2005 10:36, Andrew Morton wrote:
> >  > 
> >  > 
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.13-rc3/2.6.13-rc3-mm1/
> >  > 
> >  > (http://www.zip.com.au/~akpm/linux/patches/stuff/2.6.13-rc3-mm1.gz until
> >  > kernel.org syncs up)
> > 
> >  There seems to be a regression wrt 2.6.13-rc3 which causes my box (Asus 
> > L5D,
> >  Athlon 64 + nForce3) to hang solid during resume from disk on battery 
> > power.
> > 
> >  First, 2.6.13-rc3-mm1 is affected by the problems described at:
> >  http://bugzilla.kernel.org/show_bug.cgi?id=4416
> >  http://bugzilla.kernel.org/show_bug.cgi?id=4665
> >  These problems go away after applying the two attached patches.  Then, the
> >  box resumes on AC power but hangs solid during resume on battery power.
> >  The problem is 100% reproducible and I think it's related to ACPI.
> 
> That recent acpi merge seems to have damaged a number of people...
> 
> Are you able to test Linus's latest -git spanshot?  See if there's a
> difference between -linus and -mm behaviour?

I was afraid you would say so. ;-)

The -rc3-git-[2-4] kernels are unaffected by the problem described, so it seems
to be specific to -rc3-mm1.

Greets,
Rafael


-- 
- Would you tell me, please, which way I ought to go from here?
- That depends a good deal on where you want to get to.
-- Lewis Carroll "Alice's Adventures in Wonderland"
-
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/


  1   2   >