[PATCH] mm/page-writeback - highmem_is_dirtyable option (replaces dirty_highmem patch)

2007-11-27 Thread Bron Gondwana
On Tue, Nov 27, 2007 at 11:10:28PM +1100, Bron Gondwana wrote:
> On Mon, Nov 26, 2007 at 09:53:15PM -0800, Andrew Morton wrote:
> > umm, really you want
> > /proc/sys/vm/dont-account-highmem-in-dirty-memory-calculations, only
> > shorter.
> > 
> > Do you agree?
> 
> I still read dirty_highmem as:
> 
> /proc/sys/vm/do-account-highmem-in-dirty-memory-calculations
> 
> ... so we're still talking one negative apart!
> 
> > It would be simpler to have
> > /proc/sys/vm/do-account-highmem-in-dirty-memory-calculations,
> > defaulting to "true" - this has no negations.
> 
> No, that's not true.  The whole point is that between 2.6.16 and
> 2.6.20 the kernel behaviour changed.  It currently doesn't count
> highmem in dirty memory calculations, which is why the memory pressure
> appears to be so great when actually there's still 4Gb of unused
> memory in the box.
> 
> > OK, I give up.  Please see if you can think of something less confusing
> > which involves no negations?
> 
> I think this might be slightly clearer:
> 
> /proc/sys/vm/highmem_is_dirtyable - defaults to false
> 
> [ ... ]
> 
> Would you like me to re-submit the patch based on this?  I'm
> certainly not happy with dirty_highmem as it is now in mm
> because it looks backwards and unclear to me.

Well, it was quick enough to just do - here's the patch.  I've
also updated the documentation a bit to clarify the intention and
the reasons why you might want to use it (based in part on the 
comments to the original change that made highmem uncountable for
dirtyness purposes)

Tested and applied against 2.6.23.9 (our build script makes Debian
packages from a clean unpack of kernel major plus patch minor plus
svn checkout of out quilt series and apply regardless, so it was
just as easy to bump the version number while I was at it).

Builds, boots, passes a quick run of the test program I used last
time around.

Bron.

Add vm.highmem_is_dirtyable toggle

A 32 bit machine with HIGHMEM64 enabled running DCC has an MMAPed file
of approximately 2Gb size which contains a hash format that is written
randomly by the dbclean process.  On 2.6.16 this process took a few
minutes.  With lowmem only accounting of dirty ratios, this takes about
12 hours of 100% disk IO, all random writes.

This patch includes some code cleanup from Linus and a toggle in
/proc/sys/vm/highmem_is_dirtyable which can be set to 1 to add the 
highmem back to the total available memory count.

Signed-off-by: Bron Gondwana <[EMAIL PROTECTED]>
Index: linux-2.6.23.8-reiserfix-fai-vmdirty/mm/page-writeback.c
===
--- linux-2.6.23.8-reiserfix-fai-vmdirty.orig/mm/page-writeback.c   
2007-11-21 21:58:20.0 -0500
+++ linux-2.6.23.8-reiserfix-fai-vmdirty/mm/page-writeback.c2007-11-27 
07:27:51.0 -0500
@@ -70,6 +70,12 @@
 int dirty_background_ratio = 5;
 
 /*
+ * free highmem will not be subtracted from the total free memory
+ * for calculating free ratios if vm_highmem_is_dirtyable is true
+ */
+int vm_highmem_is_dirtyable;
+
+/*
  * The generator of dirty data starts writeback at this percentage
  */
 int vm_dirty_ratio = 10;
@@ -153,7 +159,10 @@
x = global_page_state(NR_FREE_PAGES)
+ global_page_state(NR_INACTIVE)
+ global_page_state(NR_ACTIVE);
-   x -= highmem_dirtyable_memory(x);
+
+   if (!vm_highmem_is_dirtyable)
+   x -= highmem_dirtyable_memory(x);
+
return x + 1;   /* Ensure that we never return 0 */
 }
 
@@ -163,20 +172,12 @@
 {
int background_ratio;   /* Percentages */
int dirty_ratio;
-   int unmapped_ratio;
long background;
long dirty;
unsigned long available_memory = determine_dirtyable_memory();
struct task_struct *tsk;
 
-   unmapped_ratio = 100 - ((global_page_state(NR_FILE_MAPPED) +
-   global_page_state(NR_ANON_PAGES)) * 100) /
-   available_memory;
-
dirty_ratio = vm_dirty_ratio;
-   if (dirty_ratio > unmapped_ratio / 2)
-   dirty_ratio = unmapped_ratio / 2;
-
if (dirty_ratio < 5)
dirty_ratio = 5;
 
Index: linux-2.6.23.8-reiserfix-fai-vmdirty/include/linux/writeback.h
===
--- linux-2.6.23.8-reiserfix-fai-vmdirty.orig/include/linux/writeback.h 
2007-10-09 16:31:38.0 -0400
+++ linux-2.6.23.8-reiserfix-fai-vmdirty/include/linux/writeback.h  
2007-11-27 07:22:17.0 -0500
@@ -95,6 +95,7 @@
 extern int vm_dirty_ratio;
 extern int dirty_writeback_interval;
 extern int dirty_expire_interval;
+extern int vm_highmem_is_dirtyable;
 extern int block_dump;
 extern int laptop_mode;
 
Index: linux-2.6.23.8-reiserfix-fai-vmdirty/kernel/s

dirty highmem calculation sysctl name (Was: [PATCH 1/1] mm: add dirty_highmem option)

2007-11-27 Thread Bron Gondwana
On Mon, Nov 26, 2007 at 09:53:15PM -0800, Andrew Morton wrote:
> On Tue, 27 Nov 2007 16:24:24 +1100 "Bron Gondwana" <[EMAIL PROTECTED]> wrote:
> 
> > On Mon, 26 Nov 2007 20:54:28 -0800, "Andrew Morton" <[EMAIL PROTECTED]> 
> > said:
> > > On Thu, 22 Nov 2007 14:42:04 +1100 Bron Gondwana <[EMAIL PROTECTED]>
> > > wrote:
> > > 
> > > >  /*
> > > > + * free highmem will not be subtracted from the total free memory
> > > > + * for calculating free ratios if vm_dirty_highmem is true
> > > > + */
> > > > +int vm_dirty_highmem;
> > > 
> > > One would expect that setting dirty_highmem to true would cause highmem
> > > to
> > > be accounted in dirty-memory calculations.  However with this change
> > > reality is in fact the inverse of that.
> > > 
> > > So how about this?
> > 
> > Actually, I'm confused now.  Maybe I chose a bad name to begin with.
> > Does it mean "I am allowed to dirty high memory" or "my high memory
> > will be dirty if this is on"?
> 
> But we're always allowed to dirty highmem - there'd be no point in having
> it otherwise.  Hence the term dirty_highmem is confusing.
> 
> umm, really you want
> /proc/sys/vm/dont-account-highmem-in-dirty-memory-calculations, only
> shorter.
> 
> Do you agree?

I still read dirty_highmem as:

/proc/sys/vm/do-account-highmem-in-dirty-memory-calculations

... so we're still talking one negative apart!
 
> If so, then it's still not a very pleasing interface - setting something to
> "true" to disable a particular piece of kernel behaviour implies a single
> negation which we don't really need.

Well, the particular piece of kernel behaviour is already a negative:

 "decrease the amount of memory allowed to get dirty so we never dirty
  more than a percentage of available lowmem"

So what this flag is saying is:

 "DON'T decrease the amount of memory allowed to get dirty down to just
  the lowmem - dirty a percentage of total available including highmem"

As Linus said - the alternative of allowing more than 100% of lowmem
to be dirty is just plain too wierd, hence this approach of allowing
an option to turn off the new restriction that appeared since 2.6.16.

> It would be simpler to have
> /proc/sys/vm/do-account-highmem-in-dirty-memory-calculations,
> defaulting to "true" - this has no negations.

No, that's not true.  The whole point is that between 2.6.16 and
2.6.20 the kernel behaviour changed.  It currently doesn't count
highmem in dirty memory calculations, which is why the memory pressure
appears to be so great when actually there's still 4Gb of unused
memory in the box.

/proc/sys/vm/do-account-highmem-in-dirty-memory-calculations would
default to "false" to get the current behaviour post-2.6.16 kernels.

Setting a flag to make it true would stop the kernel subtracting 
highmem from the available count, giving the "old" behaviour of
allowing a percentage of all the memory in the system to be dirty
before forcing writeback.

> So... how about /proc/sys/vm/, umm.
> 
> 
> 
> OK, I give up.  Please see if you can think of something less confusing
> which involves no negations?

I've spent a while thinking about this, and looking at the code.

I think this might be slightly clearer:


/proc/sys/vm/highmem_is_dirtyable - defaults to false


Here's how it would look in the code:

static unsigned long determine_dirtyable_memory(void)
{
unsigned long x;

x = global_page_state(NR_FREE_PAGES)
+ global_page_state(NR_INACTIVE)
+ global_page_state(NR_ACTIVE);

if (!vm_highmem_is_dirtyable)
x -= highmem_dirtyable_memory(x);

return x + 1; /* Ensure that we never return 0 */
}


I think that's very clear.

"Unless highmem is dirtyable, subtract the otherwise dirtyable
 pages from the total dirtyable memory count if they are in
 highmem"

Or without negatives:

"If highmem is dirtyable then include highmem pages in the
 total dirtyable memory count"

Unfortunately this isn't expressed without negatives in the
code because it's easier (I presume without looking at all the
different zones on a cruddy piece of old i386) to add up the 
total and remove the pages in the HIGHMEM zone than to add up
all the non-HIGHMEM zones separately.


Does that suit you?  Does my explaination make sense?

Would you like me to re-submit the patch based on this?  I'm
certainly not happy with dirty_highmem as it is now in mm
because it looks backwards and unclear to me.

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


dirty highmem calculation sysctl name (Was: [PATCH 1/1] mm: add dirty_highmem option)

2007-11-27 Thread Bron Gondwana
On Mon, Nov 26, 2007 at 09:53:15PM -0800, Andrew Morton wrote:
 On Tue, 27 Nov 2007 16:24:24 +1100 Bron Gondwana [EMAIL PROTECTED] wrote:
 
  On Mon, 26 Nov 2007 20:54:28 -0800, Andrew Morton [EMAIL PROTECTED] 
  said:
   On Thu, 22 Nov 2007 14:42:04 +1100 Bron Gondwana [EMAIL PROTECTED]
   wrote:
   
 /*
+ * free highmem will not be subtracted from the total free memory
+ * for calculating free ratios if vm_dirty_highmem is true
+ */
+int vm_dirty_highmem;
   
   One would expect that setting dirty_highmem to true would cause highmem
   to
   be accounted in dirty-memory calculations.  However with this change
   reality is in fact the inverse of that.
   
   So how about this?
  
  Actually, I'm confused now.  Maybe I chose a bad name to begin with.
  Does it mean I am allowed to dirty high memory or my high memory
  will be dirty if this is on?
 
 But we're always allowed to dirty highmem - there'd be no point in having
 it otherwise.  Hence the term dirty_highmem is confusing.
 
 umm, really you want
 /proc/sys/vm/dont-account-highmem-in-dirty-memory-calculations, only
 shorter.
 
 Do you agree?

I still read dirty_highmem as:

/proc/sys/vm/do-account-highmem-in-dirty-memory-calculations

... so we're still talking one negative apart!
 
 If so, then it's still not a very pleasing interface - setting something to
 true to disable a particular piece of kernel behaviour implies a single
 negation which we don't really need.

Well, the particular piece of kernel behaviour is already a negative:

 decrease the amount of memory allowed to get dirty so we never dirty
  more than a percentage of available lowmem

So what this flag is saying is:

 DON'T decrease the amount of memory allowed to get dirty down to just
  the lowmem - dirty a percentage of total available including highmem

As Linus said - the alternative of allowing more than 100% of lowmem
to be dirty is just plain too wierd, hence this approach of allowing
an option to turn off the new restriction that appeared since 2.6.16.

 It would be simpler to have
 /proc/sys/vm/do-account-highmem-in-dirty-memory-calculations,
 defaulting to true - this has no negations.

No, that's not true.  The whole point is that between 2.6.16 and
2.6.20 the kernel behaviour changed.  It currently doesn't count
highmem in dirty memory calculations, which is why the memory pressure
appears to be so great when actually there's still 4Gb of unused
memory in the box.

/proc/sys/vm/do-account-highmem-in-dirty-memory-calculations would
default to false to get the current behaviour post-2.6.16 kernels.

Setting a flag to make it true would stop the kernel subtracting 
highmem from the available count, giving the old behaviour of
allowing a percentage of all the memory in the system to be dirty
before forcing writeback.

 So... how about /proc/sys/vm/, umm.
 
 looks at inbox, brain explodes
 
 OK, I give up.  Please see if you can think of something less confusing
 which involves no negations?

I've spent a while thinking about this, and looking at the code.

I think this might be slightly clearer:


/proc/sys/vm/highmem_is_dirtyable - defaults to false


Here's how it would look in the code:

static unsigned long determine_dirtyable_memory(void)
{
unsigned long x;

x = global_page_state(NR_FREE_PAGES)
+ global_page_state(NR_INACTIVE)
+ global_page_state(NR_ACTIVE);

if (!vm_highmem_is_dirtyable)
x -= highmem_dirtyable_memory(x);

return x + 1; /* Ensure that we never return 0 */
}


I think that's very clear.

Unless highmem is dirtyable, subtract the otherwise dirtyable
 pages from the total dirtyable memory count if they are in
 highmem

Or without negatives:

If highmem is dirtyable then include highmem pages in the
 total dirtyable memory count

Unfortunately this isn't expressed without negatives in the
code because it's easier (I presume without looking at all the
different zones on a cruddy piece of old i386) to add up the 
total and remove the pages in the HIGHMEM zone than to add up
all the non-HIGHMEM zones separately.


Does that suit you?  Does my explaination make sense?

Would you like me to re-submit the patch based on this?  I'm
certainly not happy with dirty_highmem as it is now in mm
because it looks backwards and unclear to me.

Bron.
-
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] mm/page-writeback - highmem_is_dirtyable option (replaces dirty_highmem patch)

2007-11-27 Thread Bron Gondwana
On Tue, Nov 27, 2007 at 11:10:28PM +1100, Bron Gondwana wrote:
 On Mon, Nov 26, 2007 at 09:53:15PM -0800, Andrew Morton wrote:
  umm, really you want
  /proc/sys/vm/dont-account-highmem-in-dirty-memory-calculations, only
  shorter.
  
  Do you agree?
 
 I still read dirty_highmem as:
 
 /proc/sys/vm/do-account-highmem-in-dirty-memory-calculations
 
 ... so we're still talking one negative apart!
 
  It would be simpler to have
  /proc/sys/vm/do-account-highmem-in-dirty-memory-calculations,
  defaulting to true - this has no negations.
 
 No, that's not true.  The whole point is that between 2.6.16 and
 2.6.20 the kernel behaviour changed.  It currently doesn't count
 highmem in dirty memory calculations, which is why the memory pressure
 appears to be so great when actually there's still 4Gb of unused
 memory in the box.
 
  OK, I give up.  Please see if you can think of something less confusing
  which involves no negations?
 
 I think this might be slightly clearer:
 
 /proc/sys/vm/highmem_is_dirtyable - defaults to false
 
 [ ... ]
 
 Would you like me to re-submit the patch based on this?  I'm
 certainly not happy with dirty_highmem as it is now in mm
 because it looks backwards and unclear to me.

Well, it was quick enough to just do - here's the patch.  I've
also updated the documentation a bit to clarify the intention and
the reasons why you might want to use it (based in part on the 
comments to the original change that made highmem uncountable for
dirtyness purposes)

Tested and applied against 2.6.23.9 (our build script makes Debian
packages from a clean unpack of kernel major plus patch minor plus
svn checkout of out quilt series and apply regardless, so it was
just as easy to bump the version number while I was at it).

Builds, boots, passes a quick run of the test program I used last
time around.

Bron.

Add vm.highmem_is_dirtyable toggle

A 32 bit machine with HIGHMEM64 enabled running DCC has an MMAPed file
of approximately 2Gb size which contains a hash format that is written
randomly by the dbclean process.  On 2.6.16 this process took a few
minutes.  With lowmem only accounting of dirty ratios, this takes about
12 hours of 100% disk IO, all random writes.

This patch includes some code cleanup from Linus and a toggle in
/proc/sys/vm/highmem_is_dirtyable which can be set to 1 to add the 
highmem back to the total available memory count.

Signed-off-by: Bron Gondwana [EMAIL PROTECTED]
Index: linux-2.6.23.8-reiserfix-fai-vmdirty/mm/page-writeback.c
===
--- linux-2.6.23.8-reiserfix-fai-vmdirty.orig/mm/page-writeback.c   
2007-11-21 21:58:20.0 -0500
+++ linux-2.6.23.8-reiserfix-fai-vmdirty/mm/page-writeback.c2007-11-27 
07:27:51.0 -0500
@@ -70,6 +70,12 @@
 int dirty_background_ratio = 5;
 
 /*
+ * free highmem will not be subtracted from the total free memory
+ * for calculating free ratios if vm_highmem_is_dirtyable is true
+ */
+int vm_highmem_is_dirtyable;
+
+/*
  * The generator of dirty data starts writeback at this percentage
  */
 int vm_dirty_ratio = 10;
@@ -153,7 +159,10 @@
x = global_page_state(NR_FREE_PAGES)
+ global_page_state(NR_INACTIVE)
+ global_page_state(NR_ACTIVE);
-   x -= highmem_dirtyable_memory(x);
+
+   if (!vm_highmem_is_dirtyable)
+   x -= highmem_dirtyable_memory(x);
+
return x + 1;   /* Ensure that we never return 0 */
 }
 
@@ -163,20 +172,12 @@
 {
int background_ratio;   /* Percentages */
int dirty_ratio;
-   int unmapped_ratio;
long background;
long dirty;
unsigned long available_memory = determine_dirtyable_memory();
struct task_struct *tsk;
 
-   unmapped_ratio = 100 - ((global_page_state(NR_FILE_MAPPED) +
-   global_page_state(NR_ANON_PAGES)) * 100) /
-   available_memory;
-
dirty_ratio = vm_dirty_ratio;
-   if (dirty_ratio  unmapped_ratio / 2)
-   dirty_ratio = unmapped_ratio / 2;
-
if (dirty_ratio  5)
dirty_ratio = 5;
 
Index: linux-2.6.23.8-reiserfix-fai-vmdirty/include/linux/writeback.h
===
--- linux-2.6.23.8-reiserfix-fai-vmdirty.orig/include/linux/writeback.h 
2007-10-09 16:31:38.0 -0400
+++ linux-2.6.23.8-reiserfix-fai-vmdirty/include/linux/writeback.h  
2007-11-27 07:22:17.0 -0500
@@ -95,6 +95,7 @@
 extern int vm_dirty_ratio;
 extern int dirty_writeback_interval;
 extern int dirty_expire_interval;
+extern int vm_highmem_is_dirtyable;
 extern int block_dump;
 extern int laptop_mode;
 
Index: linux-2.6.23.8-reiserfix-fai-vmdirty/kernel/sysctl.c
===
--- linux-2.6.23.8-reiserfix-fai-vmdirty.orig/kernel/sysctl.c   2007-10-09 
16:31:38.0 -0400
+++ linux-2.6.23.8-reiserfix-fai

Re: [PATCH 1/1] mm: add dirty_highmem option

2007-11-26 Thread Bron Gondwana
On Mon, 26 Nov 2007 20:54:28 -0800, "Andrew Morton" <[EMAIL PROTECTED]> said:
> On Thu, 22 Nov 2007 14:42:04 +1100 Bron Gondwana <[EMAIL PROTECTED]>
> wrote:
> 
> >  /*
> > + * free highmem will not be subtracted from the total free memory
> > + * for calculating free ratios if vm_dirty_highmem is true
> > + */
> > +int vm_dirty_highmem;
> 
> One would expect that setting dirty_highmem to true would cause highmem
> to
> be accounted in dirty-memory calculations.  However with this change
> reality is in fact the inverse of that.
> 
> So how about this?

Actually, I'm confused now.  Maybe I chose a bad name to begin with.
Does it mean "I am allowed to dirty high memory" or "my high memory
will be dirty if this is on"?

Hmm... I'm even having trouble articulating what's odd about it.

I guess my internal model was: "if this flag is set then you are
allowed to make high memory dirty without needing to flush it
immediately", which is why I made it that way around.


No - you're wrong.  My patch _did_ include high memory in the dirty
memory calculations when dirty_highmem was true.

>   x = global_page_state(NR_FREE_PAGES)
>   + global_page_state(NR_INACTIVE)
>   + global_page_state(NR_ACTIVE);

This is the total memory, _including_ high memory.

>   x -= highmem_dirtyable_memory(x);

This removes the high memory from the total count.


I think I got it right.  If dirty_highmem is set to true, then
don't subtract highmem from the total memory count before
calculating the percentages.  That's what I meant, and that's
what the toggle did.  Removed the subtraction.

Bron.


>  Documentation/filesystems/proc.txt |4 ++--
>  mm/page-writeback.c|8 
>  2 files changed, 6 insertions(+), 6 deletions(-)
> 
> diff -puN
> Documentation/filesystems/proc.txt~mm-add-dirty_highmem-option-fix
> Documentation/filesystems/proc.txt
> --- a/Documentation/filesystems/proc.txt~mm-add-dirty_highmem-option-fix
> +++ a/Documentation/filesystems/proc.txt
> @@ -1265,8 +1265,8 @@ Contains, as a boolean, a switch to allo
>  part of the "available" memory against which the dirty ratios will be
>  applied.
>  
> -Setting this to 1 can be useful on 32 bit machines where you want to
> make
> -random changes within an MMAPed file that is larger than your available
> +Setting this to 0 (false) can be useful on 32 bit machines where you
> wish to
> +make random changes within an MMAPed file that is larger than your
> available
>  lowmem, however it is potentially dangerous and has serious
>  bounce-buffer
>  issues.
>  
> diff -puN mm/page-writeback.c~mm-add-dirty_highmem-option-fix
> mm/page-writeback.c
> --- a/mm/page-writeback.c~mm-add-dirty_highmem-option-fix
> +++ a/mm/page-writeback.c
> @@ -69,10 +69,10 @@ static inline long sync_writeback_pages(
>  int dirty_background_ratio = 5;
>  
>  /*
> - * free highmem will not be subtracted from the total free memory
> - * for calculating free ratios if vm_dirty_highmem is true
> + * free highmem will be subtracted from the total free memory for
> calculating
> + * free ratios if vm_dirty_highmem is true
>   */
> -int vm_dirty_highmem;
> +int vm_dirty_highmem = 1;
>  
>  /*
>   * The generator of dirty data starts writeback at this percentage
> @@ -293,7 +293,7 @@ static unsigned long determine_dirtyable
>   x = global_page_state(NR_FREE_PAGES)
>   + global_page_state(NR_INACTIVE)
>   + global_page_state(NR_ACTIVE);
> - if (!vm_dirty_highmem)
> + if (vm_dirty_highmem)
>   x -= highmem_dirtyable_memory(x);
>   return x + 1;   /* Ensure that we never return 0 */
>  }
> _
> 
> 
> 
> 
> (I dropped the already-merged part of your patch)
> 
> (I fixed a build error in kernel/sysctl.c: "one" was defined twice when
> suitable config options were set).
> 
> (It's an unpleasing patch, btw.  But it's an unpleasant problem and at
> least
> this way people can tell us "hey, I did  and it started to work")
-- 
  Bron Gondwana
  [EMAIL PROTECTED]

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


Re: [PATCH 1/1] mm: add dirty_highmem option

2007-11-26 Thread Bron Gondwana
On Mon, Nov 26, 2007 at 09:53:17AM -0800, Linus Torvalds wrote:
> 
> 
> On Thu, 22 Nov 2007, Bron Gondwana wrote:
> > 
> > This patch includes some code cleanup from Linus and a toggle in
> > /proc/sys/vm/dirty_highmem which can be set to 1 to add the highmem
> > back to the total available memory count.
> 
> Just to verify - can you confirm that this "just fixes it" for you?
> 
> I think this is the right approach to take, and seems very safe (ie people 
> who know that their loads are ok can just set the flag), but I do want to 
> verify that there was nothing else going on, and that you now see the same 
> performance as you did in 2.6.16?
> 
> The other alternative, of course, would be to simply allow the dirty 
> percentages to be > 100%, but that's just *odd* ;)

Yes, toggling dirty_highmem "just fixes it" in all our tests.  I hadn't
tested it on the production machine yet - but I'm just installing it
there now since it's been running fine on a less important machine for
a few days now.

I did wonder about allowing the dirty percentage to go way up, but that
would have cause "this one goes up to 110%" comments in the sysctl
limits code and people would have thought I was childish.  Can't have
that.  Much better to have "int one = 1" instead.

Bron.
-
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: [PATCH 1/1] mm: add dirty_highmem option

2007-11-26 Thread Bron Gondwana
On Mon, Nov 26, 2007 at 09:53:17AM -0800, Linus Torvalds wrote:
 
 
 On Thu, 22 Nov 2007, Bron Gondwana wrote:
  
  This patch includes some code cleanup from Linus and a toggle in
  /proc/sys/vm/dirty_highmem which can be set to 1 to add the highmem
  back to the total available memory count.
 
 Just to verify - can you confirm that this just fixes it for you?
 
 I think this is the right approach to take, and seems very safe (ie people 
 who know that their loads are ok can just set the flag), but I do want to 
 verify that there was nothing else going on, and that you now see the same 
 performance as you did in 2.6.16?
 
 The other alternative, of course, would be to simply allow the dirty 
 percentages to be  100%, but that's just *odd* ;)

Yes, toggling dirty_highmem just fixes it in all our tests.  I hadn't
tested it on the production machine yet - but I'm just installing it
there now since it's been running fine on a less important machine for
a few days now.

I did wonder about allowing the dirty percentage to go way up, but that
would have cause this one goes up to 110% comments in the sysctl
limits code and people would have thought I was childish.  Can't have
that.  Much better to have int one = 1 instead.

Bron.
-
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: [PATCH 1/1] mm: add dirty_highmem option

2007-11-26 Thread Bron Gondwana
On Mon, 26 Nov 2007 20:54:28 -0800, Andrew Morton [EMAIL PROTECTED] said:
 On Thu, 22 Nov 2007 14:42:04 +1100 Bron Gondwana [EMAIL PROTECTED]
 wrote:
 
   /*
  + * free highmem will not be subtracted from the total free memory
  + * for calculating free ratios if vm_dirty_highmem is true
  + */
  +int vm_dirty_highmem;
 
 One would expect that setting dirty_highmem to true would cause highmem
 to
 be accounted in dirty-memory calculations.  However with this change
 reality is in fact the inverse of that.
 
 So how about this?

Actually, I'm confused now.  Maybe I chose a bad name to begin with.
Does it mean I am allowed to dirty high memory or my high memory
will be dirty if this is on?

Hmm... I'm even having trouble articulating what's odd about it.

I guess my internal model was: if this flag is set then you are
allowed to make high memory dirty without needing to flush it
immediately, which is why I made it that way around.


No - you're wrong.  My patch _did_ include high memory in the dirty
memory calculations when dirty_highmem was true.

   x = global_page_state(NR_FREE_PAGES)
   + global_page_state(NR_INACTIVE)
   + global_page_state(NR_ACTIVE);

This is the total memory, _including_ high memory.

   x -= highmem_dirtyable_memory(x);

This removes the high memory from the total count.


I think I got it right.  If dirty_highmem is set to true, then
don't subtract highmem from the total memory count before
calculating the percentages.  That's what I meant, and that's
what the toggle did.  Removed the subtraction.

Bron.


  Documentation/filesystems/proc.txt |4 ++--
  mm/page-writeback.c|8 
  2 files changed, 6 insertions(+), 6 deletions(-)
 
 diff -puN
 Documentation/filesystems/proc.txt~mm-add-dirty_highmem-option-fix
 Documentation/filesystems/proc.txt
 --- a/Documentation/filesystems/proc.txt~mm-add-dirty_highmem-option-fix
 +++ a/Documentation/filesystems/proc.txt
 @@ -1265,8 +1265,8 @@ Contains, as a boolean, a switch to allo
  part of the available memory against which the dirty ratios will be
  applied.
  
 -Setting this to 1 can be useful on 32 bit machines where you want to
 make
 -random changes within an MMAPed file that is larger than your available
 +Setting this to 0 (false) can be useful on 32 bit machines where you
 wish to
 +make random changes within an MMAPed file that is larger than your
 available
  lowmem, however it is potentially dangerous and has serious
  bounce-buffer
  issues.
  
 diff -puN mm/page-writeback.c~mm-add-dirty_highmem-option-fix
 mm/page-writeback.c
 --- a/mm/page-writeback.c~mm-add-dirty_highmem-option-fix
 +++ a/mm/page-writeback.c
 @@ -69,10 +69,10 @@ static inline long sync_writeback_pages(
  int dirty_background_ratio = 5;
  
  /*
 - * free highmem will not be subtracted from the total free memory
 - * for calculating free ratios if vm_dirty_highmem is true
 + * free highmem will be subtracted from the total free memory for
 calculating
 + * free ratios if vm_dirty_highmem is true
   */
 -int vm_dirty_highmem;
 +int vm_dirty_highmem = 1;
  
  /*
   * The generator of dirty data starts writeback at this percentage
 @@ -293,7 +293,7 @@ static unsigned long determine_dirtyable
   x = global_page_state(NR_FREE_PAGES)
   + global_page_state(NR_INACTIVE)
   + global_page_state(NR_ACTIVE);
 - if (!vm_dirty_highmem)
 + if (vm_dirty_highmem)
   x -= highmem_dirtyable_memory(x);
   return x + 1;   /* Ensure that we never return 0 */
  }
 _
 
 
 
 
 (I dropped the already-merged part of your patch)
 
 (I fixed a build error in kernel/sysctl.c: one was defined twice when
 suitable config options were set).
 
 (It's an unpleasing patch, btw.  But it's an unpleasant problem and at
 least
 this way people can tell us hey, I did this and it started to work)
-- 
  Bron Gondwana
  [EMAIL PROTECTED]

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


[PATCH 1/1] mm: add dirty_highmem option

2007-11-21 Thread Bron Gondwana
On Thu, Nov 15, 2007 at 01:14:32PM -0800, Linus Torvalds wrote:
> Examples of non-broken solutions:
>  (a) always use lowmem sizes (what we do now)
>  (b) always use total mem sizes (sane but potentially dangerous: but the 
>  VM pressure should work! It has serious bounce-buffer issues, though, 
>  which is why I think it's crazy even if it's otherwise consistent)
> 
> Btw, I actually suspect that while (a) is what we do now, for the specific 
> case that Bron has, we could have a /proc/sys/vm option to just enable 
> (b). So we don't have to have just one consistent model, we can allow odd 
> users (and Bron sounds like one - sorry Bron ;) to just force other, odd, 
> but consistent models.

A 32 bit machine with HIGHMEM64 enabled running DCC has an MMAPed file
of approximately 2Gb size which contains a hash format that is written
"randomly" by the dbclean process.  On 2.6.16 this process took a few
minutes.  With lowmem only accounting of dirty ratios, this takes about
12 hours of 100% disk IO, all random writes.

This patch includes some code cleanup from Linus and a toggle in
/proc/sys/vm/dirty_highmem which can be set to 1 to add the highmem
back to the total available memory count.

Signed-off-by: Bron Gondwana <[EMAIL PROTECTED]>

Index: linux-2.6.23.8-reiserfix-fai-vmdirty/mm/page-writeback.c
===
--- linux-2.6.23.8-reiserfix-fai-vmdirty.orig/mm/page-writeback.c   
2007-11-22 01:48:20.0 +
+++ linux-2.6.23.8-reiserfix-fai-vmdirty/mm/page-writeback.c2007-11-22 
02:42:04.0 +
@@ -70,6 +70,12 @@ static inline long sync_writeback_pages(
 int dirty_background_ratio = 5;
 
 /*
+ * free highmem will not be subtracted from the total free memory
+ * for calculating free ratios if vm_dirty_highmem is true
+ */
+int vm_dirty_highmem;
+
+/*
  * The generator of dirty data starts writeback at this percentage
  */
 int vm_dirty_ratio = 10;
@@ -153,7 +159,8 @@ static unsigned long determine_dirtyable
x = global_page_state(NR_FREE_PAGES)
+ global_page_state(NR_INACTIVE)
+ global_page_state(NR_ACTIVE);
-   x -= highmem_dirtyable_memory(x);
+   if (!vm_dirty_highmem)
+   x -= highmem_dirtyable_memory(x);
return x + 1;   /* Ensure that we never return 0 */
 }
 
@@ -163,20 +170,12 @@ get_dirty_limits(long *pbackground, long
 {
int background_ratio;   /* Percentages */
int dirty_ratio;
-   int unmapped_ratio;
long background;
long dirty;
unsigned long available_memory = determine_dirtyable_memory();
struct task_struct *tsk;
 
-   unmapped_ratio = 100 - ((global_page_state(NR_FILE_MAPPED) +
-   global_page_state(NR_ANON_PAGES)) * 100) /
-   available_memory;
-
dirty_ratio = vm_dirty_ratio;
-   if (dirty_ratio > unmapped_ratio / 2)
-   dirty_ratio = unmapped_ratio / 2;
-
if (dirty_ratio < 5)
dirty_ratio = 5;
 
Index: linux-2.6.23.8-reiserfix-fai-vmdirty/include/linux/writeback.h
===
--- linux-2.6.23.8-reiserfix-fai-vmdirty.orig/include/linux/writeback.h 
2007-10-09 20:31:38.0 +
+++ linux-2.6.23.8-reiserfix-fai-vmdirty/include/linux/writeback.h  
2007-11-22 01:48:21.0 +
@@ -92,6 +92,7 @@ void throttle_vm_writeout(gfp_t gfp_mask
 
 /* These are exported to sysctl. */
 extern int dirty_background_ratio;
+extern int vm_dirty_highmem;
 extern int vm_dirty_ratio;
 extern int dirty_writeback_interval;
 extern int dirty_expire_interval;
Index: linux-2.6.23.8-reiserfix-fai-vmdirty/kernel/sysctl.c
===
--- linux-2.6.23.8-reiserfix-fai-vmdirty.orig/kernel/sysctl.c   2007-10-09 
20:31:38.0 +
+++ linux-2.6.23.8-reiserfix-fai-vmdirty/kernel/sysctl.c2007-11-22 
01:48:21.0 +
@@ -776,6 +776,7 @@ static ctl_table kern_table[] = {
 /* Constants for minimum and maximum testing in vm_table.
We use these as one-element integer vectors. */
 static int zero;
+static int one = 1;
 static int two = 2;
 static int one_hundred = 100;
 
@@ -1066,6 +1067,19 @@ static ctl_table vm_table[] = {
.extra1 = ,
},
 #endif
+#ifdef CONFIG_HIGHMEM
+   {
+   .ctl_name   = CTL_UNNUMBERED,
+   .procname   = "dirty_highmem",
+   .data   = _dirty_highmem,
+   .maxlen = sizeof(vm_dirty_highmem),
+   .mode   = 0644,
+   .proc_handler   = _dointvec_minmax,
+   .strategy   = _intvec,
+   .extra1 = ,
+   .extra2 = ,
+   },
+#endif
 /*
  * NOTE: do not add new entries to this table

Re: mmap dirty limits on 32 bit kernels (Was: [BUG] New Kernel Bugs)

2007-11-21 Thread Bron Gondwana
On Thu, Nov 22, 2007 at 10:51:15AM +1100, Bron Gondwana wrote:
> On Thu, Nov 15, 2007 at 08:32:22AM -0800, Linus Torvalds wrote:
> > If this patch makes a difference, please holler. I think it's the correct 
> > thing to do, but I'm not going to actually commit it without somebody 
> > saying that it makes a difference (and preferably Peter Zijlstra and 
> > Andrew acking it too).
> 
> mmap: mmap call failed: errno: 12 errmsg: Cannot allocate memory
> 
> Yep, that's "fixed" the problem alright!  No way this puppy is
> dirtying 2Gb of memory any more.
> 
> http://linux.brong.fastmail.fm/2007-11-22/bmtest.pl

Alternatively perhaps I'm just a moron who used a config file with:
CONFIG_PAGE_OFFSET=0x8000 set to build the new kernel (I hadn't
committed it because it turned out not to solve the issue it was
there for).  That would explain a few things.

[EMAIL PROTECTED] perl]$ free
 total   used   free sharedbuffers cached
Mem:   415062022722841878336  0  112122066536
-/+ buffers/cache: 1945363956084
Swap:  2096472  02096472

That's more the usage I would expect to see.

Now for the downside.  It works again, but it still runs slow.  Seems to
hit (and this is totally unscientific, I'm just watching the numbers
scroll by) at about 12 writes rather than 7 writes, but that's
still not fitting the while file dirty.

I notice that PF_LESS_THROTTLE gets set by nfsd to get an extra 25%
bonus free space allocated.  Potentially dcc could use similar tricks
to claim extra space if that knob is available up in userspace.  I'm
happy to patch dcc as well if I have to, I'm already backporting it,
so adding another little quilt directory and applying it is pretty
trivial (must try guilt/stgit one of these days)

Bron.


-
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: mmap dirty limits on 32 bit kernels (Was: [BUG] New Kernel Bugs)

2007-11-21 Thread Bron Gondwana
On Thu, Nov 15, 2007 at 08:32:22AM -0800, Linus Torvalds wrote:
> On Thu, 15 Nov 2007, Bron Gondwana wrote:
> > 
> > I guess we'll be doing the one-liner kernel mod and testing
> > that then.
> 
> The thing to look at is "get_dirty_limits()" in mm/page-writeback.c, and 
> in this particular case it's the
> 
>   unsigned long available_memory = determine_dirtyable_memory();
> 
> that's going to bite you. In particular, note the
> 
>   x -= highmem_dirtyable_memory(x);
> 
> that we do in determine_dirtyable_memory().
> 
> So in this case, if you basically remove that line, it will allow all of 
> memory to be dirtied (including highmem), and then the background_ratio 
> will work on the whole 6GB.
> 
> HOWEVER! It's worth noting that we also have some other old legacy cruft 
> there that may interfere with your code. In particular, if you look at the 
> top of "get_dirty_limits()", it *also* does a
> 
> unmapped_ratio = 100 - ((global_page_state(NR_FILE_MAPPED) +
> global_page_state(NR_ANON_PAGES)) * 100) /
> available_memory;
> 
> dirty_ratio = vm_dirty_ratio;
> if (dirty_ratio > unmapped_ratio / 2)
> dirty_ratio = unmapped_ratio / 2;
> 
> and that whole "unmapped_ratio" comparison is probably bogus these days, 
> since we now take the mapped dirty pages into account. That code harks 
> back to the days before we did that, and dirty ratios only affected 
> non-mapped pages.
> 
> And in particular, now that I look at it, I wonder if it can even go 
> negative (because "available_memory" may be *smaller* than the 
> NR_FILE_MAPPED|ANON_PAGES sum!).
> 
> We'll fix up a negative value anyway (because of the clamping of 
> dirty_ratio to no less than 5), but the point is that the whole 
> "unmapped_ratio" thing probably doesn't make sense any more, and may well 
> make the dirty_ratio not work for you, because you may have a very small 
> unmapped_ratio that effectively makes all dirty limits always clamp to a 
> very small value.
> 
> So regardless, I think you may want to try the appended patch *first*.
> 
> If this patch makes a difference, please holler. I think it's the correct 
> thing to do, but I'm not going to actually commit it without somebody 
> saying that it makes a difference (and preferably Peter Zijlstra and 
> Andrew acking it too).

mmap: mmap call failed: errno: 12 errmsg: Cannot allocate memory

Yep, that's "fixed" the problem alright!  No way this puppy is
dirtying 2Gb of memory any more.

http://linux.brong.fastmail.fm/2007-11-22/bmtest.pl

That said, pushing the size down to 1700 rather than 2000 in that
file makes it run, and the behaviour matches the 2000 Mb case on
2.6.16.55 rather than 2.6.20.20 or 2.6.23.1 (my other test case
kernels that happened to be pre-built on that machine)

[EMAIL PROTECTED] ~]$ free
 total   used   free sharedbuffers cached
Mem:   414983620730562076780  0  220361846096
-/+ buffers/cache: 2049243944912
Swap:  2096472  02096472

That's after running the 1700Mb version.  You can see this machine is our
one remaining 4Gb machine (it's not running any production services unlike
the 6Gb machine, so it's better for testing)

Anyway - looks like this may be a "good enough" solution for out1 if
it can manage an ~2Gb file with 6Gb of memory available.  I'll test
that later today - but I should drag myself into the office now...

Bron.

(patch left attached below for reference)

> Only *after* testing this change is it probably a good idea to test the 
> real hack of then removing the highmem_dirtyable_memory() thing. 
> 
> Peter? Andrew?
> 
>   Linus
> 
> ---
>  mm/page-writeback.c |8 
>  1 files changed, 0 insertions(+), 8 deletions(-)
> 
> diff --git a/mm/page-writeback.c b/mm/page-writeback.c
> index 81a91e6..d55cfca 100644
> --- a/mm/page-writeback.c
> +++ b/mm/page-writeback.c
> @@ -297,20 +297,12 @@ get_dirty_limits(long *pbackground, long *pdirty, long 
> *pbdi_dirty,
>  {
>   int background_ratio;   /* Percentages */
>   int dirty_ratio;
> - int unmapped_ratio;
>   long background;
>   long dirty;
>   unsigned long available_memory = determine_dirtyable_memory();
>   struct task_struct *tsk;
>  
> - unmapped_ratio = 100 - ((global_page_state(NR_FILE_MAPPED) +
> - global_page_state(NR_ANON_PAGES)) * 100) /
> - available_memory;
> -
>   dirty_ratio = vm_dirty_ratio;
> - if (dirty_ratio > unm

Re: mmap dirty limits on 32 bit kernels (Was: [BUG] New Kernel Bugs)

2007-11-21 Thread Bron Gondwana
On Thu, Nov 15, 2007 at 08:32:22AM -0800, Linus Torvalds wrote:
 On Thu, 15 Nov 2007, Bron Gondwana wrote:
  
  I guess we'll be doing the one-liner kernel mod and testing
  that then.
 
 The thing to look at is get_dirty_limits() in mm/page-writeback.c, and 
 in this particular case it's the
 
   unsigned long available_memory = determine_dirtyable_memory();
 
 that's going to bite you. In particular, note the
 
   x -= highmem_dirtyable_memory(x);
 
 that we do in determine_dirtyable_memory().
 
 So in this case, if you basically remove that line, it will allow all of 
 memory to be dirtied (including highmem), and then the background_ratio 
 will work on the whole 6GB.
 
 HOWEVER! It's worth noting that we also have some other old legacy cruft 
 there that may interfere with your code. In particular, if you look at the 
 top of get_dirty_limits(), it *also* does a
 
 unmapped_ratio = 100 - ((global_page_state(NR_FILE_MAPPED) +
 global_page_state(NR_ANON_PAGES)) * 100) /
 available_memory;
 
 dirty_ratio = vm_dirty_ratio;
 if (dirty_ratio  unmapped_ratio / 2)
 dirty_ratio = unmapped_ratio / 2;
 
 and that whole unmapped_ratio comparison is probably bogus these days, 
 since we now take the mapped dirty pages into account. That code harks 
 back to the days before we did that, and dirty ratios only affected 
 non-mapped pages.
 
 And in particular, now that I look at it, I wonder if it can even go 
 negative (because available_memory may be *smaller* than the 
 NR_FILE_MAPPED|ANON_PAGES sum!).
 
 We'll fix up a negative value anyway (because of the clamping of 
 dirty_ratio to no less than 5), but the point is that the whole 
 unmapped_ratio thing probably doesn't make sense any more, and may well 
 make the dirty_ratio not work for you, because you may have a very small 
 unmapped_ratio that effectively makes all dirty limits always clamp to a 
 very small value.
 
 So regardless, I think you may want to try the appended patch *first*.
 
 If this patch makes a difference, please holler. I think it's the correct 
 thing to do, but I'm not going to actually commit it without somebody 
 saying that it makes a difference (and preferably Peter Zijlstra and 
 Andrew acking it too).

mmap: mmap call failed: errno: 12 errmsg: Cannot allocate memory

Yep, that's fixed the problem alright!  No way this puppy is
dirtying 2Gb of memory any more.

http://linux.brong.fastmail.fm/2007-11-22/bmtest.pl

That said, pushing the size down to 1700 rather than 2000 in that
file makes it run, and the behaviour matches the 2000 Mb case on
2.6.16.55 rather than 2.6.20.20 or 2.6.23.1 (my other test case
kernels that happened to be pre-built on that machine)

[EMAIL PROTECTED] ~]$ free
 total   used   free sharedbuffers cached
Mem:   414983620730562076780  0  220361846096
-/+ buffers/cache: 2049243944912
Swap:  2096472  02096472

That's after running the 1700Mb version.  You can see this machine is our
one remaining 4Gb machine (it's not running any production services unlike
the 6Gb machine, so it's better for testing)

Anyway - looks like this may be a good enough solution for out1 if
it can manage an ~2Gb file with 6Gb of memory available.  I'll test
that later today - but I should drag myself into the office now...

Bron.

(patch left attached below for reference)

 Only *after* testing this change is it probably a good idea to test the 
 real hack of then removing the highmem_dirtyable_memory() thing. 
 
 Peter? Andrew?
 
   Linus
 
 ---
  mm/page-writeback.c |8 
  1 files changed, 0 insertions(+), 8 deletions(-)
 
 diff --git a/mm/page-writeback.c b/mm/page-writeback.c
 index 81a91e6..d55cfca 100644
 --- a/mm/page-writeback.c
 +++ b/mm/page-writeback.c
 @@ -297,20 +297,12 @@ get_dirty_limits(long *pbackground, long *pdirty, long 
 *pbdi_dirty,
  {
   int background_ratio;   /* Percentages */
   int dirty_ratio;
 - int unmapped_ratio;
   long background;
   long dirty;
   unsigned long available_memory = determine_dirtyable_memory();
   struct task_struct *tsk;
  
 - unmapped_ratio = 100 - ((global_page_state(NR_FILE_MAPPED) +
 - global_page_state(NR_ANON_PAGES)) * 100) /
 - available_memory;
 -
   dirty_ratio = vm_dirty_ratio;
 - if (dirty_ratio  unmapped_ratio / 2)
 - dirty_ratio = unmapped_ratio / 2;
 -
   if (dirty_ratio  5)
   dirty_ratio = 5;
  
-
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: mmap dirty limits on 32 bit kernels (Was: [BUG] New Kernel Bugs)

2007-11-21 Thread Bron Gondwana
On Thu, Nov 22, 2007 at 10:51:15AM +1100, Bron Gondwana wrote:
 On Thu, Nov 15, 2007 at 08:32:22AM -0800, Linus Torvalds wrote:
  If this patch makes a difference, please holler. I think it's the correct 
  thing to do, but I'm not going to actually commit it without somebody 
  saying that it makes a difference (and preferably Peter Zijlstra and 
  Andrew acking it too).
 
 mmap: mmap call failed: errno: 12 errmsg: Cannot allocate memory
 
 Yep, that's fixed the problem alright!  No way this puppy is
 dirtying 2Gb of memory any more.
 
 http://linux.brong.fastmail.fm/2007-11-22/bmtest.pl

Alternatively perhaps I'm just a moron who used a config file with:
CONFIG_PAGE_OFFSET=0x8000 set to build the new kernel (I hadn't
committed it because it turned out not to solve the issue it was
there for).  That would explain a few things.

[EMAIL PROTECTED] perl]$ free
 total   used   free sharedbuffers cached
Mem:   415062022722841878336  0  112122066536
-/+ buffers/cache: 1945363956084
Swap:  2096472  02096472

That's more the usage I would expect to see.

Now for the downside.  It works again, but it still runs slow.  Seems to
hit (and this is totally unscientific, I'm just watching the numbers
scroll by) at about 12 writes rather than 7 writes, but that's
still not fitting the while file dirty.

I notice that PF_LESS_THROTTLE gets set by nfsd to get an extra 25%
bonus free space allocated.  Potentially dcc could use similar tricks
to claim extra space if that knob is available up in userspace.  I'm
happy to patch dcc as well if I have to, I'm already backporting it,
so adding another little quilt directory and applying it is pretty
trivial (must try guilt/stgit one of these days)

Bron.


-
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 1/1] mm: add dirty_highmem option

2007-11-21 Thread Bron Gondwana
On Thu, Nov 15, 2007 at 01:14:32PM -0800, Linus Torvalds wrote:
 Examples of non-broken solutions:
  (a) always use lowmem sizes (what we do now)
  (b) always use total mem sizes (sane but potentially dangerous: but the 
  VM pressure should work! It has serious bounce-buffer issues, though, 
  which is why I think it's crazy even if it's otherwise consistent)
 
 Btw, I actually suspect that while (a) is what we do now, for the specific 
 case that Bron has, we could have a /proc/sys/vm option to just enable 
 (b). So we don't have to have just one consistent model, we can allow odd 
 users (and Bron sounds like one - sorry Bron ;) to just force other, odd, 
 but consistent models.

A 32 bit machine with HIGHMEM64 enabled running DCC has an MMAPed file
of approximately 2Gb size which contains a hash format that is written
randomly by the dbclean process.  On 2.6.16 this process took a few
minutes.  With lowmem only accounting of dirty ratios, this takes about
12 hours of 100% disk IO, all random writes.

This patch includes some code cleanup from Linus and a toggle in
/proc/sys/vm/dirty_highmem which can be set to 1 to add the highmem
back to the total available memory count.

Signed-off-by: Bron Gondwana [EMAIL PROTECTED]

Index: linux-2.6.23.8-reiserfix-fai-vmdirty/mm/page-writeback.c
===
--- linux-2.6.23.8-reiserfix-fai-vmdirty.orig/mm/page-writeback.c   
2007-11-22 01:48:20.0 +
+++ linux-2.6.23.8-reiserfix-fai-vmdirty/mm/page-writeback.c2007-11-22 
02:42:04.0 +
@@ -70,6 +70,12 @@ static inline long sync_writeback_pages(
 int dirty_background_ratio = 5;
 
 /*
+ * free highmem will not be subtracted from the total free memory
+ * for calculating free ratios if vm_dirty_highmem is true
+ */
+int vm_dirty_highmem;
+
+/*
  * The generator of dirty data starts writeback at this percentage
  */
 int vm_dirty_ratio = 10;
@@ -153,7 +159,8 @@ static unsigned long determine_dirtyable
x = global_page_state(NR_FREE_PAGES)
+ global_page_state(NR_INACTIVE)
+ global_page_state(NR_ACTIVE);
-   x -= highmem_dirtyable_memory(x);
+   if (!vm_dirty_highmem)
+   x -= highmem_dirtyable_memory(x);
return x + 1;   /* Ensure that we never return 0 */
 }
 
@@ -163,20 +170,12 @@ get_dirty_limits(long *pbackground, long
 {
int background_ratio;   /* Percentages */
int dirty_ratio;
-   int unmapped_ratio;
long background;
long dirty;
unsigned long available_memory = determine_dirtyable_memory();
struct task_struct *tsk;
 
-   unmapped_ratio = 100 - ((global_page_state(NR_FILE_MAPPED) +
-   global_page_state(NR_ANON_PAGES)) * 100) /
-   available_memory;
-
dirty_ratio = vm_dirty_ratio;
-   if (dirty_ratio  unmapped_ratio / 2)
-   dirty_ratio = unmapped_ratio / 2;
-
if (dirty_ratio  5)
dirty_ratio = 5;
 
Index: linux-2.6.23.8-reiserfix-fai-vmdirty/include/linux/writeback.h
===
--- linux-2.6.23.8-reiserfix-fai-vmdirty.orig/include/linux/writeback.h 
2007-10-09 20:31:38.0 +
+++ linux-2.6.23.8-reiserfix-fai-vmdirty/include/linux/writeback.h  
2007-11-22 01:48:21.0 +
@@ -92,6 +92,7 @@ void throttle_vm_writeout(gfp_t gfp_mask
 
 /* These are exported to sysctl. */
 extern int dirty_background_ratio;
+extern int vm_dirty_highmem;
 extern int vm_dirty_ratio;
 extern int dirty_writeback_interval;
 extern int dirty_expire_interval;
Index: linux-2.6.23.8-reiserfix-fai-vmdirty/kernel/sysctl.c
===
--- linux-2.6.23.8-reiserfix-fai-vmdirty.orig/kernel/sysctl.c   2007-10-09 
20:31:38.0 +
+++ linux-2.6.23.8-reiserfix-fai-vmdirty/kernel/sysctl.c2007-11-22 
01:48:21.0 +
@@ -776,6 +776,7 @@ static ctl_table kern_table[] = {
 /* Constants for minimum and maximum testing in vm_table.
We use these as one-element integer vectors. */
 static int zero;
+static int one = 1;
 static int two = 2;
 static int one_hundred = 100;
 
@@ -1066,6 +1067,19 @@ static ctl_table vm_table[] = {
.extra1 = zero,
},
 #endif
+#ifdef CONFIG_HIGHMEM
+   {
+   .ctl_name   = CTL_UNNUMBERED,
+   .procname   = dirty_highmem,
+   .data   = vm_dirty_highmem,
+   .maxlen = sizeof(vm_dirty_highmem),
+   .mode   = 0644,
+   .proc_handler   = proc_dointvec_minmax,
+   .strategy   = sysctl_intvec,
+   .extra1 = zero,
+   .extra2 = one,
+   },
+#endif
 /*
  * NOTE: do not add new entries to this table unless you have read
  * Documentation/sysctl

Re: mmap dirty limits on 32 bit kernels (Was: [BUG] New Kernel Bugs)

2007-11-18 Thread Bron Gondwana
On Thu, Nov 15, 2007 at 01:14:32PM -0800, Linus Torvalds wrote:
 
Sorry about not replying to this earlier.  I actually got a weekend
away from the computer pretty much last weekend - took the kids
swimming, helped a friend clear dead wood from around her house
before the fire season.  Shocking I know.
 
> On Thu, 15 Nov 2007, Linus Torvalds wrote:
> > 
> > Unacceptable. We used to do exactly what your patch does, and it got fixed 
> > once. We're not introducing that fundamentally broken concept again.
> 
> Examples of non-broken solutions:
>  (a) always use lowmem sizes (what we do now)
>  (b) always use total mem sizes (sane but potentially dangerous: but the 
>  VM pressure should work! It has serious bounce-buffer issues, though, 
>  which is why I think it's crazy even if it's otherwise consistent)
>  (c) make all dirty counting be *purely* per-bdi, so that everybody can 
>  disagree on what the limits are, but at least they also then use 
>  different counters
> 
> So it's just the "different writers look at the same dirty counts but then 
> interpret it to mean totally different things" that I think is so 
> fundamentally bogus. I'm not claiming that what we do now is the only way 
> to do things, I just don't think your approach is tenable.
> 
> Btw, I actually suspect that while (a) is what we do now, for the specific 
> case that Bron has, we could have a /proc/sys/vm option to just enable 
> (b). So we don't have to have just one consistent model, we can allow odd 
> users (and Bron sounds like one - sorry Bron ;) to just force other, odd, 
> but consistent models.

Hey, if Andrew Morton can tell us we find all the interesting bugs, you
can call me odd.  I've been called worse!

We also run ReiserFS (3 of course, I tried 4 and it et my laptop disk)
on all our production IMAP servers.  Tried ext3 and the performance was
so horrible that our users hated us (and I hated being woken in the
night by things timing out and paging me).  And I'm spending far too
long still writing C thanks to Cyrus having enough bugs to keep me busy
for the rest of my natural life if I don't break and go write my own
IMAP server at some point. *clears throat*

> I'd also like to point out that while the "bounce buffer" issue is not so 
> much a HIGHMEM issue on its own (it's really about the device DMA limits, 
> which are _independent_ of HIGHMEM, of course), the reason HIGHMEM is 
> special is that without HIGHMEM the bounce buffers generally work 
> perfectly fine.
> 
> The problem with HIGHMEM is that it causes various metadata (dentries, 
> inodes, page struct tables etc) to eat up memory "prime real estate" under 
> the same kind of conditions that also dirty a lot of memory. So the reason 
> we disallow HIGHMEM from dirty limits is only *partly* the per-device or 
> mapping DMA limits, and to a large degree the fact that non-highmem memory 
> is special in general, and it is usually the non-highmem areas that are 
> constrained - and need to be protected.

I'm going to finish off writing a decent test case so I can reliably
reproduce the problem first, and then go compile a small set of kernels
with the various patches that have been thrown around here and see if
they solve the problems for me.

Thankfully I don't have the same problem you do Linus - I don't care if
any particular patch isn't consistent - isn't fair in the general sense
- even "doesn't work for anyone else".  So long as it's stable and it
works on this machine I'm happy to support it through the next couple
of years until we either get a world facing 64 bit machine with the
spare capacity to run DCC or we drop DCC.

The only reason to upgrade the kernel there at all is keeping up-to-date
with security patches, and the relative tradeoffs of backporting (or
expecting Adrian Bunk to keep doing it for us) rather than maintaing
a small patch to keep the behaviour of one thing we like.

And to all of you in this thread (especially Linus and Peter) - thanks
heaps for grabbing on to a throw away line in an unrelated discussion
and putting the work in to:

a) explain the problem and the cause to me before I put in heaps of
   work tracking it down; and

b) putting together some patches for me to test.

I saw a couple of days ago someone posted an "Ask Slashdot" whether
6 weeks was an appropriate time for a software vendor to get a fix
out to a customer and implying that the customer was an unrealistic
whiner to expect anyone to be able to do better.  I'll be able to
point to this thread if anyone suggests that you can't get decent
support on Linux!

Bron.
-
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: mmap dirty limits on 32 bit kernels (Was: [BUG] New Kernel Bugs)

2007-11-18 Thread Bron Gondwana
On Sun, Nov 18, 2007 at 04:13:18PM -0700, Daniel Phillips wrote:
> On Thursday 15 November 2007 14:24, Rob Mueller wrote:
> > > That's my personal opinion, and I realize that some of the
> > > commercial vendors may care about their insane customers'
> > > satisfaction, but I'm simply not interested in insane users. If
> > > they have that much RAM (and bought it a few years ago when a
> > > 64-bit CPU wasn't an option), they can't be poor.
> >
> > From our perspective, the main issue is that some of these machines
> > we spent quite a bit of money on the big RAM (for it's day) + lots of
> > 15k RPM SCSI drives + multi-year support contracts. They're highly IO
> > bound, and barely use 10-20% of their old 2.4Ghz Prestonia Xeon CPUs.
> > It's hard to justify junking those machines < 5 years.
> >
> > We have a couple of 6G machines and some 8G machines using PAE. On
> > the whole, they actually have been working really well (hmmm, apart
> > from the recent dirty pages issue + reiserfs data=journal leaks +
> > inodes in lowmem limits)
> 
> Junk everything except the 15K drives, you will be glad you did.  Too 
> bad about those multi-year support contracts, hopefully you got a deal 
> on them.

Actually, the 15K drives are the bit we're getting the least use out
of now, since we're moving everything to external SATA units that
are more easily swapable.
 
> Prediction: after these dirty pages issues are gone, there will be more 
> dirty page issues because the notion of dirty page limit is 
> fundamentally broken.  Your smartest recourse is to re-motherboard to a 
> place where the dirty page limit borkage does not hurt as much, and in 
> the process you will get a cheap hardware upgrade.  Everybody will be 
> happy, the sun will come out, the birds will sing.

Or just keep running 2.6.16 where it's all been working quite fine
thanks very much, or maintain a simple patch that rips all that out
since we don't care too much about "fairness" - we only run a couple
of things on that machine and they run fine.

Bron ( going to settle down and really test this stuff to make sure
   we have an acceptable "fix" for us then do 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: mmap dirty limits on 32 bit kernels (Was: [BUG] New Kernel Bugs)

2007-11-18 Thread Bron Gondwana
On Sun, Nov 18, 2007 at 04:13:18PM -0700, Daniel Phillips wrote:
 On Thursday 15 November 2007 14:24, Rob Mueller wrote:
   That's my personal opinion, and I realize that some of the
   commercial vendors may care about their insane customers'
   satisfaction, but I'm simply not interested in insane users. If
   they have that much RAM (and bought it a few years ago when a
   64-bit CPU wasn't an option), they can't be poor.
 
  From our perspective, the main issue is that some of these machines
  we spent quite a bit of money on the big RAM (for it's day) + lots of
  15k RPM SCSI drives + multi-year support contracts. They're highly IO
  bound, and barely use 10-20% of their old 2.4Ghz Prestonia Xeon CPUs.
  It's hard to justify junking those machines  5 years.
 
  We have a couple of 6G machines and some 8G machines using PAE. On
  the whole, they actually have been working really well (hmmm, apart
  from the recent dirty pages issue + reiserfs data=journal leaks +
  inodes in lowmem limits)
 
 Junk everything except the 15K drives, you will be glad you did.  Too 
 bad about those multi-year support contracts, hopefully you got a deal 
 on them.

Actually, the 15K drives are the bit we're getting the least use out
of now, since we're moving everything to external SATA units that
are more easily swapable.
 
 Prediction: after these dirty pages issues are gone, there will be more 
 dirty page issues because the notion of dirty page limit is 
 fundamentally broken.  Your smartest recourse is to re-motherboard to a 
 place where the dirty page limit borkage does not hurt as much, and in 
 the process you will get a cheap hardware upgrade.  Everybody will be 
 happy, the sun will come out, the birds will sing.

Or just keep running 2.6.16 where it's all been working quite fine
thanks very much, or maintain a simple patch that rips all that out
since we don't care too much about fairness - we only run a couple
of things on that machine and they run fine.

Bron ( going to settle down and really test this stuff to make sure
   we have an acceptable fix for us then do 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: mmap dirty limits on 32 bit kernels (Was: [BUG] New Kernel Bugs)

2007-11-18 Thread Bron Gondwana
On Thu, Nov 15, 2007 at 01:14:32PM -0800, Linus Torvalds wrote:
 
Sorry about not replying to this earlier.  I actually got a weekend
away from the computer pretty much last weekend - took the kids
swimming, helped a friend clear dead wood from around her house
before the fire season.  Shocking I know.
 
 On Thu, 15 Nov 2007, Linus Torvalds wrote:
  
  Unacceptable. We used to do exactly what your patch does, and it got fixed 
  once. We're not introducing that fundamentally broken concept again.
 
 Examples of non-broken solutions:
  (a) always use lowmem sizes (what we do now)
  (b) always use total mem sizes (sane but potentially dangerous: but the 
  VM pressure should work! It has serious bounce-buffer issues, though, 
  which is why I think it's crazy even if it's otherwise consistent)
  (c) make all dirty counting be *purely* per-bdi, so that everybody can 
  disagree on what the limits are, but at least they also then use 
  different counters
 
 So it's just the different writers look at the same dirty counts but then 
 interpret it to mean totally different things that I think is so 
 fundamentally bogus. I'm not claiming that what we do now is the only way 
 to do things, I just don't think your approach is tenable.
 
 Btw, I actually suspect that while (a) is what we do now, for the specific 
 case that Bron has, we could have a /proc/sys/vm option to just enable 
 (b). So we don't have to have just one consistent model, we can allow odd 
 users (and Bron sounds like one - sorry Bron ;) to just force other, odd, 
 but consistent models.

Hey, if Andrew Morton can tell us we find all the interesting bugs, you
can call me odd.  I've been called worse!

We also run ReiserFS (3 of course, I tried 4 and it et my laptop disk)
on all our production IMAP servers.  Tried ext3 and the performance was
so horrible that our users hated us (and I hated being woken in the
night by things timing out and paging me).  And I'm spending far too
long still writing C thanks to Cyrus having enough bugs to keep me busy
for the rest of my natural life if I don't break and go write my own
IMAP server at some point. *clears throat*

 I'd also like to point out that while the bounce buffer issue is not so 
 much a HIGHMEM issue on its own (it's really about the device DMA limits, 
 which are _independent_ of HIGHMEM, of course), the reason HIGHMEM is 
 special is that without HIGHMEM the bounce buffers generally work 
 perfectly fine.
 
 The problem with HIGHMEM is that it causes various metadata (dentries, 
 inodes, page struct tables etc) to eat up memory prime real estate under 
 the same kind of conditions that also dirty a lot of memory. So the reason 
 we disallow HIGHMEM from dirty limits is only *partly* the per-device or 
 mapping DMA limits, and to a large degree the fact that non-highmem memory 
 is special in general, and it is usually the non-highmem areas that are 
 constrained - and need to be protected.

I'm going to finish off writing a decent test case so I can reliably
reproduce the problem first, and then go compile a small set of kernels
with the various patches that have been thrown around here and see if
they solve the problems for me.

Thankfully I don't have the same problem you do Linus - I don't care if
any particular patch isn't consistent - isn't fair in the general sense
- even doesn't work for anyone else.  So long as it's stable and it
works on this machine I'm happy to support it through the next couple
of years until we either get a world facing 64 bit machine with the
spare capacity to run DCC or we drop DCC.

The only reason to upgrade the kernel there at all is keeping up-to-date
with security patches, and the relative tradeoffs of backporting (or
expecting Adrian Bunk to keep doing it for us) rather than maintaing
a small patch to keep the behaviour of one thing we like.

And to all of you in this thread (especially Linus and Peter) - thanks
heaps for grabbing on to a throw away line in an unrelated discussion
and putting the work in to:

a) explain the problem and the cause to me before I put in heaps of
   work tracking it down; and

b) putting together some patches for me to test.

I saw a couple of days ago someone posted an Ask Slashdot whether
6 weeks was an appropriate time for a software vendor to get a fix
out to a customer and implying that the customer was an unrealistic
whiner to expect anyone to be able to do better.  I'll be able to
point to this thread if anyone suggests that you can't get decent
support on Linux!

Bron.
-
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: [alsa-devel] [BUG] New Kernel Bugs

2007-11-15 Thread Bron Gondwana
On Thu, Nov 15, 2007 at 06:59:34AM +0100, Rene Herman wrote:
> On 15-11-07 05:16, Bron Gondwana wrote:
>
>> Totally unrelated - I sent something to the kolab mailing list a couple
>
> [ ... ]
>
>> I'm sure if I had something that I considered worth informing the ALSA 
>> project of, I'd be wary of spending the same effort writing a good post
>> knowing it may be dropped in between the by a list moderator just selecing 
>> all and bouncing them.
>
> Totally unrelated indeed so why are spouting crap? If the kohab list has a 
> problem take it up with them but keep ALSA out of it. alsa-devel has only 
> ever moderated out spam -- nothing else.

As an outsider to the list, how do I know what your policy will be
other than "I've been rejected out of hand by someone else's list, 
so my experience is that member only lists aren't willing to listen
to something I have to say unless I make the effort to sign up and
have yet another folder accumulating unread messages".  I don't.

Well, ok - maybe I do here since I've let myself be dragged in to
the debate.  Oops.

I get the same information from both project websites: "moderated
for non-members, public archives" - no way of knowing that ALSA
will accept me informing them of something they would be interested
without committing to reading or bit-bucketing their list.

The alternative is to subscribe just long enough to send something
and then unsubscribe again or cold-email a member and ask them
to pass a message along.  Or post and hope it doesn't get rejected,
not even knowing for a day or so.

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


mmap dirty limits on 32 bit kernels (Was: [BUG] New Kernel Bugs)

2007-11-15 Thread Bron Gondwana
On Wed, Nov 14, 2007 at 09:53:38PM -0800, Linus Torvalds wrote:
> 
> 
> On Wed, 14 Nov 2007, Linus Torvalds wrote:
> > 
> > So even at 100% dirty limits, it won't let you dirty more than 1GB on the 
> > default 32-bit setup.
> 
> Side note: all of these are obviously still just heuristics. If you really 
> *do* run on a 32-bit kernel, and you want to have the pain, I'm sure you 
> can just disable the dirty limits with a one-liner kernel mod. And if it's 
> useful enough, we can certainly expose flags like that.. Not that I expect 
> that much anybody else will ever care, but it's not like it's wrong to 
> expose the silly heuristics the kernel has to users that have very 
> specific loads.
> 
> That said, I still do hope you aren't actually using HIGHMEM64G. I was 
> really hoping that the people who had enough moolah to buy >4GB of RAM had 
> long since also upgraded to a 64-bit machine ;)

I'm afraid we are, which probably explains it.

We have a bunch of 64 bit machines, but this particular machine
is one of our somewhat more ancient IBM x235 machines.  It's
got stacks of fast SCSI drives and a couple of hyperthreading
Xeons in it.  Very nice machine in its day, and very reliable
which is why we have kept them, even though at 6RU it chews
through disk space.

Unfortunately none of the 64 bit machines are world facing,
and we're running HIGHMEM64G on a bunch of machines both for
consistency value and because we only have one machine left
with only 2Gb.

I guess we'll be doing the one-liner kernel mod and testing
that then.  I'd certainly like to build a test case anyway
so I'm not spending too much time rebooting that machine,
it's also our outbound SMTP gateway.

And I'll keep in mind finding a 64 bit capable machine for
the role when I can.

Thanks for the feedback on this - I'll come back with more
details once we've done some testing, but this sounds likely,
and I don't think DCC is going to change how it works, so
we're stuck supporting it.

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


mmap dirty limits on 32 bit kernels (Was: [BUG] New Kernel Bugs)

2007-11-15 Thread Bron Gondwana
On Wed, Nov 14, 2007 at 09:53:38PM -0800, Linus Torvalds wrote:
 
 
 On Wed, 14 Nov 2007, Linus Torvalds wrote:
  
  So even at 100% dirty limits, it won't let you dirty more than 1GB on the 
  default 32-bit setup.
 
 Side note: all of these are obviously still just heuristics. If you really 
 *do* run on a 32-bit kernel, and you want to have the pain, I'm sure you 
 can just disable the dirty limits with a one-liner kernel mod. And if it's 
 useful enough, we can certainly expose flags like that.. Not that I expect 
 that much anybody else will ever care, but it's not like it's wrong to 
 expose the silly heuristics the kernel has to users that have very 
 specific loads.
 
 That said, I still do hope you aren't actually using HIGHMEM64G. I was 
 really hoping that the people who had enough moolah to buy 4GB of RAM had 
 long since also upgraded to a 64-bit machine ;)

I'm afraid we are, which probably explains it.

We have a bunch of 64 bit machines, but this particular machine
is one of our somewhat more ancient IBM x235 machines.  It's
got stacks of fast SCSI drives and a couple of hyperthreading
Xeons in it.  Very nice machine in its day, and very reliable
which is why we have kept them, even though at 6RU it chews
through disk space.

Unfortunately none of the 64 bit machines are world facing,
and we're running HIGHMEM64G on a bunch of machines both for
consistency value and because we only have one machine left
with only 2Gb.

I guess we'll be doing the one-liner kernel mod and testing
that then.  I'd certainly like to build a test case anyway
so I'm not spending too much time rebooting that machine,
it's also our outbound SMTP gateway.

And I'll keep in mind finding a 64 bit capable machine for
the role when I can.

Thanks for the feedback on this - I'll come back with more
details once we've done some testing, but this sounds likely,
and I don't think DCC is going to change how it works, so
we're stuck supporting it.

Bron.
-
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: [alsa-devel] [BUG] New Kernel Bugs

2007-11-15 Thread Bron Gondwana
On Thu, Nov 15, 2007 at 06:59:34AM +0100, Rene Herman wrote:
 On 15-11-07 05:16, Bron Gondwana wrote:

 Totally unrelated - I sent something to the kolab mailing list a couple

 [ ... ]

 I'm sure if I had something that I considered worth informing the ALSA 
 project of, I'd be wary of spending the same effort writing a good post
 knowing it may be dropped in between the by a list moderator just selecing 
 all and bouncing them.

 Totally unrelated indeed so why are spouting crap? If the kohab list has a 
 problem take it up with them but keep ALSA out of it. alsa-devel has only 
 ever moderated out spam -- nothing else.

As an outsider to the list, how do I know what your policy will be
other than I've been rejected out of hand by someone else's list, 
so my experience is that member only lists aren't willing to listen
to something I have to say unless I make the effort to sign up and
have yet another folder accumulating unread messages.  I don't.

Well, ok - maybe I do here since I've let myself be dragged in to
the debate.  Oops.

I get the same information from both project websites: moderated
for non-members, public archives - no way of knowing that ALSA
will accept me informing them of something they would be interested
without committing to reading or bit-bucketing their list.

The alternative is to subscribe just long enough to send something
and then unsubscribe again or cold-email a member and ask them
to pass a message along.  Or post and hope it doesn't get rejected,
not even knowing for a day or so.

Bron.
-
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: [BUG] New Kernel Bugs

2007-11-14 Thread Bron Gondwana
On Wed, Nov 14, 2007 at 08:24:53PM -0800, Linus Torvalds wrote:
> 
> 
> On Thu, 15 Nov 2007, Bron Gondwana wrote:
> > 
> > And congratulations to him for that.  We almost entirely dropped 2.6.16,
> > but there's a regression some time since then that makes large MMAPed
> > files a major pain (specifically the dcc database clean takes about 5
> > minutes on 2.6.16 and about 12 hours on 2.6.20 or 2.6.23 series kernels)
> > 
> > But we keep putting off writing a small testcase that can repeat the
> > issue so we can bisect it - because it's working fine with 2.6.16 on
> > that machine.
> 
> Heh. I suspect you don't even need to bisect it.
> 
> The big difference with large mmap'ed files is that later kernels will 
> actually track dirty ratios for dirty mmap'ed pages. Earlier kernels never 
> did.
> 
> So in older kernels, you can dirty as much memory as you want, and the 
> kernel will never try to write it back (well - "never" here means one of 
> either (a) you ask it to with msync or (b) you run out of memory, when the 
> kernel then totally falls down and the machine is essentially unusuable).
> 
> So *if* the symptom seems to be that the later kernels do a lot more IO, 
> then try to change 
> 
>   /proc/sys/vm/dirty_[background_]ratio
> 
> which is just a percentage of memory (defaults to 5% for background and 
> 10% for foreground dirtying). Turn them both up a lot (say to 50 and 80 
> percent respectively) and see if that makes a difference.

>From our sysctl.conf:
# This should help reduce flushing on Cache::FastMmap files
vm.dirty_background_ratio = 50
vm.dirty_expire_centisecs = 9000
vm.dirty_ratio = 80
vm.dirty_writeback_centisecs = 3000

So we've already been running those settings for a while.  They didn't
help.

We also gave this thing its very own dedicated ServeRAID card and
associated RAID1 set of high speed SCSI drives (mainly because they
were just sitting there already attached to the machine and unused,
we don't love DCC that much) and it didn't help.  Helped the rest of
the machine now that the system drive wasn't being pegged 100% for
12 hours a day, but it didn't speed things up any.

It was making some pretty random little scattered changes all through
that file.  Hmm.. here's what the developers said about it:


  First dbclean creates a new dcc_db file by copying from the old file.
  As it copies, it decides whether each record is worth keeping.
  That involves looking up the checksums in the old hash table.  This
  is as almost afast a simple /bin/cp if the old dcc_db and dcc_db.hash
  files fit in RAM.

  The dbclean creates a new dcc_db.hash file.  This starts with
  creating an empty new dcc_db.hash file.  Then the new dcc_db and
  dcc_db.hash files are mapped into memory, and dbclean creates pointers
  to each checksum in the dcc_db file in the dcc_db.hash file.

  While dbclean is running, dccd unmaps everything and tries to stay out
  of the way.

 
> If so, you'll be the first one to officially even notice this change, I 
> think.

Yay for us.  Thankfully it doesn't affect Cyrus's MMAP usage (read only
with direct seek and write calls to change anything, then remap) or we
would have suffered pretty badly!

Guess we'd better get on to figuring building a simple test app.  The
mmap file that DCC uses is about 2Gb if that makes any difference:

-rw-r--r-- 1 dcc  dcc  2035138560 Nov 15 00:15 dcc_db
-rw-r--r-- 1 dcc  dcc   516612096 Nov 14 06:27 dcc_db.hash

The machine has 6Gb of memory and should be able to fit these
files fine:

[EMAIL PROTECTED] hm]$ free
 total   used   free sharedbuffers cached
Mem:   62323645758112 474252  0  417563002528
-/+ buffers/cache:27138283518536
Swap:  2048248  749441973304


And here's what top says about the process:
  15   0 1914m  57m  41m D5  1.0 346:07.79 dccd

This is on: 2.6.16.55-reiserfix-fai 
  (one small patch to reiserfs, and built with netboot support for FAI)


So yeah - we'll try to get a clearer idea of what it's doing, but the
knob twiddle didn't work for us.

Bron.
-
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: [BUG] New Kernel Bugs

2007-11-14 Thread Bron Gondwana
On Tue, Nov 13, 2007 at 10:56:01PM +0100, Christian Kujau wrote:
> On Tue, 13 Nov 2007, Andrew Morton wrote:
>> There are a number of process things we _could_ do.  Like
>> - have bugfix-only kernel releases
>
> Adrian Bunk does (did?) this with 2.6.16.x, although it always seemed to me 
> like an unrewarded one man show. AFAIK not even the big distros are begging 
> for bugfix-only versions, as they too want to have (sell) new features. 
> Mission critical systems might want to require such versions, but I guess 
> they're using heavily customized trees anyway.

And congratulations to him for that.  We almost entirely dropped 2.6.16,
but there's a regression some time since then that makes large MMAPed
files a major pain (specifically the dcc database clean takes about 5
minutes on 2.6.16 and about 12 hours on 2.6.20 or 2.6.23 series kernels)

But we keep putting off writing a small testcase that can repeat the
issue so we can bisect it - because it's working fine with 2.6.16 on
that machine.

Bron.
-
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: [alsa-devel] [BUG] New Kernel Bugs

2007-11-14 Thread Bron Gondwana
On Wed, Nov 14, 2007 at 12:46:24PM +0100, Rene Herman wrote:
> On 14-11-07 11:07, David Miller wrote:
>
> Added Jaroslav and Takashi to the already extensive CC
>
>> From: Russell King <[EMAIL PROTECTED]>
>
>>> So, when are you creating a replacement alsa-devel mailing list on
>>> vger?  That's also subscribers-only.
>> The operative term is "alternative" rather than "replacement".
>> Perhaps this misunderstanding is what you're so upset about.
>> And yes, that alsa list bugs the crap out of me too.  I'm more than
>> happy to provide an alternative for that one as well.
>
> [EMAIL PROTECTED] is not subscriber-only. Same as that arm list, 
> it's _moderated_ for non-subscribers and given that I and other moderators 
> have been doing our best to moderate quickly (I tend to stay logged in to 
> the moderation interface all day for example) what specifically bugged the 
> crap out of you? It's not something a poster needs to concern himself with.

Totally unrelated - I sent something to the kolab mailing list a couple
of days ago (it's moderated for non subscribers) informing them that I
had found the cause of some Cyrus bugs that they had problems with in
the past and providing a link to my post to the cyrus list with the
patches attached.

It sat in the moderation queue and then was rejected with "non
subscriber post to subscription only list".  Not only was the reponse a
day later when I had moved on to other things, but it got me really
pissed off that I had put some effort into providing a good quality post
that outlined the specific issues and how they applied to their project,
and had been summarily dismissed, probably without the effort being put
in.

There's no way for a non-subscriber to know in advance if the list they
are trying to post to will do that to them, completely negating the
effort put in to writing something worthwhile to inform that community.
It's insular, and it sucks.

So yeah, my attitude now is that the Kolab folks can go screw themselves
and track down the fix on their own or wait until I've convinced
upstream to accept the fixes (likely) and they have moved to the new
version (unlikely for a long time, and meanwhile they're missing out on
the performance increases that having a more stable skiplist library 
would give them)

I'm sure if I had something that I considered worth informing the ALSA
project of, I'd be wary of spending the same effort writing a good
post knowing it may be dropped in between the by a list moderator just
selecing all and bouncing them.

Bron.
-
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: [alsa-devel] [BUG] New Kernel Bugs

2007-11-14 Thread Bron Gondwana
On Wed, Nov 14, 2007 at 12:46:24PM +0100, Rene Herman wrote:
 On 14-11-07 11:07, David Miller wrote:

 Added Jaroslav and Takashi to the already extensive CC

 From: Russell King [EMAIL PROTECTED]

 So, when are you creating a replacement alsa-devel mailing list on
 vger?  That's also subscribers-only.
 The operative term is alternative rather than replacement.
 Perhaps this misunderstanding is what you're so upset about.
 And yes, that alsa list bugs the crap out of me too.  I'm more than
 happy to provide an alternative for that one as well.

 [EMAIL PROTECTED] is not subscriber-only. Same as that arm list, 
 it's _moderated_ for non-subscribers and given that I and other moderators 
 have been doing our best to moderate quickly (I tend to stay logged in to 
 the moderation interface all day for example) what specifically bugged the 
 crap out of you? It's not something a poster needs to concern himself with.

Totally unrelated - I sent something to the kolab mailing list a couple
of days ago (it's moderated for non subscribers) informing them that I
had found the cause of some Cyrus bugs that they had problems with in
the past and providing a link to my post to the cyrus list with the
patches attached.

It sat in the moderation queue and then was rejected with non
subscriber post to subscription only list.  Not only was the reponse a
day later when I had moved on to other things, but it got me really
pissed off that I had put some effort into providing a good quality post
that outlined the specific issues and how they applied to their project,
and had been summarily dismissed, probably without the effort being put
in.

There's no way for a non-subscriber to know in advance if the list they
are trying to post to will do that to them, completely negating the
effort put in to writing something worthwhile to inform that community.
It's insular, and it sucks.

So yeah, my attitude now is that the Kolab folks can go screw themselves
and track down the fix on their own or wait until I've convinced
upstream to accept the fixes (likely) and they have moved to the new
version (unlikely for a long time, and meanwhile they're missing out on
the performance increases that having a more stable skiplist library 
would give them)

I'm sure if I had something that I considered worth informing the ALSA
project of, I'd be wary of spending the same effort writing a good
post knowing it may be dropped in between the by a list moderator just
selecing all and bouncing them.

Bron.
-
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: [BUG] New Kernel Bugs

2007-11-14 Thread Bron Gondwana
On Tue, Nov 13, 2007 at 10:56:01PM +0100, Christian Kujau wrote:
 On Tue, 13 Nov 2007, Andrew Morton wrote:
 There are a number of process things we _could_ do.  Like
 - have bugfix-only kernel releases

 Adrian Bunk does (did?) this with 2.6.16.x, although it always seemed to me 
 like an unrewarded one man show. AFAIK not even the big distros are begging 
 for bugfix-only versions, as they too want to have (sell) new features. 
 Mission critical systems might want to require such versions, but I guess 
 they're using heavily customized trees anyway.

And congratulations to him for that.  We almost entirely dropped 2.6.16,
but there's a regression some time since then that makes large MMAPed
files a major pain (specifically the dcc database clean takes about 5
minutes on 2.6.16 and about 12 hours on 2.6.20 or 2.6.23 series kernels)

But we keep putting off writing a small testcase that can repeat the
issue so we can bisect it - because it's working fine with 2.6.16 on
that machine.

Bron.
-
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: [BUG] New Kernel Bugs

2007-11-14 Thread Bron Gondwana
On Wed, Nov 14, 2007 at 08:24:53PM -0800, Linus Torvalds wrote:
 
 
 On Thu, 15 Nov 2007, Bron Gondwana wrote:
  
  And congratulations to him for that.  We almost entirely dropped 2.6.16,
  but there's a regression some time since then that makes large MMAPed
  files a major pain (specifically the dcc database clean takes about 5
  minutes on 2.6.16 and about 12 hours on 2.6.20 or 2.6.23 series kernels)
  
  But we keep putting off writing a small testcase that can repeat the
  issue so we can bisect it - because it's working fine with 2.6.16 on
  that machine.
 
 Heh. I suspect you don't even need to bisect it.
 
 The big difference with large mmap'ed files is that later kernels will 
 actually track dirty ratios for dirty mmap'ed pages. Earlier kernels never 
 did.
 
 So in older kernels, you can dirty as much memory as you want, and the 
 kernel will never try to write it back (well - never here means one of 
 either (a) you ask it to with msync or (b) you run out of memory, when the 
 kernel then totally falls down and the machine is essentially unusuable).
 
 So *if* the symptom seems to be that the later kernels do a lot more IO, 
 then try to change 
 
   /proc/sys/vm/dirty_[background_]ratio
 
 which is just a percentage of memory (defaults to 5% for background and 
 10% for foreground dirtying). Turn them both up a lot (say to 50 and 80 
 percent respectively) and see if that makes a difference.

From our sysctl.conf:
# This should help reduce flushing on Cache::FastMmap files
vm.dirty_background_ratio = 50
vm.dirty_expire_centisecs = 9000
vm.dirty_ratio = 80
vm.dirty_writeback_centisecs = 3000

So we've already been running those settings for a while.  They didn't
help.

We also gave this thing its very own dedicated ServeRAID card and
associated RAID1 set of high speed SCSI drives (mainly because they
were just sitting there already attached to the machine and unused,
we don't love DCC that much) and it didn't help.  Helped the rest of
the machine now that the system drive wasn't being pegged 100% for
12 hours a day, but it didn't speed things up any.

It was making some pretty random little scattered changes all through
that file.  Hmm.. here's what the developers said about it:


  First dbclean creates a new dcc_db file by copying from the old file.
  As it copies, it decides whether each record is worth keeping.
  That involves looking up the checksums in the old hash table.  This
  is as almost afast a simple /bin/cp if the old dcc_db and dcc_db.hash
  files fit in RAM.

  The dbclean creates a new dcc_db.hash file.  This starts with
  creating an empty new dcc_db.hash file.  Then the new dcc_db and
  dcc_db.hash files are mapped into memory, and dbclean creates pointers
  to each checksum in the dcc_db file in the dcc_db.hash file.

  While dbclean is running, dccd unmaps everything and tries to stay out
  of the way.

 
 If so, you'll be the first one to officially even notice this change, I 
 think.

Yay for us.  Thankfully it doesn't affect Cyrus's MMAP usage (read only
with direct seek and write calls to change anything, then remap) or we
would have suffered pretty badly!

Guess we'd better get on to figuring building a simple test app.  The
mmap file that DCC uses is about 2Gb if that makes any difference:

-rw-r--r-- 1 dcc  dcc  2035138560 Nov 15 00:15 dcc_db
-rw-r--r-- 1 dcc  dcc   516612096 Nov 14 06:27 dcc_db.hash

The machine has 6Gb of memory and should be able to fit these
files fine:

[EMAIL PROTECTED] hm]$ free
 total   used   free sharedbuffers cached
Mem:   62323645758112 474252  0  417563002528
-/+ buffers/cache:27138283518536
Swap:  2048248  749441973304


And here's what top says about the process:
  15   0 1914m  57m  41m D5  1.0 346:07.79 dccd

This is on: 2.6.16.55-reiserfix-fai 
  (one small patch to reiserfs, and built with netboot support for FAI)


So yeah - we'll try to get a clearer idea of what it's doing, but the
knob twiddle didn't work for us.

Bron.
-
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: Ideas on column length in kernel "problem"?

2007-08-23 Thread Bron Gondwana
On Wed, Aug 22, 2007 at 11:54:41PM -0400, Scott Thompson wrote:
> Many free (and not-free) mail clients wordwrap.  Hushmail wraps at 
> 68 (verified), Yahoo has options to wrap at a max of 99, and Gmail 
> was somewhere around 85-90 as I recall.  Not sure on other free / 
> inexpensive clients.  

I work for them

FastMail (http://fastmail.fm/) have a tickbox in the web interface
so you can turn off line-wrapping if you need to.
 
Otherwise, as other people have said, use direct SMTP (we don't allow
it for non-paying accounts, but do for all levels of paying user)
and use a sane local client (in my case mutt+offlineimap)

Bron.
-
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: Ideas on column length in kernel problem?

2007-08-23 Thread Bron Gondwana
On Wed, Aug 22, 2007 at 11:54:41PM -0400, Scott Thompson wrote:
 Many free (and not-free) mail clients wordwrap.  Hushmail wraps at 
 68 (verified), Yahoo has options to wrap at a max of 99, and Gmail 
 was somewhere around 85-90 as I recall.  Not sure on other free / 
 inexpensive clients.  

disclaimerI work for them/disclaimer

FastMail (http://fastmail.fm/) have a tickbox in the web interface
so you can turn off line-wrapping if you need to.
 
Otherwise, as other people have said, use direct SMTP (we don't allow
it for non-paying accounts, but do for all levels of paying user)
and use a sane local client (in my case mutt+offlineimap)

Bron.
-
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: how about mutual compatibility between Linux's GPLv2 and GPLv3?

2007-06-21 Thread Bron Gondwana
On Thu, Jun 21, 2007 at 06:39:07AM -0300, Alexandre Oliva wrote:
> If GPLv3 were to have a clause that permitted combination/linking with
> code under GPLv2, this wouldn't be enough for GPLv3 projects to use
> Linux code, and it wouldn't be enough for Linux code to use GPLv3
> projects.  That's because GPLv2 would still demand all code to be
> licensed under GPLv2, and GPLv3 wouldn't permit this.
> 
> However, if GPLv3 had a permission to combine/link with code under
> GPLv2, *and* Linux (and any other projects interested in mutual
> compatibility) introduced an additional permission to combine/link
> with code under GPLv3 (or even GPLv3+, constrained by some condition
> if you will), then:

My god, you really have come totally unhinged in your attempt to
reconcile two incompatible ideas.  Ouch.

The reason the GPLv2 ecosystem is so strong is that you can take any
code under GPLv2 and combine it with any other code under GPLv2 and the
result is GPLv2.  All you have to check is that the original code is
either GPLv2 or a licence that allows conversion to GPLv2, that's it.

None of this "Projects" nonsense.

Who says what code is a "project" and if it has any special
relationships with other "projects" that allow code sharing above and
beyond their standard licence terms.  Suddenly using other GPLv2 code
becomes fraught with "which path did I obtain this licence down" games
and either a big fat pile of paperwork or plain not being able to be
clear about the licencing of of the code.

It's not about projects, it's about the code.  Gah.  You're not going
to make a happy, happy merging code sharing world by fragmenting the
licence landscape even more.

Bron.
-
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: how about mutual compatibility between Linux's GPLv2 and GPLv3?

2007-06-21 Thread Bron Gondwana
On Thu, Jun 21, 2007 at 08:23:57PM -0300, Alexandre Oliva wrote:
> On Jun 21, 2007, "David Schwartz" <[EMAIL PROTECTED]> wrote:
> 
> >> > Wouldn't that defeat the entire purpose of the GPLv3? Couldn't
> >> > I take any
> >> > GPLv3 program, combine it with a few lines of Linux code, and
> >> > Tivoize the
> >> > result?
> 
> >> No.  This is not permission to relicense.  This is permission to
> >> combine.  Each author still gets to enforce the terms of her own code.
> 
> > This makes no sense. We are not talking mere aggregation here, we are
> > talking developmental convergence. If I wrote some code that was in the
> > Linux kernel, how can I enforce the terms of my code (guaranteed write to
> > Tivoize) in the derivative work that it becomes mixed with?
> 
> In just the same way you'd enforce it today: with help from a lawyer
> who understands these issues that you clearly don't understand.

Great, so for ever and ever afterwards the code would have to keep a
clear separation between the bits that are under different licences and
make sure that no re-factor ever blurred the lines between them enough
that you had trouble telling which was which.

And don't even get me started about some poor innocent end-user who just
wants to use some code from your mutant frankenstein "project" in her
pong game (or was it tetris, I lose track of what you're supposed to be
playing on your hacked TiVo while it's not allowed to connect to their
network any more) and understand what licence the final work is under.

Ouch.

Bron.
-
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: TUX2 filesystem

2007-06-21 Thread Bron Gondwana
On Thu, Jun 21, 2007 at 03:26:15PM -0700, Zach Brown wrote:
> > Second, Oracle is now working on Btrfs (if ever a FS needed a better 
> > name... is that pronounced ButterFS?).
> 
> (In our silliest moments, yes.  Absolutely.)

I'm sure when the PHBen are around it's "Better FS".

It's all a Free(software)Mason conspiracy, I tell you.

Bron.
-
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: TUX2 filesystem

2007-06-21 Thread Bron Gondwana
On Thu, Jun 21, 2007 at 03:26:15PM -0700, Zach Brown wrote:
  Second, Oracle is now working on Btrfs (if ever a FS needed a better 
  name... is that pronounced ButterFS?).
 
 (In our silliest moments, yes.  Absolutely.)

I'm sure when the PHBen are around it's Better FS.

It's all a Free(software)Mason conspiracy, I tell you.

Bron.
-
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: how about mutual compatibility between Linux's GPLv2 and GPLv3?

2007-06-21 Thread Bron Gondwana
On Thu, Jun 21, 2007 at 06:39:07AM -0300, Alexandre Oliva wrote:
 If GPLv3 were to have a clause that permitted combination/linking with
 code under GPLv2, this wouldn't be enough for GPLv3 projects to use
 Linux code, and it wouldn't be enough for Linux code to use GPLv3
 projects.  That's because GPLv2 would still demand all code to be
 licensed under GPLv2, and GPLv3 wouldn't permit this.
 
 However, if GPLv3 had a permission to combine/link with code under
 GPLv2, *and* Linux (and any other projects interested in mutual
 compatibility) introduced an additional permission to combine/link
 with code under GPLv3 (or even GPLv3+, constrained by some condition
 if you will), then:

My god, you really have come totally unhinged in your attempt to
reconcile two incompatible ideas.  Ouch.

The reason the GPLv2 ecosystem is so strong is that you can take any
code under GPLv2 and combine it with any other code under GPLv2 and the
result is GPLv2.  All you have to check is that the original code is
either GPLv2 or a licence that allows conversion to GPLv2, that's it.

None of this Projects nonsense.

Who says what code is a project and if it has any special
relationships with other projects that allow code sharing above and
beyond their standard licence terms.  Suddenly using other GPLv2 code
becomes fraught with which path did I obtain this licence down games
and either a big fat pile of paperwork or plain not being able to be
clear about the licencing of of the code.

It's not about projects, it's about the code.  Gah.  You're not going
to make a happy, happy merging code sharing world by fragmenting the
licence landscape even more.

Bron.
-
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: how about mutual compatibility between Linux's GPLv2 and GPLv3?

2007-06-21 Thread Bron Gondwana
On Thu, Jun 21, 2007 at 08:23:57PM -0300, Alexandre Oliva wrote:
 On Jun 21, 2007, David Schwartz [EMAIL PROTECTED] wrote:
 
   Wouldn't that defeat the entire purpose of the GPLv3? Couldn't
   I take any
   GPLv3 program, combine it with a few lines of Linux code, and
   Tivoize the
   result?
 
  No.  This is not permission to relicense.  This is permission to
  combine.  Each author still gets to enforce the terms of her own code.
 
  This makes no sense. We are not talking mere aggregation here, we are
  talking developmental convergence. If I wrote some code that was in the
  Linux kernel, how can I enforce the terms of my code (guaranteed write to
  Tivoize) in the derivative work that it becomes mixed with?
 
 In just the same way you'd enforce it today: with help from a lawyer
 who understands these issues that you clearly don't understand.

Great, so for ever and ever afterwards the code would have to keep a
clear separation between the bits that are under different licences and
make sure that no re-factor ever blurred the lines between them enough
that you had trouble telling which was which.

And don't even get me started about some poor innocent end-user who just
wants to use some code from your mutant frankenstein project in her
pong game (or was it tetris, I lose track of what you're supposed to be
playing on your hacked TiVo while it's not allowed to connect to their
network any more) and understand what licence the final work is under.

Ouch.

Bron.
-
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: Versioning file system

2007-06-19 Thread Bron Gondwana
On Mon, Jun 18, 2007 at 11:10:42PM -0400, Kyle Moffett wrote:
> On Jun 18, 2007, at 13:56:05, Bryan Henderson wrote:
>>> The question remains is where to implement versioning: directly in 
>>> individual filesystems or in the vfs code so all filesystems can use it?
>>
>> Or not in the kernel at all.  I've been doing versioning of the types I 
>> described for years with user space code and I don't remember feeling that 
>> I compromised in order not to involve the kernel.
>
> What I think would be particularly interesting in this domain is something 
> similar in concept to GIT, except in a file-system:

I've written a couple of user-space things very much like this - one
being a purely database (blobs in database, yeah I know) system for
managing medical data, where signatures and auditability were the most
important part of the system.  Performance really wasn't a
consideration.

The other one is my current job, FastMail - we have a virtual filesystem
which uses files stored by sha1 on ordainary filesystems for data
storage and a database for metadata (filename to sha1 mappings, mtime,
mimetype, directory structure, etc).

Multiple machine distribution is handled by a daemon on each machine
which can be asked to make sure the file gets sent out to every machine
that matches the prefix and will only return success once it's written
to at least one other machine.  Database replication is a different
beast.


It can work, but there's one big pain at the file level: no mmap.

If you don't want to support mmap it can work reasonably happily, though
you may want to keep your sha1 (or other digest) state as well as the
final digest so you can cheaply calculate the digest for a small append
without walking the entire file.  You may also want to keep state
checkpoints every so often along a big file so that truncates don't cost
too much to recalculate.

Luckily in a userspace VFS that's only accessed via FTP and DAV we can
support a limited set of operations (basically create, append, read,
delete)  You don't get that luxury for a general purpose filesystem, and
that's the problem.  There will always be particular usage patterns
(especially something that mmaps or seeks and touches all over the place
like a loopback mounted filesystem or a database file) that just dodn't
work for file-level sha1s.


It does have some lovely properties though.  I'd enjoy working in an
envionment that didn't look much like POSIX but had the strong
guarantees and auditability that addressing by sha1 buys you.

Bron.


-
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: Versioning file system

2007-06-19 Thread Bron Gondwana
On Mon, Jun 18, 2007 at 11:10:42PM -0400, Kyle Moffett wrote:
 On Jun 18, 2007, at 13:56:05, Bryan Henderson wrote:
 The question remains is where to implement versioning: directly in 
 individual filesystems or in the vfs code so all filesystems can use it?

 Or not in the kernel at all.  I've been doing versioning of the types I 
 described for years with user space code and I don't remember feeling that 
 I compromised in order not to involve the kernel.

 What I think would be particularly interesting in this domain is something 
 similar in concept to GIT, except in a file-system:

I've written a couple of user-space things very much like this - one
being a purely database (blobs in database, yeah I know) system for
managing medical data, where signatures and auditability were the most
important part of the system.  Performance really wasn't a
consideration.

The other one is my current job, FastMail - we have a virtual filesystem
which uses files stored by sha1 on ordainary filesystems for data
storage and a database for metadata (filename to sha1 mappings, mtime,
mimetype, directory structure, etc).

Multiple machine distribution is handled by a daemon on each machine
which can be asked to make sure the file gets sent out to every machine
that matches the prefix and will only return success once it's written
to at least one other machine.  Database replication is a different
beast.


It can work, but there's one big pain at the file level: no mmap.

If you don't want to support mmap it can work reasonably happily, though
you may want to keep your sha1 (or other digest) state as well as the
final digest so you can cheaply calculate the digest for a small append
without walking the entire file.  You may also want to keep state
checkpoints every so often along a big file so that truncates don't cost
too much to recalculate.

Luckily in a userspace VFS that's only accessed via FTP and DAV we can
support a limited set of operations (basically create, append, read,
delete)  You don't get that luxury for a general purpose filesystem, and
that's the problem.  There will always be particular usage patterns
(especially something that mmaps or seeks and touches all over the place
like a loopback mounted filesystem or a database file) that just dodn't
work for file-level sha1s.


It does have some lovely properties though.  I'd enjoy working in an
envionment that didn't look much like POSIX but had the strong
guarantees and auditability that addressing by sha1 buys you.

Bron.


-
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: Dual-Licensing Linux Kernel with GPL V2 and GPL V3

2007-06-18 Thread Bron Gondwana
On Mon, Jun 18, 2007 at 01:03:40PM -0700, David Schwartz wrote:
> So you're arguing two sides of no argument at all.

Yeah, pretty much.  I take back my arguments in the previous
couple of my posts up this thread.  They don't actually hold
together!  Sorry for wasting your time correct me.

Bron.
-
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: Versioning file system

2007-06-18 Thread Bron Gondwana
On Mon, Jun 18, 2007 at 11:32:38AM -0400, Chris Mason wrote:
> On Mon, Jun 18, 2007 at 03:45:24AM -0600, Andreas Dilger wrote:
> > Too bad everyone is spending time on 10 similar-but-slightly-different
> > filesystems.  This will likely end up with a bunch of filesystems that
> > implement some easy subset of features, but will not get polished for
> > users or have a full set of features implemented (e.g. ACL, quota, fsck,
> > etc).  While I don't think there is a single answer to every question,
> > it does seem that the number of filesystem projects has climbed lately.
> > 
> > Maybe there should be a BOF at OLS to merge these filesystem projects
> > (btrfs, chunkfs, tilefs, logfs, etc) into a single project with multiple
> > people working on getting it solid, scalable (parallel readers/writers on
> > lots of CPUs), robust (checksums, failure localization), recoverable, etc.
> > I thought Val's FS summits were designed to get developers to collaborate,
> > but it seems everyone has gone back to their corners to work on their own
> > filesystem?
> 
> Unfortunately, I can't do OLS this year, but anyone who wants to talk on
> these things can drop me a line and we can setup phone calls or whatever
> for planning.  Adding polish to any FS is not a one man show, and so I know
> I'll need to get more people on board to really finish btrfs off.
> 
> One of my long term goals for btrfs is to figure out the features and
> layout people are most interested in for filesystems that don't have to
> be ext* backwards compatible.  I've got a pretty good start, but I'm
> sure parts of it will change if I can get a big enough developer base.

I have no filesystem programming experience, but I am certainly
interested, and I'm spending some time reading through the code that
you've written so far.  Oh, and running it - though I'm probably going
to want to fiddle with some smaller filesystems than my entire Maildir
set if I want to make any sense of the structure dumps!

That and of course if I get involved in development I can be sure that
my favourite workload (big Cyrus installs) is well optimized for!

Actually, my biggest interest is decent unlink performance, in
particular when you are unlinking multiple items in a directory or
even the entire directory plus everything in it.  I find that to be
an incredibly slow and IO hurting operation.  We run cyr_expire
(the process in Cyrus that actually deletes expunged messages) once
per week, and only one process at a time on a machine which might have
20 otherwise busy instances of Cyrus running - because the IO hit on
those data partitions is massive.  Load average more than doubles and
the log entries for commands which took longer than a second to return
increase massively.

And this is on a Sunday when there's barely any use compared to a
weekday.

So yeah, my main interest is making unlink (especially multiple unlinks
from the same directory) into a less extreme experience.

Bron.
-
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: Dual-Licensing Linux Kernel with GPL V2 and GPL V3

2007-06-18 Thread Bron Gondwana
On Sun, Jun 17, 2007 at 07:45:38PM -0500, Chris Adams wrote:
> Once upon a time, Bron Gondwana <[EMAIL PROTECTED]> said:
> > To be fair here, this could also be accomplished by having to flip a
> > physical switch on the router, especially if you did something funky
> > like:
> > 
> > [---] push this button for a 5 minute access pass to upload new
> >   software through physical cable port 1.
> > 
> > More complex, but not unreasonable.
> 
> Well, there is no restriction on putting files on the routing engine's
> storage devices (flash and hard drive); it is running OpenSSH, so
> scp/sftp work fine, and you can drop to a shell easily.  The restriction
> is that the kernel won't run unsigned binaries.
> 
> Also, flipping physical switches is pretty much an unreasonable
> expectation for core router operation.  These are often in other
> locations, sometimes other telcos' central offices (where you have to
> pay to have "remote hands" do something and then hope they don't screw
> it up).  You can easily go the entire life of a device where the primary
> operators never physically see the device.

Every server I run is like that, but if something is important enough I
can remote control a robot over to push the button for me (actually, I
think they implement this under the hood by having a human read the
ticket I submit and go push the button for me manually, but that could
be my imagination.  So long as the button gets pushed the black box is
functioning)

Bron.
-
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: Dual-Licensing Linux Kernel with GPL V2 and GPL V3

2007-06-18 Thread Bron Gondwana
On Sun, Jun 17, 2007 at 07:45:38PM -0500, Chris Adams wrote:
 Once upon a time, Bron Gondwana [EMAIL PROTECTED] said:
  To be fair here, this could also be accomplished by having to flip a
  physical switch on the router, especially if you did something funky
  like:
  
  [---] push this button for a 5 minute access pass to upload new
software through physical cable port 1.
  
  More complex, but not unreasonable.
 
 Well, there is no restriction on putting files on the routing engine's
 storage devices (flash and hard drive); it is running OpenSSH, so
 scp/sftp work fine, and you can drop to a shell easily.  The restriction
 is that the kernel won't run unsigned binaries.
 
 Also, flipping physical switches is pretty much an unreasonable
 expectation for core router operation.  These are often in other
 locations, sometimes other telcos' central offices (where you have to
 pay to have remote hands do something and then hope they don't screw
 it up).  You can easily go the entire life of a device where the primary
 operators never physically see the device.

Every server I run is like that, but if something is important enough I
can remote control a robot over to push the button for me (actually, I
think they implement this under the hood by having a human read the
ticket I submit and go push the button for me manually, but that could
be my imagination.  So long as the button gets pushed the black box is
functioning)

Bron.
-
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: Versioning file system

2007-06-18 Thread Bron Gondwana
On Mon, Jun 18, 2007 at 11:32:38AM -0400, Chris Mason wrote:
 On Mon, Jun 18, 2007 at 03:45:24AM -0600, Andreas Dilger wrote:
  Too bad everyone is spending time on 10 similar-but-slightly-different
  filesystems.  This will likely end up with a bunch of filesystems that
  implement some easy subset of features, but will not get polished for
  users or have a full set of features implemented (e.g. ACL, quota, fsck,
  etc).  While I don't think there is a single answer to every question,
  it does seem that the number of filesystem projects has climbed lately.
  
  Maybe there should be a BOF at OLS to merge these filesystem projects
  (btrfs, chunkfs, tilefs, logfs, etc) into a single project with multiple
  people working on getting it solid, scalable (parallel readers/writers on
  lots of CPUs), robust (checksums, failure localization), recoverable, etc.
  I thought Val's FS summits were designed to get developers to collaborate,
  but it seems everyone has gone back to their corners to work on their own
  filesystem?
 
 Unfortunately, I can't do OLS this year, but anyone who wants to talk on
 these things can drop me a line and we can setup phone calls or whatever
 for planning.  Adding polish to any FS is not a one man show, and so I know
 I'll need to get more people on board to really finish btrfs off.
 
 One of my long term goals for btrfs is to figure out the features and
 layout people are most interested in for filesystems that don't have to
 be ext* backwards compatible.  I've got a pretty good start, but I'm
 sure parts of it will change if I can get a big enough developer base.

I have no filesystem programming experience, but I am certainly
interested, and I'm spending some time reading through the code that
you've written so far.  Oh, and running it - though I'm probably going
to want to fiddle with some smaller filesystems than my entire Maildir
set if I want to make any sense of the structure dumps!

That and of course if I get involved in development I can be sure that
my favourite workload (big Cyrus installs) is well optimized for!

Actually, my biggest interest is decent unlink performance, in
particular when you are unlinking multiple items in a directory or
even the entire directory plus everything in it.  I find that to be
an incredibly slow and IO hurting operation.  We run cyr_expire
(the process in Cyrus that actually deletes expunged messages) once
per week, and only one process at a time on a machine which might have
20 otherwise busy instances of Cyrus running - because the IO hit on
those data partitions is massive.  Load average more than doubles and
the log entries for commands which took longer than a second to return
increase massively.

And this is on a Sunday when there's barely any use compared to a
weekday.

So yeah, my main interest is making unlink (especially multiple unlinks
from the same directory) into a less extreme experience.

Bron.
-
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: Dual-Licensing Linux Kernel with GPL V2 and GPL V3

2007-06-18 Thread Bron Gondwana
On Mon, Jun 18, 2007 at 01:03:40PM -0700, David Schwartz wrote:
 So you're arguing two sides of no argument at all.

Yeah, pretty much.  I take back my arguments in the previous
couple of my posts up this thread.  They don't actually hold
together!  Sorry for wasting your time correct me.

Bron.
-
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: Dual-Licensing Linux Kernel with GPL V2 and GPL V3

2007-06-17 Thread Bron Gondwana
On Sun, Jun 17, 2007 at 04:58:40PM -0500, Chris Adams wrote:
> Once upon a time, Jesper Juhl <[EMAIL PROTECTED]> said:
> >Let's say I'm the owner of a company selling some device that uses a
> >GPLv2 OS and some GPLv2 applications to do the job. Let's say that for
> >some reason I don't want the end users of my device to tinker with the
> >software inside my device.  Obviously I release the source for any
> >modifications I may have made, but I use the hardware to prevent users
> >from installing modified versions on the device (basically I TiVO'ize
> >the device).
> 
> BTW: Another reason a vendor might lock down the device is for security.
> For example, Juniper routers (which now run a significant portion of the
> "core" of the Internet) run FreeBSD on the routing engine.  They include
> several GNU software utilities (for example gawk, diff, and gdb).
> Starting with JUNOS 7.6 (IIRC), end-users can no longer build and run
> their own binaries on the routing engine.  This means that the GPLv2
> code cannot be modified in-place (similar to TiVo altough done using
> different means).
> 
> The reason is that if there ever is a security hole in the routing
> engine software (FreeBSD kernel, OpenSSH, etc.), it would be a really
> bad thing if crackers could load arbitrary software (rootkits, spam
> software, etc.) directly on Internet core routers.  If you think spam
> zombies on cable modems or DSL are bad, imagine them on 100 megabit
> links!

To be fair here, this could also be accomplished by having to flip a
physical switch on the router, especially if you did something funky
like:

[---] push this button for a 5 minute access pass to upload new
  software through physical cable port 1.

More complex, but not unreasonable.

Bron.
-
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: Dual-Licensing Linux Kernel with GPL V2 and GPL V3

2007-06-17 Thread Bron Gondwana
On Sat, Jun 16, 2007 at 05:58:11PM -0700, Linus Torvalds wrote:
> 
> 
> On Sun, 17 Jun 2007, Bron Gondwana wrote:
> > 
> > No, I'm arguing that it's not "mere aggregation" - the kernel is useless
> > on that machine unless the BIOS is present or replaced with something
> > else with equivalent functionality.
> 
> That's *not* a valid argument!
> 
> I know, I know, it's a common one, but it is *nonsense*.

Further to my other response on this (yeah, I know, I should think
first).

Where the BIOS author and 'work aggregator' are different organisation
with no shady backroom links (other than the usual industry cabal(TINC)
of course) then it's clear.

When they are the same organisation then the derivedness state is a lot
less clear and more "discoverable", leading to a higher risk of ambush
by litigation.

This isn't specific to any particular licence, but it's something that
the "intent" theory of hardware limitations being a GPL3 violation makes
extra dangerous, because that clause can be used as a hook to drag a
claim through summary judgement (IMHO, IANAL, etc)

Bron ( mostly arguing the same things that you are Linus, I think, but
   I didn't clarify that I was writing from a devil's advocate
   position in an alternative reality where Tivo was illegal
   purely due to "intent" )
-
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: Dual-Licensing Linux Kernel with GPL V2 and GPL V3

2007-06-17 Thread Bron Gondwana
On Sun, Jun 17, 2007 at 02:38:43AM -0300, Alexandre Oliva wrote:
> On Jun 17, 2007, Daniel Hazelton <[EMAIL PROTECTED]> wrote:
> 
> > Ah, but giving the user half the key doesn't mean they still don't have 
> > access 
> > to the entire key. QED: Giving people half the key won't cut it under the 
> > GPLv3 (dd4)
> 
> I meant really giving, rather than giving a copy, or giving the
> original and keeping a copy.
> 
> You could make it require a pair of signatures, one from the vendor,
> that the vendor keeps, one from the user, that the vendor never sees,
> too.  Like some bank PINs, it gets generated, used to generate some
> hash (the signature for the initial installation), printed in an
> envelope for you and stored in the package along with the machine.  Or
> something like that.

Wow, and I thought losing a microsoft "certificate of authenticity" and
associated key was a pain.  Ouch.  Talk about your paper "dongle".
-
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: Dual-Licensing Linux Kernel with GPL V2 and GPL V3

2007-06-17 Thread Bron Gondwana
On Sat, Jun 16, 2007 at 05:58:11PM -0700, Linus Torvalds wrote:
> On Sun, 17 Jun 2007, Bron Gondwana wrote:
> > 
> > No, I'm arguing that it's not "mere aggregation" - the kernel is useless
> > on that machine unless the BIOS is present or replaced with something
> > else with equivalent functionality.
> 
> That's *not* a valid argument!
> 
> But it's all still "mere aggregation", because they are not related to 
> each other in the sense of being derived works!
> 
> So "mere aggregation" is not about intimacy. OF COURSE high-tech products 
> depend intimately on each other. The Linux kernel cannot boot on a PC 
> without a BIOS or something equivalent. You cannot run your graphical 
> environment without a kernel, an X server, the CPU, the memory, the 
> display, the BIOS, the power company (or an equivalent hand-crank) etc etc 
> etc, and these things are all very much dependent on each other to make a 
> "usable system", that has absolutely _zero_ relevance to whether they are 
> "mere aggregation" or not.

Ok, can I please rewrite my argument to:

"The hardware manufacturer has built a custom BIOS and also written
Linux kernel support for said BIOS.  They have released the kernel
drivers under GPL as required, but have not released the code to the
BIOS, instead just releasing the interface documentation.  The BIOS
didn't exist before, and as they only intend to run Linux on the
device, the BIOS design was heavily influenced around working well
with Linux."

Actually, we don't know that last bit, maybe they created the BIOS
in a total vacuum and then wrote the Linux kernel driver later.
Maybe not.

Anyway, I think I've wound up arguing two sides of the same argument,
oops.

Bron.
-
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: Dual-Licensing Linux Kernel with GPL V2 and GPL V3

2007-06-17 Thread Bron Gondwana
On Sat, Jun 16, 2007 at 05:58:11PM -0700, Linus Torvalds wrote:
 On Sun, 17 Jun 2007, Bron Gondwana wrote:
  
  No, I'm arguing that it's not mere aggregation - the kernel is useless
  on that machine unless the BIOS is present or replaced with something
  else with equivalent functionality.
 
 That's *not* a valid argument!
 
 But it's all still mere aggregation, because they are not related to 
 each other in the sense of being derived works!
 
 So mere aggregation is not about intimacy. OF COURSE high-tech products 
 depend intimately on each other. The Linux kernel cannot boot on a PC 
 without a BIOS or something equivalent. You cannot run your graphical 
 environment without a kernel, an X server, the CPU, the memory, the 
 display, the BIOS, the power company (or an equivalent hand-crank) etc etc 
 etc, and these things are all very much dependent on each other to make a 
 usable system, that has absolutely _zero_ relevance to whether they are 
 mere aggregation or not.

Ok, can I please rewrite my argument to:

The hardware manufacturer has built a custom BIOS and also written
Linux kernel support for said BIOS.  They have released the kernel
drivers under GPL as required, but have not released the code to the
BIOS, instead just releasing the interface documentation.  The BIOS
didn't exist before, and as they only intend to run Linux on the
device, the BIOS design was heavily influenced around working well
with Linux.

Actually, we don't know that last bit, maybe they created the BIOS
in a total vacuum and then wrote the Linux kernel driver later.
Maybe not.

Anyway, I think I've wound up arguing two sides of the same argument,
oops.

Bron.
-
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: Dual-Licensing Linux Kernel with GPL V2 and GPL V3

2007-06-17 Thread Bron Gondwana
On Sun, Jun 17, 2007 at 02:38:43AM -0300, Alexandre Oliva wrote:
 On Jun 17, 2007, Daniel Hazelton [EMAIL PROTECTED] wrote:
 
  Ah, but giving the user half the key doesn't mean they still don't have 
  access 
  to the entire key. QED: Giving people half the key won't cut it under the 
  GPLv3 (dd4)
 
 I meant really giving, rather than giving a copy, or giving the
 original and keeping a copy.
 
 You could make it require a pair of signatures, one from the vendor,
 that the vendor keeps, one from the user, that the vendor never sees,
 too.  Like some bank PINs, it gets generated, used to generate some
 hash (the signature for the initial installation), printed in an
 envelope for you and stored in the package along with the machine.  Or
 something like that.

Wow, and I thought losing a microsoft certificate of authenticity and
associated key was a pain.  Ouch.  Talk about your paper dongle.
-
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: Dual-Licensing Linux Kernel with GPL V2 and GPL V3

2007-06-17 Thread Bron Gondwana
On Sat, Jun 16, 2007 at 05:58:11PM -0700, Linus Torvalds wrote:
 
 
 On Sun, 17 Jun 2007, Bron Gondwana wrote:
  
  No, I'm arguing that it's not mere aggregation - the kernel is useless
  on that machine unless the BIOS is present or replaced with something
  else with equivalent functionality.
 
 That's *not* a valid argument!
 
 I know, I know, it's a common one, but it is *nonsense*.

Further to my other response on this (yeah, I know, I should think
first).

Where the BIOS author and 'work aggregator' are different organisation
with no shady backroom links (other than the usual industry cabal(TINC)
of course) then it's clear.

When they are the same organisation then the derivedness state is a lot
less clear and more discoverable, leading to a higher risk of ambush
by litigation.

This isn't specific to any particular licence, but it's something that
the intent theory of hardware limitations being a GPL3 violation makes
extra dangerous, because that clause can be used as a hook to drag a
claim through summary judgement (IMHO, IANAL, etc)

Bron ( mostly arguing the same things that you are Linus, I think, but
   I didn't clarify that I was writing from a devil's advocate
   position in an alternative reality where Tivo was illegal
   purely due to intent )
-
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: Dual-Licensing Linux Kernel with GPL V2 and GPL V3

2007-06-17 Thread Bron Gondwana
On Sun, Jun 17, 2007 at 04:58:40PM -0500, Chris Adams wrote:
 Once upon a time, Jesper Juhl [EMAIL PROTECTED] said:
 Let's say I'm the owner of a company selling some device that uses a
 GPLv2 OS and some GPLv2 applications to do the job. Let's say that for
 some reason I don't want the end users of my device to tinker with the
 software inside my device.  Obviously I release the source for any
 modifications I may have made, but I use the hardware to prevent users
 from installing modified versions on the device (basically I TiVO'ize
 the device).
 
 BTW: Another reason a vendor might lock down the device is for security.
 For example, Juniper routers (which now run a significant portion of the
 core of the Internet) run FreeBSD on the routing engine.  They include
 several GNU software utilities (for example gawk, diff, and gdb).
 Starting with JUNOS 7.6 (IIRC), end-users can no longer build and run
 their own binaries on the routing engine.  This means that the GPLv2
 code cannot be modified in-place (similar to TiVo altough done using
 different means).
 
 The reason is that if there ever is a security hole in the routing
 engine software (FreeBSD kernel, OpenSSH, etc.), it would be a really
 bad thing if crackers could load arbitrary software (rootkits, spam
 software, etc.) directly on Internet core routers.  If you think spam
 zombies on cable modems or DSL are bad, imagine them on 100 megabit
 links!

To be fair here, this could also be accomplished by having to flip a
physical switch on the router, especially if you did something funky
like:

[---] push this button for a 5 minute access pass to upload new
  software through physical cable port 1.

More complex, but not unreasonable.

Bron.
-
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: Dual-Licensing Linux Kernel with GPL V2 and GPL V3

2007-06-16 Thread Bron Gondwana
[note: I'm writting this while offline and likely to remain so for the
next 8 hours or so, so I'll probably miss a bunch of other replies]

On Sat, Jun 16, 2007 at 02:14:29PM -0300, Alexandre Oliva wrote:
> On Jun 16, 2007, Bron Gondwana <[EMAIL PROTECTED]> wrote:
> 
> > On Sat, Jun 16, 2007 at 05:22:21AM -0300, Alexandre Oliva wrote:
> >> On Jun 15, 2007, Bron Gondwana <[EMAIL PROTECTED]> wrote:
> >> 
> >> > because it could easily be argued that they linked the BIOS with the
> >> > Linux kernel
> >> 
> >> How so?
> 
> > Er, they installed it in the same piece of equipment, and the kernel
> > couldn't function without it in that work.
> 
> I see what you're getting at.  You're thinking of a license that
> doesn't respect the idea of "mere aggregation", right?

No, I'm arguing that it's not "mere aggregation" - the kernel is useless
on that machine unless the BIOS is present or replaced with something
else with equivalent functionality.  I suspect any decent lawyer could
make the theory that this made the kernel as compiled on to that machine
with specific chipset support selected for that hardware into a "derived
work" of the BIOS - especially if the vendor had contributed GPLed code
for drivers which interact with their hardware into said kernel.

In fact, particularly if the hardware vendor has also contributed GPL
code that interacts on one side of the software/(firmware, hardware)
boundard which worked around bugs in said firmware/hardware which they
also had the ability to change.  The two really are a combined work of
which only one part is GPLed.

Ringing any binary kernel module video card driver bells yet?  It's
really the same thing from the opposite direction - the only criteria
is where you fit in the pecking order - hardware manufacturers work
around Windows bugs, Linux kernel drivers work around hardware bugs -
it's all about who has more to lose if they aren't compatible.
 
> For starters, this wouldn't evidently not qualify as an Open Source
> license, and I'm pretty sure it wouldn't qualify as a Free Software
> license either.

Strawman licence?

> > By using GPLix as part of their boot process along with their
> > non-GPL BIOS, they're subverting the freedoms that the user should
> > have in being able to control the entire boot process.
> 
> You're pushing the "freedom to change" too far.  Sure, I'd like to be
> able to do that, and I prefer hardware that lets me do it, but it's
> not like this BIOS in the scenario you described is being used as a
> means to stop me from modifying the GPLed software.

Well, yeah - except this is the direction GPL3 takes us, and it's a
theory that GPL3 makes more likely to fly in court than GPL2 does -
meaning that hardware vendor lawyers lie awake at night worrying about
stuff (I'd hate to be a good lawyer - I'd never get any sleep!)

> I have never said that including a GPLed piece of software should
> grant users the right to modify anything whatsoever in the system, or
> grant them control over the entire system.  Others have, but it's not
> true, it just shows how much mis-information is floating around.

No, but your interactions with Linus (lazy bums 'r' us) have shown that
the logical result of what you do want includes this.  It's a lot harder
to objectively judge one of these than the other:

a) have they provided the source code to this binary to anyone who asks.

b) have any of the limitations of this piece of hardware been created
   with the intent of making it more difficult for J. Random Enduser to
   build modified binaries from said source and have them function
   correctly.

(b) has much more scope for shenanigans by bad apples on the copyright
owner side - and don't pretend that only the hardware vendors are bad
guys - it takes all sorts and the idea of a licence is to protect both
parties.

> All the GPL stands for is to defend the freedom of the users over the
> particular program it applies to.  You can't impose further
> restrictions on the user's ability to modify what *that* software
> does.

Except where they run into limitations of the platform itself, or just
plain bugs.  Oops.  The lawyers will have a field day discovering intent
every time J. Random's kernel doesn't do what he wants after he fiddles
the code a bit.

> If you wanted to change something else, but this something else is not
> covered by the license, and is not being used to contradict the terms
> of the license, well, too bad, you lose.
> 
> > b) deny themselves the ability to every offer a patch to said BIOS if
> >bugs are found 
> 
> > Point (b) is also exactly on topic for the discussion of enforcing
> > legal safety obligations in hardware on a peripheral rather than the
> > software dr

Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3

2007-06-16 Thread Bron Gondwana
On Sat, Jun 16, 2007 at 05:22:21AM -0300, Alexandre Oliva wrote:
> On Jun 15, 2007, Bron Gondwana <[EMAIL PROTECTED]> wrote:
> 
> > because it could easily be argued that they linked the BIOS with the
> > Linux kernel
> 
> How so?

(I'm going to refer to Linux as GPLix from here on since this argument
 is more general than a specific GPLed operating system)

Er, they installed it in the same piece of equipment, and the kernel
couldn't function without it in that work.  What's more 'linked' than
that.  It's a vital part of the boot process on that piece of hardware
in exactly the same way that the public-key check is a vital part of
the boot process.

If your printer^wPC isn't doing what you want and you know how to
change it to do what you want but it needs a BIOS patch.  Guess what,
you can't do it - your vendor can.  By using GPLix as part of their
boot process along with their non-GPL BIOS, they're subverting the
freedoms that the user should have in being able to control the entire
boot process.

Right?  Or are you unclear about the fact that there's a big grey area
cutting through this part of usage, and Linus sat down pretty clearly on
one side of it while you're arguing that the goalposts should be "where
I feel that my rights to make changes are being infringed".

While the vendor reserves the ability to change components of the
system (post sale, i.e. a BIOS flash update) and doesn't hand those
same rights on to you, they have partially Tivoised (hoover, kleenex,
you've got nothing on these guys for having your name associated with
a concept) the hardware.  By logical extention of your arguments over
the past few days, this denies them the ability to use any GPLed
software in 'the spirit of the licence' anyware on the machine because
they are denying you rights regarding the instance of the product
they shipped to you that they are retaining for themselves.  The very
freedoms you so vocally claim.

Now, the position I'm seeing here is that the above behaviour (every
single hardware manufacturer that has ever shipped a machine with
pre-installed Linux) violates the spirit of the GPL by the "retaining
exclusive freedoms to modify shipped product" rule, and hence their
BIOS is in the doghouse unless they either:

a) offer full source code access and rights per the holy spirit ghost
   of the GPL; or

b) deny themselves the ability to every offer a patch to said BIOS if
   bugs are found 


Point (b) is also exactly on topic for the discussion of enforcing
legal safety obligations in hardware on a peripheral rather than the
software drivers.  It's requiring that these limitations be placed in
a technically inferior location to hack around a legal "bug".  (A bug
is in the eye of the beholder, please wear glasses while cycling, it's
your own responsibility to protect your eyes)


Er, I think I'm done.  Yes.


Executive summary:

a) by not providing the BIOS source code but retaining the right to 
   change the BIOS the vendor is linking the GPLix kernel and the 
   BIOS (you can't run the kernel without it)

b) legislating intent is fraught.

c) by your arguments, (a) is violating the spirit and (b) is necessary
   to get around that.

Bron.
-
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: Dual-Licensing Linux Kernel with GPL V2 and GPL V3

2007-06-16 Thread Bron Gondwana
On Fri, Jun 15, 2007 at 11:24:08AM -0300, Tomas Neme wrote:
>> 1) What is "tat"?
>>
>> 2) How can I get some?
>>
>> 3) Where do I go to trade it in?
>
> 4) is it legal to consume it in my country?
>
> 5) should I have a designed driver when I do?

6) Is that allowed to be a binary-only driver or
   does it have to come with source code?

-
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: Dual-Licensing Linux Kernel with GPL V2 and GPL V3

2007-06-16 Thread Bron Gondwana
On Fri, Jun 15, 2007 at 11:24:08AM -0300, Tomas Neme wrote:
 1) What is tat?

 2) How can I get some?

 3) Where do I go to trade it in?

 4) is it legal to consume it in my country?

 5) should I have a designed driver when I do?

6) Is that allowed to be a binary-only driver or
   does it have to come with source code?

-
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: Dual-Licensing Linux Kernel with GPL V2 and GPL V3

2007-06-16 Thread Bron Gondwana
On Sat, Jun 16, 2007 at 05:22:21AM -0300, Alexandre Oliva wrote:
 On Jun 15, 2007, Bron Gondwana [EMAIL PROTECTED] wrote:
 
  because it could easily be argued that they linked the BIOS with the
  Linux kernel
 
 How so?

(I'm going to refer to Linux as GPLix from here on since this argument
 is more general than a specific GPLed operating system)

Er, they installed it in the same piece of equipment, and the kernel
couldn't function without it in that work.  What's more 'linked' than
that.  It's a vital part of the boot process on that piece of hardware
in exactly the same way that the public-key check is a vital part of
the boot process.

If your printer^wPC isn't doing what you want and you know how to
change it to do what you want but it needs a BIOS patch.  Guess what,
you can't do it - your vendor can.  By using GPLix as part of their
boot process along with their non-GPL BIOS, they're subverting the
freedoms that the user should have in being able to control the entire
boot process.

Right?  Or are you unclear about the fact that there's a big grey area
cutting through this part of usage, and Linus sat down pretty clearly on
one side of it while you're arguing that the goalposts should be where
I feel that my rights to make changes are being infringed.

While the vendor reserves the ability to change components of the
system (post sale, i.e. a BIOS flash update) and doesn't hand those
same rights on to you, they have partially Tivoised (hoover, kleenex,
you've got nothing on these guys for having your name associated with
a concept) the hardware.  By logical extention of your arguments over
the past few days, this denies them the ability to use any GPLed
software in 'the spirit of the licence' anyware on the machine because
they are denying you rights regarding the instance of the product
they shipped to you that they are retaining for themselves.  The very
freedoms you so vocally claim.

Now, the position I'm seeing here is that the above behaviour (every
single hardware manufacturer that has ever shipped a machine with
pre-installed Linux) violates the spirit of the GPL by the retaining
exclusive freedoms to modify shipped product rule, and hence their
BIOS is in the doghouse unless they either:

a) offer full source code access and rights per the holy spirit ghost
   of the GPL; or

b) deny themselves the ability to every offer a patch to said BIOS if
   bugs are found 


Point (b) is also exactly on topic for the discussion of enforcing
legal safety obligations in hardware on a peripheral rather than the
software drivers.  It's requiring that these limitations be placed in
a technically inferior location to hack around a legal bug.  (A bug
is in the eye of the beholder, please wear glasses while cycling, it's
your own responsibility to protect your eyes)


Er, I think I'm done.  Yes.


Executive summary:

a) by not providing the BIOS source code but retaining the right to 
   change the BIOS the vendor is linking the GPLix kernel and the 
   BIOS (you can't run the kernel without it)

b) legislating intent is fraught.

c) by your arguments, (a) is violating the spirit and (b) is necessary
   to get around that.

Bron.
-
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: Dual-Licensing Linux Kernel with GPL V2 and GPL V3

2007-06-16 Thread Bron Gondwana
[note: I'm writting this while offline and likely to remain so for the
next 8 hours or so, so I'll probably miss a bunch of other replies]

On Sat, Jun 16, 2007 at 02:14:29PM -0300, Alexandre Oliva wrote:
 On Jun 16, 2007, Bron Gondwana [EMAIL PROTECTED] wrote:
 
  On Sat, Jun 16, 2007 at 05:22:21AM -0300, Alexandre Oliva wrote:
  On Jun 15, 2007, Bron Gondwana [EMAIL PROTECTED] wrote:
  
   because it could easily be argued that they linked the BIOS with the
   Linux kernel
  
  How so?
 
  Er, they installed it in the same piece of equipment, and the kernel
  couldn't function without it in that work.
 
 I see what you're getting at.  You're thinking of a license that
 doesn't respect the idea of mere aggregation, right?

No, I'm arguing that it's not mere aggregation - the kernel is useless
on that machine unless the BIOS is present or replaced with something
else with equivalent functionality.  I suspect any decent lawyer could
make the theory that this made the kernel as compiled on to that machine
with specific chipset support selected for that hardware into a derived
work of the BIOS - especially if the vendor had contributed GPLed code
for drivers which interact with their hardware into said kernel.

In fact, particularly if the hardware vendor has also contributed GPL
code that interacts on one side of the software/(firmware, hardware)
boundard which worked around bugs in said firmware/hardware which they
also had the ability to change.  The two really are a combined work of
which only one part is GPLed.

Ringing any binary kernel module video card driver bells yet?  It's
really the same thing from the opposite direction - the only criteria
is where you fit in the pecking order - hardware manufacturers work
around Windows bugs, Linux kernel drivers work around hardware bugs -
it's all about who has more to lose if they aren't compatible.
 
 For starters, this wouldn't evidently not qualify as an Open Source
 license, and I'm pretty sure it wouldn't qualify as a Free Software
 license either.

Strawman licence?

  By using GPLix as part of their boot process along with their
  non-GPL BIOS, they're subverting the freedoms that the user should
  have in being able to control the entire boot process.
 
 You're pushing the freedom to change too far.  Sure, I'd like to be
 able to do that, and I prefer hardware that lets me do it, but it's
 not like this BIOS in the scenario you described is being used as a
 means to stop me from modifying the GPLed software.

Well, yeah - except this is the direction GPL3 takes us, and it's a
theory that GPL3 makes more likely to fly in court than GPL2 does -
meaning that hardware vendor lawyers lie awake at night worrying about
stuff (I'd hate to be a good lawyer - I'd never get any sleep!)

 I have never said that including a GPLed piece of software should
 grant users the right to modify anything whatsoever in the system, or
 grant them control over the entire system.  Others have, but it's not
 true, it just shows how much mis-information is floating around.

No, but your interactions with Linus (lazy bums 'r' us) have shown that
the logical result of what you do want includes this.  It's a lot harder
to objectively judge one of these than the other:

a) have they provided the source code to this binary to anyone who asks.

b) have any of the limitations of this piece of hardware been created
   with the intent of making it more difficult for J. Random Enduser to
   build modified binaries from said source and have them function
   correctly.

(b) has much more scope for shenanigans by bad apples on the copyright
owner side - and don't pretend that only the hardware vendors are bad
guys - it takes all sorts and the idea of a licence is to protect both
parties.

 All the GPL stands for is to defend the freedom of the users over the
 particular program it applies to.  You can't impose further
 restrictions on the user's ability to modify what *that* software
 does.

Except where they run into limitations of the platform itself, or just
plain bugs.  Oops.  The lawyers will have a field day discovering intent
every time J. Random's kernel doesn't do what he wants after he fiddles
the code a bit.

 If you wanted to change something else, but this something else is not
 covered by the license, and is not being used to contradict the terms
 of the license, well, too bad, you lose.
 
  b) deny themselves the ability to every offer a patch to said BIOS if
 bugs are found 
 
  Point (b) is also exactly on topic for the discussion of enforcing
  legal safety obligations in hardware on a peripheral rather than the
  software drivers.
 
  It's requiring that these limitations be placed in a technically
  inferior location to hack around a legal bug.
 
 I don't think this last sentence is true.  If you implement hardware
 locks that prevent modification of the software even by yourself, then
 you're in compliance with the terms of the GPLv3dd4.  But IANAL.

I obviously

Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3

2007-06-15 Thread Bron Gondwana
On Fri, Jun 15, 2007 at 04:26:34PM -0300, Alexandre Oliva wrote:
> On Jun 15, 2007, Bron Gondwana <[EMAIL PROTECTED]> wrote:
> 
> > What happens if you're debugging something you think is a bug in the
> > Linux kernel and then you run bang into some interactions that make you
> > think the bug might be in the BIOS instead.
> 
> > have denied your freedom to modify and debug the system they sold you
> 
> If the bug is in the non-GPLed BIOS, not in the GPLed code, too bad.
> One more reason to dislike non-Free Software.

If the bug is in the non-GPLed binary module, not in the GPLed code, too
bad.  One more reason to dislike non-Free Software.

It's the same argument from the other direction.  The BIOS is linked
(inside the machine, sure) to the kernel for all intents and purposes
through a defined interface.  This doesn't affect the BIOS developers
who ship me a machine on to which I then install Linux, but it _does_
affect a hardware vendor who ships me a system with Linux pre-installed,
because it could easily be argued that they linked the BIOS with the
Linux kernel and hence produced a combined work (remember, they reserve
the right to modify the BIOS, but don't give that that right to me) and
the BIOS should now come under the GPL.

Talk about your chilling effects.  It's a strong reason for vendors not
to ship GPL3 or GPL2[your interpretation] code pre-installed while the
legal boundaries of work combination are in any way grey.

Regards,

Bron.
-
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: Dual-Licensing Linux Kernel with GPL V2 and GPL V3

2007-06-15 Thread Bron Gondwana
On Fri, Jun 15, 2007 at 02:38:41AM -0300, Alexandre Oliva wrote:
> On Jun 15, 2007, Bron Gondwana <[EMAIL PROTECTED]> wrote:
> 
> > #define Dell CFG_FAVOURITE_VENDOR
> 
> > A Dell desktop machine is a piece of hardware.  The manufacturer has the
> > source code (hypothetically) to the BIOS.  The BIOS is required for the
> > machine to boot and run Linux.
> 
> > Riddle me this (especially Alexandre, I'm just latching on to Ingo's
> > post because it has the right hook to grab) - are Dell required to give
> > out the source to the bios to enable people to have the same rights Dell
> > engineers do to modify the behaviour of the system?
> 
> What is the license for the bios?  Does it say anything about 'no
> further restrictions on the freedoms to modify and share the
> software'?

It's a necessary part of the boot process, without which Linux could
not be started.  Indeed, the Linux kernel interacts with it through a
(loosely, incompletely and frequently buggy) documented interface, much
like how binary modules interact with the linux kernel (even if they do
get loaded into the sacred ring0 execution space, ooh err)

What happens if you're debugging something you think is a bug in the
Linux kernel and then you run bang into some interactions that make you
think the bug might be in the BIOS instead.  Oh unhappy day, you don't
have access to the source code to the BIOS so you can't check.  Those
cretins at Dell (does a #define still work when it's 2 levels quoted?)
have denied your freedom to modify and debug the system they sold you
which is based _in_a_large_part_ on the GPL$mumble Linux kernel and
hence needs to be interoperable.

Regardless of your sophistry, it's a slipery slope by which Dell could
be forced to exert their corporate might back up the tree to the BIOS
vendor and get the right to release that BIOS source code to you or
stop distributing Linux on their machines. 

> Does it include any mechanisms to stop people from booting modified
> versions of the Linux that ships with the machine?

Maybe, and either way, a future update could, and you couldn't undo it
unless the BIOS flash system lets you "downgrade" again.

Bron.

-
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: Dual-Licensing Linux Kernel with GPL V2 and GPL V3

2007-06-15 Thread Bron Gondwana
On Fri, Jun 15, 2007 at 02:38:41AM -0300, Alexandre Oliva wrote:
 On Jun 15, 2007, Bron Gondwana [EMAIL PROTECTED] wrote:
 
  #define Dell CFG_FAVOURITE_VENDOR
 
  A Dell desktop machine is a piece of hardware.  The manufacturer has the
  source code (hypothetically) to the BIOS.  The BIOS is required for the
  machine to boot and run Linux.
 
  Riddle me this (especially Alexandre, I'm just latching on to Ingo's
  post because it has the right hook to grab) - are Dell required to give
  out the source to the bios to enable people to have the same rights Dell
  engineers do to modify the behaviour of the system?
 
 What is the license for the bios?  Does it say anything about 'no
 further restrictions on the freedoms to modify and share the
 software'?

It's a necessary part of the boot process, without which Linux could
not be started.  Indeed, the Linux kernel interacts with it through a
(loosely, incompletely and frequently buggy) documented interface, much
like how binary modules interact with the linux kernel (even if they do
get loaded into the sacred ring0 execution space, ooh err)

What happens if you're debugging something you think is a bug in the
Linux kernel and then you run bang into some interactions that make you
think the bug might be in the BIOS instead.  Oh unhappy day, you don't
have access to the source code to the BIOS so you can't check.  Those
cretins at Dell (does a #define still work when it's 2 levels quoted?)
have denied your freedom to modify and debug the system they sold you
which is based _in_a_large_part_ on the GPL$mumble Linux kernel and
hence needs to be interoperable.

Regardless of your sophistry, it's a slipery slope by which Dell could
be forced to exert their corporate might back up the tree to the BIOS
vendor and get the right to release that BIOS source code to you or
stop distributing Linux on their machines. 

 Does it include any mechanisms to stop people from booting modified
 versions of the Linux that ships with the machine?

Maybe, and either way, a future update could, and you couldn't undo it
unless the BIOS flash system lets you downgrade again.

Bron.

-
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: Dual-Licensing Linux Kernel with GPL V2 and GPL V3

2007-06-15 Thread Bron Gondwana
On Fri, Jun 15, 2007 at 04:26:34PM -0300, Alexandre Oliva wrote:
 On Jun 15, 2007, Bron Gondwana [EMAIL PROTECTED] wrote:
 
  What happens if you're debugging something you think is a bug in the
  Linux kernel and then you run bang into some interactions that make you
  think the bug might be in the BIOS instead.
 
  have denied your freedom to modify and debug the system they sold you
 
 If the bug is in the non-GPLed BIOS, not in the GPLed code, too bad.
 One more reason to dislike non-Free Software.

If the bug is in the non-GPLed binary module, not in the GPLed code, too
bad.  One more reason to dislike non-Free Software.

It's the same argument from the other direction.  The BIOS is linked
(inside the machine, sure) to the kernel for all intents and purposes
through a defined interface.  This doesn't affect the BIOS developers
who ship me a machine on to which I then install Linux, but it _does_
affect a hardware vendor who ships me a system with Linux pre-installed,
because it could easily be argued that they linked the BIOS with the
Linux kernel and hence produced a combined work (remember, they reserve
the right to modify the BIOS, but don't give that that right to me) and
the BIOS should now come under the GPL.

Talk about your chilling effects.  It's a strong reason for vendors not
to ship GPL3 or GPL2[your interpretation] code pre-installed while the
legal boundaries of work combination are in any way grey.

Regards,

Bron.
-
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: Dual-Licensing Linux Kernel with GPL V2 and GPL V3

2007-06-14 Thread Bron Gondwana
On Fri, Jun 15, 2007 at 01:50:04AM +0200, Ingo Molnar wrote:
> the GPL applies to software. It is a software license.
> 
> the Tivo box is a piece of hardware.
> 
> a disk is put into it with software copied to it already: a bootloader, 
> a Linux kernel plus a handful of applications. The free software bits 
> are available for download.

#define Dell CFG_FAVOURITE_VENDOR

A Dell desktop machine is a piece of hardware.  The manufacturer has the
source code (hypothetically) to the BIOS.  The BIOS is required for the
machine to boot and run Linux.

Riddle me this (especially Alexandre, I'm just latching on to Ingo's
post because it has the right hook to grab) - are Dell required to give
out the source to the bios to enable people to have the same rights Dell
engineers do to modify the behaviour of the system?

Bron.
-
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: Dual-Licensing Linux Kernel with GPL V2 and GPL V3

2007-06-14 Thread Bron Gondwana
On Thu, Jun 14, 2007 at 05:25:19PM -0400, Dmitry Torokhov wrote:
> On 6/14/07, Dave Neuer <[EMAIL PROTECTED]> wrote:
>> On 6/14/07, Lennart Sorensen <[EMAIL PROTECTED]> wrote:
>> > Nothing prevents you from taking tivos kernel
>> > changes and building your own hardware to run that code on, and as such
>> > the spirit of the GPL v2 seems fulfilled.
>>
>> Oh, come on: you're not serious, right? Something indeed prevents me
>> -- the fact that I'm not a hardware manufacturer, I don't have fabs,
>> outsource vendors to provide me w/ designs, ASICs, etc. Nor to I have
>> the money to pay one-off prices for various components if they're even
>> available in batches that small.
>>
>
> So your objection here is that one needs additional resources to do
> excersise their rights. Well, what about spending time and money to
> get education to be able to do programming work? Being able to
> understand C and hardware, etc is also an additional restriction
> imposed on an average person. Do you advocate that every copy of GPL
> program should be accompanied with an engineer who would explain how
> it all works?

Yes please.  Can she be spunky as well?  ta.
-
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: Dual-Licensing Linux Kernel with GPL V2 and GPL V3

2007-06-14 Thread Bron Gondwana
On Thu, Jun 14, 2007 at 10:14:21AM -0400, Robin Getz wrote:
>  - gambling devices - which must have their software certified by various 
> government agencies - to make sure that the odds are known, and there are no 
> backdoors, and consumers don't get screwed - the manufacture can not allow 
> non-certified software to be loaded on it. If these are in a hotel - where 
> various people live - is that considered "incorporation into a dwelling"?
> 
> Not wanting to start a debate about the morality of being involved in the 
> gambling industry - (if the statically challenged are giving the government 
> money to keep my taxes down, I am mostly OK with it) - but I'm not "happy" 
> thinking that someone can ledgistate restrictions on embedded OS choice, just 
> because it must be verified by a third party.

Why not go really controversial and dive straight in with "voting
machines".  There's a whole 'nother can of worms.

Bron.
-
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: Dual-Licensing Linux Kernel with GPL V2 and GPL V3

2007-06-14 Thread Bron Gondwana
On Thu, Jun 14, 2007 at 01:58:26AM -0300, Alexandre Oliva wrote:
> On Jun 14, 2007, Bron Gondwana <[EMAIL PROTECTED]> wrote:
> 
> > Tivo gets sick of the endless flamewars on lkml, signs a copy
> > of QNX, pushes it out to the hardware.  No more Linux on Tivo.
> 
> What do we lose?
> 
> Do we actually get any benefit whatsoever from TiVO's choice of Linux
> as the kernel for its device?

Sure, if they make any changes or fixes to Linux.  Other than that,
only the same benefit that Microsoft get from Windows piracy - TiVo
employees become familiar with Linux and are more likely to use it
and maybe contribute more in another job later.

What we don't get is TiVo having a better kernel than everyone else
because they've put some work into extending it without giving that
work back.

I see stuff in arch/powerpc/kernel/ which is Copyright "TiVo, Inc"
and more recent stuff in usb/net/asix.c and usb/net/mcs7830.c which
is more than I've ever contributed to the kernel, despite making
extensive use and even selling services where I ran servers with
Linux on them but didn't allow my customers to change the kernel
on the servers if there was some feature they wanted to play with.

> Do TiVO customers lose anything from the change from one non-Free
> software to another?  (the Linux binary, as shipped in the TiVO, has
> become non-Free)

Not particularly, no.  Other than maybe some nice features that TiVo
gains from being able to use Linux.

Bron.
-
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: Dual-Licensing Linux Kernel with GPL V2 and GPL V3

2007-06-14 Thread Bron Gondwana
On Thu, Jun 14, 2007 at 01:58:26AM -0300, Alexandre Oliva wrote:
 On Jun 14, 2007, Bron Gondwana [EMAIL PROTECTED] wrote:
 
  Tivo gets sick of the endless flamewars on lkml, signs a copy
  of QNX, pushes it out to the hardware.  No more Linux on Tivo.
 
 What do we lose?
 
 Do we actually get any benefit whatsoever from TiVO's choice of Linux
 as the kernel for its device?

Sure, if they make any changes or fixes to Linux.  Other than that,
only the same benefit that Microsoft get from Windows piracy - TiVo
employees become familiar with Linux and are more likely to use it
and maybe contribute more in another job later.

What we don't get is TiVo having a better kernel than everyone else
because they've put some work into extending it without giving that
work back.

I see stuff in arch/powerpc/kernel/ which is Copyright TiVo, Inc
and more recent stuff in usb/net/asix.c and usb/net/mcs7830.c which
is more than I've ever contributed to the kernel, despite making
extensive use and even selling services where I ran servers with
Linux on them but didn't allow my customers to change the kernel
on the servers if there was some feature they wanted to play with.

 Do TiVO customers lose anything from the change from one non-Free
 software to another?  (the Linux binary, as shipped in the TiVO, has
 become non-Free)

Not particularly, no.  Other than maybe some nice features that TiVo
gains from being able to use Linux.

Bron.
-
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: Dual-Licensing Linux Kernel with GPL V2 and GPL V3

2007-06-14 Thread Bron Gondwana
On Thu, Jun 14, 2007 at 10:14:21AM -0400, Robin Getz wrote:
  - gambling devices - which must have their software certified by various 
 government agencies - to make sure that the odds are known, and there are no 
 backdoors, and consumers don't get screwed - the manufacture can not allow 
 non-certified software to be loaded on it. If these are in a hotel - where 
 various people live - is that considered incorporation into a dwelling?
 
 Not wanting to start a debate about the morality of being involved in the 
 gambling industry - (if the statically challenged are giving the government 
 money to keep my taxes down, I am mostly OK with it) - but I'm not happy 
 thinking that someone can ledgistate restrictions on embedded OS choice, just 
 because it must be verified by a third party.

Why not go really controversial and dive straight in with voting
machines.  There's a whole 'nother can of worms.

Bron.
-
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: Dual-Licensing Linux Kernel with GPL V2 and GPL V3

2007-06-14 Thread Bron Gondwana
On Thu, Jun 14, 2007 at 05:25:19PM -0400, Dmitry Torokhov wrote:
 On 6/14/07, Dave Neuer [EMAIL PROTECTED] wrote:
 On 6/14/07, Lennart Sorensen [EMAIL PROTECTED] wrote:
  Nothing prevents you from taking tivos kernel
  changes and building your own hardware to run that code on, and as such
  the spirit of the GPL v2 seems fulfilled.

 Oh, come on: you're not serious, right? Something indeed prevents me
 -- the fact that I'm not a hardware manufacturer, I don't have fabs,
 outsource vendors to provide me w/ designs, ASICs, etc. Nor to I have
 the money to pay one-off prices for various components if they're even
 available in batches that small.


 So your objection here is that one needs additional resources to do
 excersise their rights. Well, what about spending time and money to
 get education to be able to do programming work? Being able to
 understand C and hardware, etc is also an additional restriction
 imposed on an average person. Do you advocate that every copy of GPL
 program should be accompanied with an engineer who would explain how
 it all works?

Yes please.  Can she be spunky as well?  ta.
-
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: Dual-Licensing Linux Kernel with GPL V2 and GPL V3

2007-06-14 Thread Bron Gondwana
On Fri, Jun 15, 2007 at 01:50:04AM +0200, Ingo Molnar wrote:
 the GPL applies to software. It is a software license.
 
 the Tivo box is a piece of hardware.
 
 a disk is put into it with software copied to it already: a bootloader, 
 a Linux kernel plus a handful of applications. The free software bits 
 are available for download.

#define Dell CFG_FAVOURITE_VENDOR

A Dell desktop machine is a piece of hardware.  The manufacturer has the
source code (hypothetically) to the BIOS.  The BIOS is required for the
machine to boot and run Linux.

Riddle me this (especially Alexandre, I'm just latching on to Ingo's
post because it has the right hook to grab) - are Dell required to give
out the source to the bios to enable people to have the same rights Dell
engineers do to modify the behaviour of the system?

Bron.
-
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: Dual-Licensing Linux Kernel with GPL V2 and GPL V3

2007-06-13 Thread Bron Gondwana
On Thu, Jun 14, 2007 at 02:52:48AM +0100, Alan Cox wrote:
> > What if TiVo had put the kernel in a burned-in ROM (not flash, or on a
> > flash ROM with no provision for reprogramming it)?  Would that also
> > violate the "spirit" of the GPL?  Must any device that wishes to include
> > GPL code include additional hardware to support replacing that code
> > (even if that hardware is otherwise superfluous)?
> 
> As a PS to the GPL3 comment here is the basic difference
> 
> ROM   -   I can't modify the code on the device
>   The creator can't modify the code further on the device
> 
> Tivo  -   I can't modify the code on the device
>   The owner can modify the code 

Tivo gets sick of the endless flamewars on lkml, signs a copy
of QNX, pushes it out to the hardware.  No more Linux on Tivo.

You also can't replace that but Tivo can.  As I see it the two
are completely orthagonal:

a) Can anyone but the manufacturer upload new software into a
   a device without taking extreme measures (soldering a new
   public-key-containing-chip onto the board)

b) Is the software currently installed on a device licenced under
   a rule which requires the distributor to also distribute source
   code upon request.

Now I think it would reasonable to ask that the source code be able
to be built by [same compiler, same flags, same ...] to produce an
identical binary to the one running on the device so you can confirm
that it's exactly the same code.  That's separate from being able to
upload a changed binary.

Bron.
-
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: Dual-Licensing Linux Kernel with GPL V2 and GPL V3

2007-06-13 Thread Bron Gondwana
On Thu, Jun 14, 2007 at 02:52:48AM +0100, Alan Cox wrote:
  What if TiVo had put the kernel in a burned-in ROM (not flash, or on a
  flash ROM with no provision for reprogramming it)?  Would that also
  violate the spirit of the GPL?  Must any device that wishes to include
  GPL code include additional hardware to support replacing that code
  (even if that hardware is otherwise superfluous)?
 
 As a PS to the GPL3 comment here is the basic difference
 
 ROM   -   I can't modify the code on the device
   The creator can't modify the code further on the device
 
 Tivo  -   I can't modify the code on the device
   The owner can modify the code 

Tivo gets sick of the endless flamewars on lkml, signs a copy
of QNX, pushes it out to the hardware.  No more Linux on Tivo.

You also can't replace that but Tivo can.  As I see it the two
are completely orthagonal:

a) Can anyone but the manufacturer upload new software into a
   a device without taking extreme measures (soldering a new
   public-key-containing-chip onto the board)

b) Is the software currently installed on a device licenced under
   a rule which requires the distributor to also distribute source
   code upon request.

Now I think it would reasonable to ask that the source code be able
to be built by [same compiler, same flags, same ...] to produce an
identical binary to the one running on the device so you can confirm
that it's exactly the same code.  That's separate from being able to
upload a changed binary.

Bron.
-
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: Dual-Licensing Linux Kernel with GPL V2 and GPL V3

2007-06-11 Thread Bron Gondwana
On Mon, Jun 11, 2007 at 11:03:48AM +0200, Ingo Molnar wrote:
> 
> * Tarkan Erimer <[EMAIL PROTECTED]> wrote:
> 
> > > (*) And I've been pushing for that since before they even released 
> > > it - I walked out on Bill Joy at a private event where they 
> > > discussed their horrible previous Java license.
> > 
> > Thanks for making things more clear :-) Some really strong indications 
> > that Sun is very willing to,at least, "Dual-License" the OpenSolaris 
> > with GPLv3. I think; in a very short time; we will see when the GPLv3 
> > finalized and released.
> 
> that would certainly be a good and productive move from them. Note the 
> issue that others have pointed out to you: OpenSolaris is probably more 
> interested in picking up code from Linux than the other way around! :-) 
> You mentioned "dtrace" and "ZFS". Firstly, Linux already has a "dtrace" 
> equivalent. Secondly, ZFS might be interesting in theory
^^

Having just got my first Sun box (one of those 48 disk Thumper machines)
I can say it's very interesting in practice too.  The admin tools for
zfs are a dream to use (unlike just about everything else on Solaris
which is a bugwards compatible nightmare to use) and the attitude of
checksumming everything on to disk and checking that those checksums
match on the way back out presses my "do your own safety checking and
don't trust the hardware" buttons very much the right way - especially
with that much hardware in there.

I would love to see Sun GPL3 OpenSolaris, not so much for the code
itself (maybe not portable into Linux) but for the clarity it would
give to the patent position.  The patent peace would be portable back
to GPL2.

Bron.
-
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: Dual-Licensing Linux Kernel with GPL V2 and GPL V3

2007-06-11 Thread Bron Gondwana
On Mon, Jun 11, 2007 at 11:03:48AM +0200, Ingo Molnar wrote:
 
 * Tarkan Erimer [EMAIL PROTECTED] wrote:
 
   (*) And I've been pushing for that since before they even released 
   it - I walked out on Bill Joy at a private event where they 
   discussed their horrible previous Java license.
  
  Thanks for making things more clear :-) Some really strong indications 
  that Sun is very willing to,at least, Dual-License the OpenSolaris 
  with GPLv3. I think; in a very short time; we will see when the GPLv3 
  finalized and released.
 
 that would certainly be a good and productive move from them. Note the 
 issue that others have pointed out to you: OpenSolaris is probably more 
 interested in picking up code from Linux than the other way around! :-) 
 You mentioned dtrace and ZFS. Firstly, Linux already has a dtrace 
 equivalent. Secondly, ZFS might be interesting in theory
^^

Having just got my first Sun box (one of those 48 disk Thumper machines)
I can say it's very interesting in practice too.  The admin tools for
zfs are a dream to use (unlike just about everything else on Solaris
which is a bugwards compatible nightmare to use) and the attitude of
checksumming everything on to disk and checking that those checksums
match on the way back out presses my do your own safety checking and
don't trust the hardware buttons very much the right way - especially
with that much hardware in there.

I would love to see Sun GPL3 OpenSolaris, not so much for the code
itself (maybe not portable into Linux) but for the clarity it would
give to the patent position.  The patent peace would be portable back
to GPL2.

Bron.
-
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: Linux 2.6.16.40

2007-05-07 Thread Bron Gondwana
On Mon, Feb 12, 2007 at 05:13:47PM +1100, Bron Gondwana wrote:
> On Sat, Feb 10, 2007 at 05:41:13PM +0100, Adrian Bunk wrote:
> > New drivers since 2.6.16.39:
> > - Areca ARC11X0/ARC12X0 SATA-RAID support
> > - AMD Athlon64/FX and Opteron temperature sensor
> 
> Sorry - I think I just sent a blank reply to this!  Oops.
> 
> I was going to say - thanks.  We'll definitely be using
> this kernel since we've found that 2.6.19.2 has a
> significantly worse IO profile and either the 2.6.16.40-rc1
> kernel or 2.6.18 on otherwise identical machines with pretty
> stable loads (so we can compare back to previous weeks).
> 
> Now to figure out what's causing the extra load in the
> 2.6.19 branch!

By the way, we've just tried a 2.6.20.11 kernel on another machine
and so far (fingers crossed) we're not seeing the load issues we
had with the 2.6.19 kernel we were using.

Given that the Areca driver is the same in both, the only other funky
thing we did was a single patch to ReiserFS, but we're applying that
same patch on 2.6.20.

(my sneaking suspicion was that the delayed bitmap loading was to blame,
but it's hard to test these things short of multiple reboots, and we
don't have a testing Cyrus install that we can load that heavily)

Anyway - if this goes well for the next couple of days we'll probably
stop tracking the 2.6.16 series.  Thanks again, very much, for your work
with 2.6.16.  It was fantastic to have this resource to keep us from
having to chase more recent kernels just to get the patches we needed!

Bron.
-
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: Linux 2.6.16.40

2007-05-07 Thread Bron Gondwana
On Mon, Feb 12, 2007 at 05:13:47PM +1100, Bron Gondwana wrote:
 On Sat, Feb 10, 2007 at 05:41:13PM +0100, Adrian Bunk wrote:
  New drivers since 2.6.16.39:
  - Areca ARC11X0/ARC12X0 SATA-RAID support
  - AMD Athlon64/FX and Opteron temperature sensor
 
 Sorry - I think I just sent a blank reply to this!  Oops.
 
 I was going to say - thanks.  We'll definitely be using
 this kernel since we've found that 2.6.19.2 has a
 significantly worse IO profile and either the 2.6.16.40-rc1
 kernel or 2.6.18 on otherwise identical machines with pretty
 stable loads (so we can compare back to previous weeks).
 
 Now to figure out what's causing the extra load in the
 2.6.19 branch!

By the way, we've just tried a 2.6.20.11 kernel on another machine
and so far (fingers crossed) we're not seeing the load issues we
had with the 2.6.19 kernel we were using.

Given that the Areca driver is the same in both, the only other funky
thing we did was a single patch to ReiserFS, but we're applying that
same patch on 2.6.20.

(my sneaking suspicion was that the delayed bitmap loading was to blame,
but it's hard to test these things short of multiple reboots, and we
don't have a testing Cyrus install that we can load that heavily)

Anyway - if this goes well for the next couple of days we'll probably
stop tracking the 2.6.16 series.  Thanks again, very much, for your work
with 2.6.16.  It was fantastic to have this resource to keep us from
having to chase more recent kernels just to get the patches we needed!

Bron.
-
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: Recent wireless breakage (ipw2200, iwconfig, NetworkManager)

2007-03-05 Thread Bron Gondwana
On Mon, Mar 05, 2007 at 03:14:25PM -0600, Matt Mackall wrote:
> On Mon, Mar 05, 2007 at 04:46:09PM +0100, Tomasz Torcz wrote:
> > > That's not the point. The point is that Debian/unstable as of _this
> > > morning_ doesn't work. For reference, I'm running both the latest
> > > releases of both hal (0.5.8.1-6.1) and network-manager (0.6.4-6). And
> > > there are people telling me I need a copy of HAL out of git that
> > > hasn't even been released for Debian to package. Debian isn't the
> > > problem here.
> > 
> >   hal 0.5.9-rc1 (released, not from git) should work. It will be
> > problably released soon and picked by sane distributions. Debian is very
> > irritating corner case.
> 
> Presumably the -rc1 stands for "release candidate". Which means "not
> yet released". And when did it show up? 04-Mar-2007 at 18:31. That's
> right, YESTERDAY. Almost a full month after Greg's commit.
> 
> For the last time, DEBIAN IS NOT THE PROBLEM.

Can I please second this (having been burned by hell that was udev of
the 0.5ish era) - Greg, please try to make changes in a cross-compatible
way so that versions of userspace and kernel are not so closely
dependant on tracking each other.  The whole 2.6.8 -> 2.6.12 series of
kernels and associated udevs are fraught with race conditions where
upgrading one but not the other will leave your machine unbootable.

I read the "manifesto" for udev showing how crap devfs was, it was
broken, it could never be fixed etc - yet my experience was that devfs
systems "just worked"[tm] and udev was very dangerous.  My thinking is
going to be tarnished by that for a while and my mental image of udev
is "unreliable POS".  I'm hoping enough good experiences with udev might
make me feel less scared whenever I have to deal with it.

Similarly, I'm hoping I don't have to think "oh shit, will this break
boot" every time I upgrade either a kernel or hal version for the next
year, because it would really suck to do that all over again.  It
contributes to the meme that linux is unreliable and perpetually
unstable.

Regards,

Bron.
-
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: Recent wireless breakage (ipw2200, iwconfig, NetworkManager)

2007-03-05 Thread Bron Gondwana
On Mon, Mar 05, 2007 at 03:14:25PM -0600, Matt Mackall wrote:
 On Mon, Mar 05, 2007 at 04:46:09PM +0100, Tomasz Torcz wrote:
   That's not the point. The point is that Debian/unstable as of _this
   morning_ doesn't work. For reference, I'm running both the latest
   releases of both hal (0.5.8.1-6.1) and network-manager (0.6.4-6). And
   there are people telling me I need a copy of HAL out of git that
   hasn't even been released for Debian to package. Debian isn't the
   problem here.
  
hal 0.5.9-rc1 (released, not from git) should work. It will be
  problably released soon and picked by sane distributions. Debian is very
  irritating corner case.
 
 Presumably the -rc1 stands for release candidate. Which means not
 yet released. And when did it show up? 04-Mar-2007 at 18:31. That's
 right, YESTERDAY. Almost a full month after Greg's commit.
 
 For the last time, DEBIAN IS NOT THE PROBLEM.

Can I please second this (having been burned by hell that was udev of
the 0.5ish era) - Greg, please try to make changes in a cross-compatible
way so that versions of userspace and kernel are not so closely
dependant on tracking each other.  The whole 2.6.8 - 2.6.12 series of
kernels and associated udevs are fraught with race conditions where
upgrading one but not the other will leave your machine unbootable.

I read the manifesto for udev showing how crap devfs was, it was
broken, it could never be fixed etc - yet my experience was that devfs
systems just worked[tm] and udev was very dangerous.  My thinking is
going to be tarnished by that for a while and my mental image of udev
is unreliable POS.  I'm hoping enough good experiences with udev might
make me feel less scared whenever I have to deal with it.

Similarly, I'm hoping I don't have to think oh shit, will this break
boot every time I upgrade either a kernel or hal version for the next
year, because it would really suck to do that all over again.  It
contributes to the meme that linux is unreliable and perpetually
unstable.

Regards,

Bron.
-
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: [ANNOUNCE] DualFS: File System with Meta-data and Data Separation

2007-02-19 Thread Bron Gondwana
On Tue, Feb 20, 2007 at 12:57:50AM +0100, Juan Piernas Canovas wrote:
> Now, let us assume that the data device takes 90% of the disk space, and 
> the meta-data device the other 10%. When the data device gets full, the 
> meta-data blocks will be using the half of the meta-data device, and the 
> other half (5% of the entire disk) will be free. Frankly, 5% is not too 
> much.

I'd like to very strongly second this.  We have a target maximum of 80%
usage on all partitions, with emailed warnings at 85% and paged warnings
at 90%.  I consider any partition over 90% to be dangerously over-full.
Given that disks space is approximately US$1/Gb in RAID6 SATA these
days, it doesn't cost much to make sure there's some free.

What matters a lot more is the speed at which you can get data on and
off these huge devices, because drive speed isn't keeping up with
capacity.  It takes about a week to fill one of the external storage
monsters we're buying these days, and that's streaming writes.  Makes
restoring from backup a scary proposition given the downtime it will
take.

But back on topic - I'd be very willing to pay a 5% disk space penalty
for the sort of performance that DualFS is promising, but I'd need a
2.6 series kernel with the O(1) scheduler or performance would go down
the toilet in the other direction.

Bron.

P.S. do you have any figures for high MMAP load?  We run big Cyrus, and
 it has a serious MMAP fetish.
-
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: [ANNOUNCE] DualFS: File System with Meta-data and Data Separation

2007-02-19 Thread Bron Gondwana
On Tue, Feb 20, 2007 at 12:57:50AM +0100, Juan Piernas Canovas wrote:
 Now, let us assume that the data device takes 90% of the disk space, and 
 the meta-data device the other 10%. When the data device gets full, the 
 meta-data blocks will be using the half of the meta-data device, and the 
 other half (5% of the entire disk) will be free. Frankly, 5% is not too 
 much.

I'd like to very strongly second this.  We have a target maximum of 80%
usage on all partitions, with emailed warnings at 85% and paged warnings
at 90%.  I consider any partition over 90% to be dangerously over-full.
Given that disks space is approximately US$1/Gb in RAID6 SATA these
days, it doesn't cost much to make sure there's some free.

What matters a lot more is the speed at which you can get data on and
off these huge devices, because drive speed isn't keeping up with
capacity.  It takes about a week to fill one of the external storage
monsters we're buying these days, and that's streaming writes.  Makes
restoring from backup a scary proposition given the downtime it will
take.

But back on topic - I'd be very willing to pay a 5% disk space penalty
for the sort of performance that DualFS is promising, but I'd need a
2.6 series kernel with the O(1) scheduler or performance would go down
the toilet in the other direction.

Bron.

P.S. do you have any figures for high MMAP load?  We run big Cyrus, and
 it has a serious MMAP fetish.
-
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: Linux 2.6.16.40

2007-02-11 Thread Bron Gondwana
On Sat, Feb 10, 2007 at 05:41:13PM +0100, Adrian Bunk wrote:
> New drivers since 2.6.16.39:
> - Areca ARC11X0/ARC12X0 SATA-RAID support
> - AMD Athlon64/FX and Opteron temperature sensor

Sorry - I think I just sent a blank reply to this!  Oops.

I was going to say - thanks.  We'll definitely be using
this kernel since we've found that 2.6.19.2 has a
significantly worse IO profile and either the 2.6.16.40-rc1
kernel or 2.6.18 on otherwise identical machines with pretty
stable loads (so we can compare back to previous weeks).

Now to figure out what's causing the extra load in the
2.6.19 branch!

Bron.
-
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: Linux 2.6.16.40

2007-02-11 Thread Bron Gondwana
On Sat, Feb 10, 2007 at 05:41:13PM +0100, Adrian Bunk wrote:
> New drivers since 2.6.16.39:
> - Areca ARC11X0/ARC12X0 SATA-RAID support
> - AMD Athlon64/FX and Opteron temperature sensor
> 
> 
> Location:
> ftp://ftp.kernel.org/pub/linux/kernel/v2.6/
> 
> git tree:
> git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-2.6.16.y.git
> 
> 
> Changes since 2.6.16.39:
> 
> Adrian Bunk (2):
>   Linux 2.6.16.40-rc1
>   Linux 2.6.16.40
> 
> Andrew Morton (1):
>   [SCSI] areca sysfs fix
> 
> Bartlomiej Zolnierkiewicz (1):
>   ia64: add pci_get_legacy_ide_irq()
> 
> Erich Chen (1):
>   [SCSI] arcmsr: initial driver, version 1.20.00.13
> 
> James Bottomley (1):
>   [SCSI] arcmsr: fix up sysfs values
> 
> Jeff Garzik (1):
>   [libata] use kmap_atomic(KM_IRQ0) in SCSI simulator
> 
> Neil Brown (1):
>   Make 'repair' actually work for raid1.
> 
> Rudolf Marek (4):
>   hwmon: New driver k8temp
>   k8temp: Add documentation
>   k8temp: Documentation update
>   hwmon: Update Rudolf Marek's e-mail address
> 
> Vladimir Saveliev (1):
>   reiserfs: avoid tail packing if an inode was ever mmapped
> 
> 
>  Documentation/hwmon/k8temp  |   55 +
>  Documentation/scsi/ChangeLog.arcmsr |   56 +
>  Documentation/scsi/arcmsr_spec.txt  |  574 ++
>  MAINTAINERS |6 
>  Makefile|2 
>  drivers/hwmon/Kconfig   |   12 
>  drivers/hwmon/Makefile  |1 
>  drivers/hwmon/hwmon-vid.c   |4 
>  drivers/hwmon/k8temp.c  |  292 +
>  drivers/hwmon/w83792d.c |2 
>  drivers/i2c/busses/i2c-ali1563.c|2 
>  drivers/md/md.c |2 
>  drivers/md/raid1.c  |5 
>  drivers/scsi/Kconfig|   14 
>  drivers/scsi/Makefile   |1 
>  drivers/scsi/arcmsr/Makefile|6 
>  drivers/scsi/arcmsr/arcmsr.h|  472 
>  drivers/scsi/arcmsr/arcmsr_attr.c   |  381 +++
>  drivers/scsi/arcmsr/arcmsr_hba.c| 1496 
>  drivers/scsi/libata-scsi.c  |4 
>  fs/reiserfs/file.c  |   20 
>  fs/reiserfs/inode.c |2 
>  include/asm-ia64/pci.h  |6 
>  include/linux/pci_ids.h |   18 
>  include/linux/reiserfs_fs_i.h   |2 
>  25 files changed, 3426 insertions(+), 9 deletions(-)
> 
> 
> -
> 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: Linux 2.6.16.40

2007-02-11 Thread Bron Gondwana
On Sat, Feb 10, 2007 at 05:41:13PM +0100, Adrian Bunk wrote:
 New drivers since 2.6.16.39:
 - Areca ARC11X0/ARC12X0 SATA-RAID support
 - AMD Athlon64/FX and Opteron temperature sensor
 
 
 Location:
 ftp://ftp.kernel.org/pub/linux/kernel/v2.6/
 
 git tree:
 git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-2.6.16.y.git
 
 
 Changes since 2.6.16.39:
 
 Adrian Bunk (2):
   Linux 2.6.16.40-rc1
   Linux 2.6.16.40
 
 Andrew Morton (1):
   [SCSI] areca sysfs fix
 
 Bartlomiej Zolnierkiewicz (1):
   ia64: add pci_get_legacy_ide_irq()
 
 Erich Chen (1):
   [SCSI] arcmsr: initial driver, version 1.20.00.13
 
 James Bottomley (1):
   [SCSI] arcmsr: fix up sysfs values
 
 Jeff Garzik (1):
   [libata] use kmap_atomic(KM_IRQ0) in SCSI simulator
 
 Neil Brown (1):
   Make 'repair' actually work for raid1.
 
 Rudolf Marek (4):
   hwmon: New driver k8temp
   k8temp: Add documentation
   k8temp: Documentation update
   hwmon: Update Rudolf Marek's e-mail address
 
 Vladimir Saveliev (1):
   reiserfs: avoid tail packing if an inode was ever mmapped
 
 
  Documentation/hwmon/k8temp  |   55 +
  Documentation/scsi/ChangeLog.arcmsr |   56 +
  Documentation/scsi/arcmsr_spec.txt  |  574 ++
  MAINTAINERS |6 
  Makefile|2 
  drivers/hwmon/Kconfig   |   12 
  drivers/hwmon/Makefile  |1 
  drivers/hwmon/hwmon-vid.c   |4 
  drivers/hwmon/k8temp.c  |  292 +
  drivers/hwmon/w83792d.c |2 
  drivers/i2c/busses/i2c-ali1563.c|2 
  drivers/md/md.c |2 
  drivers/md/raid1.c  |5 
  drivers/scsi/Kconfig|   14 
  drivers/scsi/Makefile   |1 
  drivers/scsi/arcmsr/Makefile|6 
  drivers/scsi/arcmsr/arcmsr.h|  472 
  drivers/scsi/arcmsr/arcmsr_attr.c   |  381 +++
  drivers/scsi/arcmsr/arcmsr_hba.c| 1496 
  drivers/scsi/libata-scsi.c  |4 
  fs/reiserfs/file.c  |   20 
  fs/reiserfs/inode.c |2 
  include/asm-ia64/pci.h  |6 
  include/linux/pci_ids.h |   18 
  include/linux/reiserfs_fs_i.h   |2 
  25 files changed, 3426 insertions(+), 9 deletions(-)
 
 
 -
 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: Linux 2.6.16.40

2007-02-11 Thread Bron Gondwana
On Sat, Feb 10, 2007 at 05:41:13PM +0100, Adrian Bunk wrote:
 New drivers since 2.6.16.39:
 - Areca ARC11X0/ARC12X0 SATA-RAID support
 - AMD Athlon64/FX and Opteron temperature sensor

Sorry - I think I just sent a blank reply to this!  Oops.

I was going to say - thanks.  We'll definitely be using
this kernel since we've found that 2.6.19.2 has a
significantly worse IO profile and either the 2.6.16.40-rc1
kernel or 2.6.18 on otherwise identical machines with pretty
stable loads (so we can compare back to previous weeks).

Now to figure out what's causing the extra load in the
2.6.19 branch!

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


Reiserfs and MMAP (was: How many people are using 2.6.16?)

2007-01-31 Thread Bron Gondwana
On Wed, Jan 31, 2007 at 08:02:37AM +0100, Adrian Bunk wrote:
> reiserfs:
> commit de14569f94513279e3d44d9571a421e9da1759ae
>   [PATCH] resierfs: avoid tail packing if an inode was ever mmapped
> backport to 2.6.16 required

Which would explain the "notail" I've been careful to cargo-cult
into every mount string since I started at this job, even though
we're storing mainly very small files.

Referring back to: <[EMAIL PROTECTED]> (which went
to reiserfs-dev and a couple of the ever-growing CC list above)
we're still not 100% sure if it's safe to remove the patch that
I attached there:

--- file.c~ 2004-10-02 12:29:33.223660850 +0400
+++ file.c 2004-10-08 10:03:03.001561661 +0400
@@ -1137,6 +1137,8 @@
return result;
  }

+return generic_file_write(file, buf, count, ppos);
+
  if ( unlikely((ssize_t) count < 0 ))
  return -EINVAL;

which Hans asserted was about 5% slower than the resierfs custom
write implementation, but we countered at least meant that we
didn't crash in a steaming pile of processes stuck in D state
with no way out every few days.

It doesn't apply against 2.6.19 any more, which may be a good
sign.  I haven't seen anything in the changelogs that jumped
out at me as the fix though.

Regards,

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


Reiserfs and MMAP (was: How many people are using 2.6.16?)

2007-01-31 Thread Bron Gondwana
On Wed, Jan 31, 2007 at 08:02:37AM +0100, Adrian Bunk wrote:
 reiserfs:
 commit de14569f94513279e3d44d9571a421e9da1759ae
   [PATCH] resierfs: avoid tail packing if an inode was ever mmapped
 backport to 2.6.16 required

Which would explain the notail I've been careful to cargo-cult
into every mount string since I started at this job, even though
we're storing mainly very small files.

Referring back to: [EMAIL PROTECTED] (which went
to reiserfs-dev and a couple of the ever-growing CC list above)
we're still not 100% sure if it's safe to remove the patch that
I attached there:

--- file.c~ 2004-10-02 12:29:33.223660850 +0400
+++ file.c 2004-10-08 10:03:03.001561661 +0400
@@ -1137,6 +1137,8 @@
return result;
  }

+return generic_file_write(file, buf, count, ppos);
+
  if ( unlikely((ssize_t) count  0 ))
  return -EINVAL;

which Hans asserted was about 5% slower than the resierfs custom
write implementation, but we countered at least meant that we
didn't crash in a steaming pile of processes stuck in D state
with no way out every few days.

It doesn't apply against 2.6.19 any more, which may be a good
sign.  I haven't seen anything in the changelogs that jumped
out at me as the fix though.

Regards,

Bron.
-
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: How many people are using 2.6.16?

2007-01-30 Thread Bron Gondwana
On Tue, Jan 30, 2007 at 06:36:48PM -0800, Linus Torvalds wrote:
> 
> 
> On Tue, 30 Jan 2007, Mark Lord wrote:
> > 
> > I believe our featherless leader said he though it was an ancient bug,
> > exasperated by something that went into 2.6.19.
> > 
> > If Linus's opinion is correct (still?), then the bug exists in all
> > kernels since somewhere back in the 2.4.xx days.
> 
> The issue was somewhat confused by people certainly *reporting* it for 
> older kernels. Also, as part of the dirty bit cleanups and sanity 
> checkingwe did actually seem to fix a long-standing CIFS corruption (and 
> apparently reisertfs/XFS problems too).
> 
> But the *common* case was actually introduced with 2.6.19, and 2.6.16 
> wouldn't be affected. 

We run on reiserfs.  I did try ext3 for a little while on a couple of
servers but performance was really awful compared to reiser, and we
heaved a sigh of relief when we finally migrated all the users off
those filesystems.  There were many complaints about the speed of our
service for a while.

I'm really hoping this is the cause, because do still see occasional
corruption of MMAPed files under heavy load, though less often now
that we've balanced our servers to the point where load spikes are
much less common.

The servers are using either internal Areca cards or LSI SCSI adaptors
connected to external SATA raid boxes.  Either way, there's a few
terabytes of SATA attached to each box, with 10kRPM drives in RAID1
for Cyrus's metadata and 7,2k bigger drives in RAID5 for the actual
emails.  According to iostat these drives are being utilised at over
50% of available bandwidth even now during the "quiet time" - there
are many tens of thousands of users per machine - so we tend to
stress the IO subsystem quite a lot.

Cyrus is also very liberal in its use of MMAP, so we get to push
all sorts of exciting edge cases.  We were still applying patches
to reiserfs until recently, and I'm not sure what the status of that
is (Hans Reiser said to keep harassing him about it - but he's
hardly in a position to be dealing with our issues right now)

Thankfully, now that we're using 300Gb maximum rather than 2Tb
partitions (running multiple instances of Cyrus instead) with
the associated smaller mailboxes.db (the biggest MMAPed and
frequently updated file) things seem less edgy.  I don't like
edgy (queue Ubuntu jokes).

Anyway, I'm hoping to update one of our boxes to 2.6.19.2 soon.
We do have one box running a 2.6.18 series kernel which has been
fine as well.  I'll give feedback if we see any issues with MMAP
on there.

Bron.
-
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: How many people are using 2.6.16?

2007-01-30 Thread Bron Gondwana
On Tue, Jan 30, 2007 at 06:36:48PM -0800, Linus Torvalds wrote:
 
 
 On Tue, 30 Jan 2007, Mark Lord wrote:
  
  I believe our featherless leader said he though it was an ancient bug,
  exasperated by something that went into 2.6.19.
  
  If Linus's opinion is correct (still?), then the bug exists in all
  kernels since somewhere back in the 2.4.xx days.
 
 The issue was somewhat confused by people certainly *reporting* it for 
 older kernels. Also, as part of the dirty bit cleanups and sanity 
 checkingwe did actually seem to fix a long-standing CIFS corruption (and 
 apparently reisertfs/XFS problems too).
 
 But the *common* case was actually introduced with 2.6.19, and 2.6.16 
 wouldn't be affected. 

We run on reiserfs.  I did try ext3 for a little while on a couple of
servers but performance was really awful compared to reiser, and we
heaved a sigh of relief when we finally migrated all the users off
those filesystems.  There were many complaints about the speed of our
service for a while.

I'm really hoping this is the cause, because do still see occasional
corruption of MMAPed files under heavy load, though less often now
that we've balanced our servers to the point where load spikes are
much less common.

The servers are using either internal Areca cards or LSI SCSI adaptors
connected to external SATA raid boxes.  Either way, there's a few
terabytes of SATA attached to each box, with 10kRPM drives in RAID1
for Cyrus's metadata and 7,2k bigger drives in RAID5 for the actual
emails.  According to iostat these drives are being utilised at over
50% of available bandwidth even now during the quiet time - there
are many tens of thousands of users per machine - so we tend to
stress the IO subsystem quite a lot.

Cyrus is also very liberal in its use of MMAP, so we get to push
all sorts of exciting edge cases.  We were still applying patches
to reiserfs until recently, and I'm not sure what the status of that
is (Hans Reiser said to keep harassing him about it - but he's
hardly in a position to be dealing with our issues right now)

Thankfully, now that we're using 300Gb maximum rather than 2Tb
partitions (running multiple instances of Cyrus instead) with
the associated smaller mailboxes.db (the biggest MMAPed and
frequently updated file) things seem less edgy.  I don't like
edgy (queue Ubuntu jokes).

Anyway, I'm hoping to update one of our boxes to 2.6.19.2 soon.
We do have one box running a 2.6.18 series kernel which has been
fine as well.  I'll give feedback if we see any issues with MMAP
on there.

Bron.
-
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: How many people are using 2.6.16?

2007-01-29 Thread Bron Gondwana
On Mon, Jan 29, 2007 at 04:04:48PM -0500, Mike Houston wrote:
> On Mon, 29 Jan 2007 15:30:00 -0500
> Chuck Ebbert <[EMAIL PROTECTED]> wrote:
> 
> > Is there any way to estimate the size of the user base for 2.6.16?
> > 
> > e.g. how many downloads does it get?
> 
> I've often wondered that myself, as I'm concerned for it to continue
> to be maintained. I'm very appreciative of what Adrian is doing with
> it. (Thanks!)

We're still running 2.6.16 kernels on a bunch of machines, though 2.6.19
has been looking pretty nice on the couple of machines that are testing
it.  2.6.17 and 2.6.18 felt less stable.

We do a lot of Cyrus which does a lot of MMAP - and we also use the 
Areca driver - which are both strong reasons to move to 2.6.19.2, but
if the MMAP fix was ported back to 2.6.16 we might consider staying
there instead.

Bron.
-
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: How many people are using 2.6.16?

2007-01-29 Thread Bron Gondwana
On Mon, Jan 29, 2007 at 04:04:48PM -0500, Mike Houston wrote:
 On Mon, 29 Jan 2007 15:30:00 -0500
 Chuck Ebbert [EMAIL PROTECTED] wrote:
 
  Is there any way to estimate the size of the user base for 2.6.16?
  
  e.g. how many downloads does it get?
 
 I've often wondered that myself, as I'm concerned for it to continue
 to be maintained. I'm very appreciative of what Adrian is doing with
 it. (Thanks!)

We're still running 2.6.16 kernels on a bunch of machines, though 2.6.19
has been looking pretty nice on the couple of machines that are testing
it.  2.6.17 and 2.6.18 felt less stable.

We do a lot of Cyrus which does a lot of MMAP - and we also use the 
Areca driver - which are both strong reasons to move to 2.6.19.2, but
if the MMAP fix was ported back to 2.6.16 we might consider staying
there instead.

Bron.
-
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: Areca driver 2.6.19 on x86_64

2006-12-06 Thread Bron Gondwana
On Wed, Dec 06, 2006 at 05:51:32PM +0100, [EMAIL PROTECTED] wrote:
> OS distro used:
> CentOS 4.4 x86_64
> Kernel 2.6.19 with hand-crafted config, that we are
> able to use successfully with kernel 2.6.16.20.

What patches were you applying to 2.6.16.20, since that didn't
have an Areca driver in it I presume you're at least using that.

> Have you any suggestions to resolve this issue ?

32 bit kernel?  I'm somewhat serious here, depending what applications
you're running on the machine.

Otherwise, no clue sorry - we're running 32 bit kernels everywhere
even on the couple of new Core machines we have.

Bron.
-
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: Areca driver 2.6.19 on x86_64

2006-12-06 Thread Bron Gondwana
On Wed, Dec 06, 2006 at 05:51:32PM +0100, [EMAIL PROTECTED] wrote:
 OS distro used:
 CentOS 4.4 x86_64
 Kernel 2.6.19 with hand-crafted config, that we are
 able to use successfully with kernel 2.6.16.20.

What patches were you applying to 2.6.16.20, since that didn't
have an Areca driver in it I presume you're at least using that.

 Have you any suggestions to resolve this issue ?

32 bit kernel?  I'm somewhat serious here, depending what applications
you're running on the machine.

Otherwise, no clue sorry - we're running 32 bit kernels everywhere
even on the couple of new Core machines we have.

Bron.
-
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: Pathetic write performance from Areca PCIe cards

2006-11-27 Thread Bron Gondwana
On Mon, Nov 27, 2006 at 11:34:23AM +0800, erich wrote:
> Dear Maurice Volaski,
> 
> Please update Areca Firmware version into 1.42.
> Areca's firmware team found some problems on high capacity transfer.
> Hope the weird  phenomenon should disappear.

Erich, is there anyone at Areca that you can pass on the message to

   ++
   | Please update your ftp server/website when |
   | there is a new firmware or driver release! |
   ++

that would be great.  I followed the links from www.areca.us to the
firmware at:

ftp://ftp.areca.com.tw/RaidCards/BIOS_Firmware/ARC1130/

for our cards, but the 1210 and 1220 that Maurice was speaking about
suffer from the same problem - there is no mention of a 1.42 firmware
anywhere, just the 1.41 that's been out for ages.

...


And speaking of 1.41, there appear to have been two releases on two
different dates both called 1.41, as well as two different versions
of the driver that both call themselves version 1.41 despite the
second one fixing a major bug we suffered from.

Please also avoid that behaviour and label each new version of
the driver with a new number if you're using version numbers.

Numbers are cheap, but identifying if a machine is running the patches
it needs to not crash every few weeks under the loads we run them at 
is not (well, not until it crashes anyway!)


Thanks for listening, and hopefully thanks in advance for making your
drivers and firmware easier to find and identify in future.

Regards,

Bron.
-
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: Pathetic write performance from Areca PCIe cards

2006-11-27 Thread Bron Gondwana
On Mon, Nov 27, 2006 at 11:34:23AM +0800, erich wrote:
 Dear Maurice Volaski,
 
 Please update Areca Firmware version into 1.42.
 Areca's firmware team found some problems on high capacity transfer.
 Hope the weird  phenomenon should disappear.

Erich, is there anyone at Areca that you can pass on the message to

   ++
   | Please update your ftp server/website when |
   | there is a new firmware or driver release! |
   ++

that would be great.  I followed the links from www.areca.us to the
firmware at:

ftp://ftp.areca.com.tw/RaidCards/BIOS_Firmware/ARC1130/

for our cards, but the 1210 and 1220 that Maurice was speaking about
suffer from the same problem - there is no mention of a 1.42 firmware
anywhere, just the 1.41 that's been out for ages.

...


And speaking of 1.41, there appear to have been two releases on two
different dates both called 1.41, as well as two different versions
of the driver that both call themselves version 1.41 despite the
second one fixing a major bug we suffered from.

Please also avoid that behaviour and label each new version of
the driver with a new number if you're using version numbers.

Numbers are cheap, but identifying if a machine is running the patches
it needs to not crash every few weeks under the loads we run them at 
is not (well, not until it crashes anyway!)


Thanks for listening, and hopefully thanks in advance for making your
drivers and firmware easier to find and identify in future.

Regards,

Bron.
-
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.12.2 dies after 24 hours

2005-07-12 Thread Bron Gondwana

On Tue, 12 Jul 2005 14:13:01 +0200, "Lars Roland" <[EMAIL PROTECTED]>
said:
> You have irq balancing, the line 
> 
> CONFIG_IRQBALANCE=y
> 
> in your config file confirms it - I am not completely sure that it is
> the root of the problem but when I experienced the problem I changed
> two things: my acpi code and irq balancing and one of then made the
> difference, I am just to lazy to check which one it is (also it is
> production servers so I cannot do whatever I want).

Our ACPI looked very similar to yours, so I've disabled IRQBALANCE.

We'll be rebooting the server during a less busy time to try the new
kernel, so not for about 12 hours or so.

> >   append="elevator=deadline"
>
> I use the same io scheduler so that should not be a problem. I have
> uploaded my config file - it works on ibm 335/336 servers, and a quick
> look at your boot msg seams to indicate that your server have some of
> the same hardware - note however that I load ide/scsi/filesystem stuff
> as modules so you will need to build a initrd to use my config.
> 
> the config is here
> 
> http://randompage.org/static/kernel.conf

Great, thanks for that.  I've had a look through and I think the
IRQBALANCE issue is the most likely cause.

We're also applying the attached patch.  There's a bug in reiserfs that
gets tickled by our huge MMAP usage (it's amazing what really busy
Cyrus daemons can do to a server, ouch).  It's fixed in generic_write,
so we take the few percent performance hit for something that doesn't
break!

Bron.
-- 
  Bron Gondwana
  [EMAIL PROTECTED]



patch-2.6.12.2-reiserfix.bz2
Description: Binary data


Re: 2.6.12.2 dies after 24 hours

2005-07-12 Thread Bron Gondwana

On Tue, 12 Jul 2005 14:13:01 +0200, Lars Roland [EMAIL PROTECTED]
said:
 You have irq balancing, the line 
 
 CONFIG_IRQBALANCE=y
 
 in your config file confirms it - I am not completely sure that it is
 the root of the problem but when I experienced the problem I changed
 two things: my acpi code and irq balancing and one of then made the
 difference, I am just to lazy to check which one it is (also it is
 production servers so I cannot do whatever I want).

Our ACPI looked very similar to yours, so I've disabled IRQBALANCE.

We'll be rebooting the server during a less busy time to try the new
kernel, so not for about 12 hours or so.

append=elevator=deadline

 I use the same io scheduler so that should not be a problem. I have
 uploaded my config file - it works on ibm 335/336 servers, and a quick
 look at your boot msg seams to indicate that your server have some of
 the same hardware - note however that I load ide/scsi/filesystem stuff
 as modules so you will need to build a initrd to use my config.
 
 the config is here
 
 http://randompage.org/static/kernel.conf

Great, thanks for that.  I've had a look through and I think the
IRQBALANCE issue is the most likely cause.

We're also applying the attached patch.  There's a bug in reiserfs that
gets tickled by our huge MMAP usage (it's amazing what really busy
Cyrus daemons can do to a server, ouch).  It's fixed in generic_write,
so we take the few percent performance hit for something that doesn't
break!

Bron.
-- 
  Bron Gondwana
  [EMAIL PROTECTED]



patch-2.6.12.2-reiserfix.bz2
Description: Binary data