Re: Kernel SCM saga..

2005-04-08 Thread Martin Pool
On Thu, 2005-04-07 at 16:27 -0700, Linus Torvalds wrote:
 
 On Thu, 7 Apr 2005, Martin Pool wrote:
  
  Importing the first snapshot (2004-01-01) took 41.77s user, 1:23.79
  total.  Each subsequent day takes about 10s user, 30s elapsed to commit
  into bzr.  The speeds are comparable to CVS or a bit faster, and may be
  faster than other distributed systems. (This on a laptop with a 5400rpm
  disk.)  Pulling out a complete copy of the tree as it was on a previous
  date takes about 14 user, 60s elapsed.
 
 If you have an exportable tree, can you just make it pseudo-public, tell
 me where to get a buildable system that works well enough, point me to
 some documentation, and maybe I can get some feel for it?

Hi,

There is a stable release here:
http://www.bazaar-ng.org/pkg/bzr-0.0.3.tgz

All you should need to do is unpack that and symlink bzr onto your path.

You can get the current bzr development tree, stored in itself, by
rsync:

  rsync -av ozlabs.org::mbp/bzr/dev ~/bzr.dev

Inside that directory you can run 'bzr info', 'bzr status --all', 'bzr
unknowns', 'bzr log', 'bzr ignored'.  

Repeated rsyncs will bring you up to date with what I've done -- and
will of course overwrite any local changes. 

If someone was going to development on this then the method would
typically be to have two copies of the tree, one tracking my version and
another for your own work -- much as with bk.  In your own tree, you can
do 'bzr add', 'bzr remove', 'bzr diff', 'bzr commit'.

At the moment all you can do is diff against the previous revision, or
manually diff the two trees, or use quilt, so it is just an archival
system not a full SCM system.  In the near future there will be some
code to extract the differences as changesets to be mailed off.

I have done a rough-as-guts import from bkcvs into this, and I can
advertise that when it's on a server that can handle the load. 

At a glance this looks very similar to git -- I can go into the
differences and why I did them the other way if you want.

-- 
Martin



signature.asc
Description: This is a digitally signed message part


Re: [Fwd: Re: connector is missing in 2.6.12-rc2-mm1]

2005-04-08 Thread David S. Miller
On Fri, 08 Apr 2005 09:19:39 +0400
Evgeniy Polyakov [EMAIL PROTECTED] wrote:

  I know, the same thing holds for most architectures, including i386.
  However, this is not an issue for uni-processor kernels anywhere else,
  so what's so special about MIPS?
 
 Does i386 or ppc has cached and uncached memory?

Yes, they do.

 No, i386, ppc and others do not require sync on uncached memory access,
 and only instruction not data cache sync on SMP.

On MIPS, all the MIPS atomic operations will operate on cached memory.
And as far as a uniprocessor cpu is concerned, updating the cache is
all that matters.

In fact, this SYNC instruction seems unnecessary even on SMP.  If the
cache is updated, it is part of the coherent memory space and thus
MOESI main bus SMP cache coherency transactions will see the update
value.  When another processor does a read-to-share or read-to-own
request on the main bus, the processor which did the atomic OP will
provide the correct data from it's cache in response to that transaction.

So what you have to do is show me an example where the MIPS kernel can
do an atomic.h operation on uncached memory.  I even think that is
invalid, come to think of 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: [Fwd: Re: connector is missing in 2.6.12-rc2-mm1]

2005-04-08 Thread Evgeniy Polyakov
On Fri, 2005-04-08 at 09:19 +0400, Evgeniy Polyakov wrote:
 On Fri, 2005-04-08 at 15:08 +1000, Herbert Xu wrote:
  On Fri, Apr 08, 2005 at 09:11:56AM +0400, Evgeniy Polyakov wrote:
  
Yes but what will go wrong on uni-processor MIPS when you don't do the
sync in atomic_sub_return?
   
   Sync synchornizes cached mamory access,
   without it new value may be stored only into cache,
   but not into memory.
  
  I know, the same thing holds for most architectures, including i386.
  However, this is not an issue for uni-processor kernels anywhere else,
  so what's so special about MIPS?
 
 Does i386 or ppc has cached and uncached memory?
 No, i386, ppc and others do not require sync on uncached memory access,
 and only instruction not data cache sync on SMP.

Ugh, now I see your point :)
For UP we may have some nitpics with DMA, 
but I doubt anyone will use atomic pointer for DMA.
sync will not be an issue in atomic ops.

  Cheers,
-- 
Evgeniy Polyakov

Crash is better than data corruption -- Arthur Grabowski


signature.asc
Description: This is a digitally signed message part


scancodes to X-Windows

2005-04-08 Thread P.Manohar
hai all,
The following is the code snippet from  drivers/char/keyboard.c
if ((raw_mode = (kbd-kbdmode == VC_RAW))) {
/*
 *  The following is a workaround for hardware
 *  which sometimes send the key release event twice
 */
unsigned char next_scancode = scancode|up_flag;
if (up_flag  next_scancode==prev_scancode) {
/* unexpected 2nd release event */
} else {
prev_scancode=next_scancode;
put_queue(next_scancode);
}
/* we do not return yet, because we want to maintain
   the key_down array, so that we have the correct
   values when finishing RAW mode or when changing VT's */
}
  I did so much googling, unable find 
My doubts are,

  1)Is in raw mode also the scancodes are send to tty buffer (as we are 
using put_queue() here.
  2) whether X will read from tty buffer are will it take scancodes 
directly ,in this case where it will store those scancodes,if X is busy doing
some other work.

In the put_queue function
#ifdef CONFIG_FORWARD_KEYBOARD
extern int forward_chars;
void put_queue(int ch)
{
if (forward_chars == fg_console+1){
kbd_forward_char (ch);
} else {
if (tty) {
tty_insert_flip_char(tty, ch, 0);
con_schedule_flip(tty);
}
}
}
Where that kbd_forward_char is defined or what it will do.
what CONFIG_FORWARD_KEYBOARD signifies.
This is not present in my config file,(I am using RH linux 2.4.20)
I got confused of it , if you know about please mail me.
  ThanksRegards,
  P.Manohar,
-
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: Kernel SCM saga..

2005-04-08 Thread Matthias Urlichs
Hi,   Jan Hudec schrub am Thu, 07 Apr 2005 09:44:08 +0200:

 1) GNU Arch/Bazaar. They use the same archive format, simple, have the
concepts right. It may need some scripts or add ons. When Bazaar-NG is
ready, it will be able to read the GNU Arch/Bazaar archives so
switching should be easy.

Plus Bazaar has multiple implementations (C and Python). Plus arch can
trivially export single patches. Plus ... well, you get the idea. ;-)

Linus: Care to share your SCM feature requirement list?

-- 
Matthias Urlichs   |   {M:U} IT Design @ m-u-it.de   |  [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] Dynamic Tick version 050406-1

2005-04-08 Thread Tony Lindgren
* Alexander Nyberg [EMAIL PROTECTED] [050407 02:31]:
Here's an updated dyn-tick patch. Some minor fixes:
   
   Doesn't look so good here.  I get this with 2.6.12-rc2 (plus a few other 
   patches).
   Disabling Dynamic Tick makes everything happy again (it boots).
   
   [4294688.655000] Unable to handle kernel NULL pointer dereference at 
   virtual address 
  
  Thanks for trying it out. What kind of hardware do you have? Does it
  have HPET? It looks like no suitable timer for dyn-tick is found...
  Maybe the following patch helps?
 
 
 = arch/i386/kernel/Makefile 1.67 vs edited =
 --- 1.67/arch/i386/kernel/Makefile2005-01-26 06:21:13 +01:00
 +++ edited/arch/i386/kernel/Makefile  2005-04-07 11:21:19 +02:00
 @@ -32,6 +32,7 @@ obj-$(CONFIG_ACPI_SRAT) += srat.o
  obj-$(CONFIG_HPET_TIMER) += time_hpet.o
  obj-$(CONFIG_EFI)+= efi.o efi_stub.o
  obj-$(CONFIG_EARLY_PRINTK)   += early_printk.o
 +obj-$(CONFIG_NO_IDLE_HZ) += dyn-tick.o
  
  EXTRA_AFLAGS   := -traditional

Ah, that explains :) Thanks!

Tony
-
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] Dynamic Tick version 050406-1

2005-04-08 Thread Tony Lindgren
* Frank Sorenson [EMAIL PROTECTED] [050407 15:21]:
 Frank Sorenson wrote:
  Tony Lindgren wrote:
  
 Thanks for trying it out. What kind of hardware do you have? Does it
 have HPET? It looks like no suitable timer for dyn-tick is found...
 Maybe the following patch helps?
 
 Tony
  
  
  Does 'different crash' qualify as helping?  :)
 
 Update:
 The patch does seem to fix the crash.  This different crash I
 mentioned appears to be related to the netconsole I was using (serial
 console produces stairstepping text, netconsole seems to duplicate
 lines--go figure).  Without netconsole, dynamic tick appears to be
 working, so I'm not sure whether this is a netconsole bug or a dynamic
 tick bug.

This might be because time does not run correctly, see below.

 While dynamic tick no longer panics, with dynamic tick, my system slows
 to whatever is slower than a crawl.  It now takes 6 minutes 50 seconds
 to boot all the way up, compared to 1 minute 35 seconds with my 2.6.12
 kernel without the dynamic tick patch.  I'm not sure where this slowdown
 is occurring yet.

I think I have an idea on what's going on; Your system does not wake to
APIC interrupt, and the system timer updates time only on other interrupts.
I'm experiencing the same on a loaner ThinkPad T30.

I'll try to do another patch today. Meanwhile it now should work
without lapic in cmdline.

Tony

-
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] Priority Lists for the RT mutex

2005-04-08 Thread Ingo Molnar

* Daniel Walker [EMAIL PROTECTED] wrote:

   This patch adds the priority list data structure from Inaky 
 Perez-Gonzalez to the Preempt Real-Time mutex.

this one looks really clean.

it makes me wonder, what is the current status of fusyn's? Such a light 
datastructure would be much more mergeable upstream than the former 
100-queues approach.

Ingo
-
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.12-rc2

2005-04-08 Thread AsterixTheGaul
 FWIW, I have the same problem on a T41p with 2.6.11 and 2.6.12-rc2,
 except that neither returns from suspend-to-ram with video restored on
 the LCD. I believe I was able to get video restored on an external CRT
 in either 2.6.12-rc2 or 2.6.12-rc2-mm1, but the LCD still didn't
 restore (can verify later today, if you'd like). I had dumped out the
 radeontool regs values before  after the sleep, in case they help.
 They are attached.

Hmm... I have 2.6.12-rc2 on a T41 and suspend to ram works good (well
except for a backtrace complaining about __might_sleep but otherwise ok).

Apr  7 23:17:10 localhost kernel: Debug: sleeping function called from
invalid context at mm/slab.c:2090
Apr  7 23:17:10 localhost kernel: in_atomic():0, irqs_disabled():1
Apr  7 23:17:10 localhost kernel:  [c011d9e3] __might_sleep+0xa3/0xc0
Apr  7 23:17:10 localhost kernel:  [c015beb0] kmem_cache_alloc+0x50/0x60
Apr  7 23:17:10 localhost kernel:  [c0269750] acpi_pci_link_set+0x4a/0x1a2
Apr  7 23:17:10 localhost kernel:  [c0269bc9] irqrouter_resume+0x1c/0x24
Apr  7 23:17:10 localhost kernel:  [c02b70f6] sysdev_resume+0x66/0xc4
Apr  7 23:17:10 localhost kernel:  [c02bbcc5] device_power_up+0x5/0xa
Apr  7 23:17:10 localhost kernel:  [c014a426] suspend_enter+0x36/0x60
Apr  7 23:17:10 localhost kernel:  [c014a3a3] suspend_prepare+0x63/0xb0
Apr  7 23:17:10 localhost kernel:  [c014a4ec] enter_state+0x5c/0x70
Apr  7 23:17:10 localhost kernel:  [c014a639] state_store+0xa9/0xbc
Apr  7 23:17:10 localhost kernel:  [c014a590] state_store+0x0/0xbc
Apr  7 23:17:10 localhost kernel:  [c01d27c6] subsys_attr_store+0x36/0x50
Apr  7 23:17:10 localhost kernel:  [c01d2a6e] flush_write_buffer+0x2e/0x40
Apr  7 23:17:10 localhost kernel:  [c01d2ace] sysfs_write_file+0x4e/0x80
Apr  7 23:17:10 localhost kernel:  [c017bdee] vfs_write+0x12e/0x130
Apr  7 23:17:10 localhost kernel:  [c017bea1] sys_write+0x41/0x70
Apr  7 23:17:10 localhost kernel:  [c01039ff] sysenter_past_esp+0x54/0x75


 
 I posted these problems in the Call for help S3 thread, but no one 
 responded.
 
 Thanks,
 Nish
 
 

-
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: VST and Sched Load Balance

2005-04-08 Thread Nick Piggin
Srivatsa Vaddagiri wrote:
On Thu, Apr 07, 2005 at 05:10:24PM +0200, Ingo Molnar wrote:
Interaction with VST is not a big issue right now because this only matters 
on SMP boxes which is a rare (but not unprecedented) target for embedded 
platforms.  

Well, I don't think VST is targetting just power management in embedded 
platforms. Even (virtualized) servers will benefit from this patch, by
making use of the (virtual) CPU resources more efficiently.

I still think looking at just using the rebalance backoff would be
a good start.
What would be really nice is to measure the power draw on your favourite
SMP system with your current patches that *don't* schedule ticks to
service rebalancing.
Then measure again with the current rebalance backoff settings (which
will likely be not very good, because some intervals are constrained to
quite small values).
Then we can aim for something like 80-90% of the first (ie perfect)
efficiency rating.
--
SUSE Labs, Novell Inc.
-
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/


accessing i2c-driver

2005-04-08 Thread karthik
Hi,


   i want to write an application to access the i2c-matroxfb driver. can 
anybody tell me how to start with ie if u r accessing a char driver similar 
to File ie first we have to opne the driver, then when we call read it call 
the  driver specific read etc.

Likewise how can i write one application to check what is happening in 
i2c-matroxfb module. if anybody got anyidea regarding this please mail me.

Karthik
-
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.12-rc2

2005-04-08 Thread AsterixTheGaul
Err... never mind... I was not doing any radeon control. 

On Apr 8, 2005 11:58 AM, AsterixTheGaul [EMAIL PROTECTED] wrote:
  FWIW, I have the same problem on a T41p with 2.6.11 and 2.6.12-rc2,
  except that neither returns from suspend-to-ram with video restored on
  the LCD. I believe I was able to get video restored on an external CRT
  in either 2.6.12-rc2 or 2.6.12-rc2-mm1, but the LCD still didn't
  restore (can verify later today, if you'd like). I had dumped out the
  radeontool regs values before  after the sleep, in case they help.
  They are attached.
 
 Hmm... I have 2.6.12-rc2 on a T41 and suspend to ram works good (well
 except for a backtrace complaining about __might_sleep but otherwise ok).
 
 Apr  7 23:17:10 localhost kernel: Debug: sleeping function called from
 invalid context at mm/slab.c:2090
 Apr  7 23:17:10 localhost kernel: in_atomic():0, irqs_disabled():1
 Apr  7 23:17:10 localhost kernel:  [c011d9e3] __might_sleep+0xa3/0xc0
 Apr  7 23:17:10 localhost kernel:  [c015beb0] kmem_cache_alloc+0x50/0x60
 Apr  7 23:17:10 localhost kernel:  [c0269750] acpi_pci_link_set+0x4a/0x1a2
 Apr  7 23:17:10 localhost kernel:  [c0269bc9] irqrouter_resume+0x1c/0x24
 Apr  7 23:17:10 localhost kernel:  [c02b70f6] sysdev_resume+0x66/0xc4
 Apr  7 23:17:10 localhost kernel:  [c02bbcc5] device_power_up+0x5/0xa
 Apr  7 23:17:10 localhost kernel:  [c014a426] suspend_enter+0x36/0x60
 Apr  7 23:17:10 localhost kernel:  [c014a3a3] suspend_prepare+0x63/0xb0
 Apr  7 23:17:10 localhost kernel:  [c014a4ec] enter_state+0x5c/0x70
 Apr  7 23:17:10 localhost kernel:  [c014a639] state_store+0xa9/0xbc
 Apr  7 23:17:10 localhost kernel:  [c014a590] state_store+0x0/0xbc
 Apr  7 23:17:10 localhost kernel:  [c01d27c6] subsys_attr_store+0x36/0x50
 Apr  7 23:17:10 localhost kernel:  [c01d2a6e] flush_write_buffer+0x2e/0x40
 Apr  7 23:17:10 localhost kernel:  [c01d2ace] sysfs_write_file+0x4e/0x80
 Apr  7 23:17:10 localhost kernel:  [c017bdee] vfs_write+0x12e/0x130
 Apr  7 23:17:10 localhost kernel:  [c017bea1] sys_write+0x41/0x70
 Apr  7 23:17:10 localhost kernel:  [c01039ff] sysenter_past_esp+0x54/0x75
 
 
 
  I posted these problems in the Call for help S3 thread, but no one 
  responded.
 
  Thanks,
  Nish
 
 
 

-
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: Kernel SCM saga..

2005-04-08 Thread Linus Torvalds


On Fri, 8 Apr 2005, Martin Pool wrote:
 
 You can get the current bzr development tree, stored in itself, by
 rsync:

I was thinking more of an exportable kernel tree in addition to the tool.

The reason I mention that is just that I know several SCM's bog down under 
load horribly, so it actually matters what the size of the tree is.

And I'm absolutely _not_ asking you for the 60,000 changesets that are in
the BK tree, I'd be prfectly happy with a 2.6.12-rc2-based one for
testing.

I know I can import things myself, but the reason I ask is because I've
got several SCM's I should check out _and_ I've been spending the last two
days writing my own fallback system so that I don't get screwed if nothing
out there works right now. 

Which is why I'd love to hear from people who have actually used various 
SCM's with the kernel. There's bound to be people who have already tried.

I've gotten a lot of email of the kind I love XYZ, you should try it 
out, but so far I've not seen anybody say I've tracked the kernel with 
XYZ, and it does ...

So, this is definitely not a Martin Pool should do this kind of issue: 
I'd like many people to test out many alternatives, to get a feel for 
where they are especially for a project the size of the kernel..

Linus
-
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: [Fwd: Re: connector is missing in 2.6.12-rc2-mm1]

2005-04-08 Thread Evgeniy Polyakov
On Fri, 2005-04-08 at 01:55 -0400, James Morris wrote:
 On Fri, 8 Apr 2005, Evgeniy Polyakov wrote:
 
Sure, but seems I need to ask again: What is the exact reason not to 
implement
the muticast message multiplexing/subscription part of the connector as 
a
generic part of netlink? That would be nice to have and useful for other
subsystems too as an option to the current broadcast.
   
   This is a good point, in general, consider generically extending Netlink 
   itself instead of creating these separate things.
  
 
  Connector requires it's own registration technique for
  1. hide all transport [netlink] layer from higher protocols which use
  connector
 
 Why?

User should not know about low-level transport - 
it is like socket layer -  write only data and do not care about
how it will be delivered.

  2. create different group appointment for the given connector's ID
  [it was different, now new group which is eqal to idx field is appointed
  to 
  the new callback]
 
 I don't understand.

In the previous versions netlink group was assigned as incremented
counter, 
that was not convenient, but now we have 2-way ID, which is better
from users point of view - idx is supposed to be major id, val - 
some subsystem of that set.

  3. provide more generic set of ids
 
 What do you mean by ids?

Each connector message requires pair of u32 ids - idx and val.
Idx is generic system id [which is equal to the appropriate netlink
group
in current implementation], while val is id of some subsytem
inside idx.

Using only group without it's own connector's id will heavily
complex callback register/unregister notification [Jamal's suggested
feature]
for example.

 
 - James
-- 
Evgeniy Polyakov

Crash is better than data corruption -- Arthur Grabowski


signature.asc
Description: This is a digitally signed message part


Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.

2005-04-08 Thread Sven Luther
On Thu, Apr 07, 2005 at 09:06:58PM -0600, Eric W. Biederman wrote:
 Sven Luther [EMAIL PROTECTED] writes:
 
   It sounds like you are now looking at the question of are the
   huge string of hex characters the preferred form for making
   modifications to firmware.  Personally I would be surprised
   but those hunks are small enough it could have been written
   in machine code.
  
  Yep, i also think it is in broadcom's best interest to modify the licencing
  text accordyingly, since i suppose someone could technicaly come after them
  legally to obtain said source code to this firmware. Unprobable though.
 
 Possibly.  It sounds like that is what you want to do.

No, i am making them aware of the possibility, and hoping they fix the issue,
but we will see. If they fail to act on this, i don't understand why though,
since it is just addition of a clarification. It is not as if i am asking for
the release of all their chip specs or something such.

  since there should be at least some kind of executable code in it,
  independenlty of the fact that we claim that data is also software.
 
 Do you have any evidence that ``software'' was not written directly in
 machine code?   Software is written directly in machine code when a programmer

So what, i seriously doubt they where written using an vi in C, as the code
currently stands, so we do need an additional level of source code, being it
only some asm code or something.

 looks at the instruction set and writes down the binary representation
 of the instructions.  I know ISC dhcpd has packet filter code that was written
 in that manner, so it is not a lost art.   And it is done often enough when
 an assembler will not cooperate, and generate the correct instruction.

But again, this is not the common assumption, so if this is so, they should
write it down black on white in the copyright notice, and everyone would be
happy.

 Without evidence that we don't have the preferred form of the software
 for making modifications I don't see how you can complain.

No, it goes the other way around. Without evidence that all is clean, we have
no right to distribute that code, and if what you describe was the case, a
couple of lines telling us that fact would solve the issue, and not even need
the involvement of their legal department. I would be somewhat suspisious
though if all these guys came up and said they just wrote said firmware in
binary directly though.

Friendly,

Sven Luther

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


Dual Opteron / Kernel Panic

2005-04-08 Thread Marco Schwarz
Hi all,

today I got the following messages on one of our dual Opteron servers:

Apr  8 08:40:21 dslxs01neu kernel: CPU 1: Machine Check Exception:
0007
Apr  8 08:40:21 dslxs01neu kernel: Bank 4: f47520009c080a13 at
0001e89ccdf0
Apr  8 08:40:21 dslxs01neu kernel: Kernel panic: Unable to continue
Apr  8 08:40:21 dslxs01neu kernel: klogd 1.4.1, -- state change
-- 
Apr  8 08:40:21 dslxs01neu kernel: Inspecting
/boot/System.map-2.4.21-286-smp
Apr  8 08:40:25 dslxs01neu kernel: Loaded 22027 symbols from
/boot/System.map-2.4.21-286-smp.
Apr  8 08:40:25 dslxs01neu kernel: Symbols match kernel version 2.4.21.
Apr  8 08:40:25 dslxs01neu kernel: Loaded 588 symbols from 21 modules.

The machine is still up and running, but 'Kernel panic' seems to be
something serious ;-)

Can some tell me what these messages mean ?

Thanks a lot,
Marco Schwarz
-
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: /dev/random problem on 2.6.12-rc1

2005-04-08 Thread Simon Derr
On Thu, 7 Apr 2005, Matt Mackall wrote:

 On Thu, Apr 07, 2005 at 05:36:59PM +0200, Simon Derr wrote:
  
  
  On Thu, 7 Apr 2005, Yura Pakhuchiy wrote:
  
   On Thu, 2005-04-07 at 14:40 +0200, Patrice Martinez wrote:
When  using a machine with a  2612-rc 1kernel, I encounter problems
reading /dev/random:
 it simply nevers returns anything, and the process is blocked in the
read...
The easiest way to see it is to type:
 od  /dev/random
   
Any idea?
  
   Because, /dev/random use user input, mouse movements and other things to
   generate next random number. Use /dev/urandom if you want version that
   will never block your machine.
  
   Read man 4 random for details.
  
  Something changed since previous versions of the kernel, I guess.
  Running `find /usr | wc' on a ssh session generates both network and disk
  activity, and you should not expect any other kind of input on a networked
  server.
 
Oops, the command is actually find /usr | xargs wc, witch causes lots of 
disk activity.

 FYI, network activity only generates entropy on a very small subset of
 NICs, and probably not the one you're using. This is good, as network
 activity is assumed passively observable/timable.
Offtopic, but why isn't the policy the same for all NICs ?
 
  Anyway, still zero bytes coming from /dev/random, for the few minutes I
  waited.
 
 Are you and Patrice both experiencing this on the same machine? 
Both IA-64, but that's the only common point.

 What
 was the last kernel that was known to work for you? Do you see the
 contents of /proc/sys/kernel/random/entropy_avail change over time?
 Are there any other entropy consumers on your machine?
None that I am aware of.

I run:
# dd if=/dev/random bs=1 count=1 | od
 
Another shell:
# lsof /dev/random
COMMAND  PID USER   FD   TYPE DEVICE SIZE  NODE NAME
dd  1496 root0r   CHR1,8  99952 /dev/random

Now, find /usr | xargs wc running in background.

About /proc/sys/kernel/random/entropy_avail:
(5 second refresh interval)

0
0
0
0
[lots of 0]
0
0
0
6
0
8
2
0
0
[lots of 0]
0
0
0
3
1
0
0
[lots of 0]
0
0
0

...


After 10 minutes, dd is still running.

This is on Linux 2.6.12-rc1-bk1, same results for 2.6.12-rc2.

And /dev/random works fine on the same machine with Linux 2.6.11.
(i.e when running find /usr | xargs wc, /dev/random spits out lots of 
bytes)


Simon.

-
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.12-rc2

2005-04-08 Thread AsterixTheGaul
Ok this time I did with radeontool and it works good :)) (2.6.12-rc2 on T41).

1. I have radeontool regs before susp to ram (presusp)
2. turn off LCD with radeontool light off
3. Suspend to RAM and wake up. (same backtrace)
4. LCD is back on (no problem)
5. regs in postsusp

only diff is 

 RADEON_CRTC_GEN_CNTL=03200600
---
 RADEON_CRTC_GEN_CNTL=03000600


presusp
---
RADEON_DAC_CNTL=ff002102
RADEON_DAC_CNTL2=
RADEON_TV_DAC_CNTL=07680142
RADEON_DISP_OUTPUT_CNTL=1002
RADEON_CONFIG_MEMSIZE=0200
RADEON_AUX_SC_CNTL=
RADEON_CRTC_EXT_CNTL=8048
RADEON_CRTC_GEN_CNTL=03200600
RADEON_CRTC2_GEN_CNTL=0080
RADEON_DEVICE_ID=4c66
RADEON_DISP_MISC_CNTL=5b300600
RADEON_GPIO_MONID=
RADEON_GPIO_MONIDB=0300
RADEON_GPIO_CRT2_DDC=0300
RADEON_GPIO_DVI_DDC=0013
RADEON_GPIO_VGA_DDC=0003
RADEON_LVDS_GEN_CNTL=003dffa1

postsusp
---
RADEON_DAC_CNTL=ff002102
RADEON_DAC_CNTL2=
RADEON_TV_DAC_CNTL=07680142
RADEON_DISP_OUTPUT_CNTL=1002
RADEON_CONFIG_MEMSIZE=0200
RADEON_AUX_SC_CNTL=
RADEON_CRTC_EXT_CNTL=8048
RADEON_CRTC_GEN_CNTL=03000600
RADEON_CRTC2_GEN_CNTL=0080
RADEON_DEVICE_ID=4c66
RADEON_DISP_MISC_CNTL=5b300600
RADEON_GPIO_MONID=
RADEON_GPIO_MONIDB=0300
RADEON_GPIO_CRT2_DDC=0300
RADEON_GPIO_DVI_DDC=0013
RADEON_GPIO_VGA_DDC=0003
RADEON_LVDS_GEN_CNTL=003dffa1


On Apr 8, 2005 12:09 PM, AsterixTheGaul [EMAIL PROTECTED] wrote:
 Err... never mind... I was not doing any radeon control.
 
 On Apr 8, 2005 11:58 AM, AsterixTheGaul [EMAIL PROTECTED] wrote:
   FWIW, I have the same problem on a T41p with 2.6.11 and 2.6.12-rc2,
   except that neither returns from suspend-to-ram with video restored on
   the LCD. I believe I was able to get video restored on an external CRT
   in either 2.6.12-rc2 or 2.6.12-rc2-mm1, but the LCD still didn't
   restore (can verify later today, if you'd like). I had dumped out the
   radeontool regs values before  after the sleep, in case they help.
   They are attached.
 
  Hmm... I have 2.6.12-rc2 on a T41 and suspend to ram works good (well
  except for a backtrace complaining about __might_sleep but otherwise ok).
 
  Apr  7 23:17:10 localhost kernel: Debug: sleeping function called from
  invalid context at mm/slab.c:2090
  Apr  7 23:17:10 localhost kernel: in_atomic():0, irqs_disabled():1
  Apr  7 23:17:10 localhost kernel:  [c011d9e3] __might_sleep+0xa3/0xc0
  Apr  7 23:17:10 localhost kernel:  [c015beb0] kmem_cache_alloc+0x50/0x60
  Apr  7 23:17:10 localhost kernel:  [c0269750] acpi_pci_link_set+0x4a/0x1a2
  Apr  7 23:17:10 localhost kernel:  [c0269bc9] irqrouter_resume+0x1c/0x24
  Apr  7 23:17:10 localhost kernel:  [c02b70f6] sysdev_resume+0x66/0xc4
  Apr  7 23:17:10 localhost kernel:  [c02bbcc5] device_power_up+0x5/0xa
  Apr  7 23:17:10 localhost kernel:  [c014a426] suspend_enter+0x36/0x60
  Apr  7 23:17:10 localhost kernel:  [c014a3a3] suspend_prepare+0x63/0xb0
  Apr  7 23:17:10 localhost kernel:  [c014a4ec] enter_state+0x5c/0x70
  Apr  7 23:17:10 localhost kernel:  [c014a639] state_store+0xa9/0xbc
  Apr  7 23:17:10 localhost kernel:  [c014a590] state_store+0x0/0xbc
  Apr  7 23:17:10 localhost kernel:  [c01d27c6] subsys_attr_store+0x36/0x50
  Apr  7 23:17:10 localhost kernel:  [c01d2a6e] flush_write_buffer+0x2e/0x40
  Apr  7 23:17:10 localhost kernel:  [c01d2ace] sysfs_write_file+0x4e/0x80
  Apr  7 23:17:10 localhost kernel:  [c017bdee] vfs_write+0x12e/0x130
  Apr  7 23:17:10 localhost kernel:  [c017bea1] sys_write+0x41/0x70
  Apr  7 23:17:10 localhost kernel:  [c01039ff] sysenter_past_esp+0x54/0x75
 
 
  
   I posted these problems in the Call for help S3 thread, but no one 
   responded.
  
   Thanks,
   Nish
  
  
  
 

-
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] PCI Hotplug: remove code duplication in drivers/pci/hotplug/ibmphp_pci.c

2005-04-08 Thread Rolf Eike Beer
Greg KH wrote:
 On Sat, Apr 02, 2005 at 02:20:11PM +0200, Rolf Eike Beer wrote:
  Greg KH wrote:
   ChangeSet 1.2181.16.9, 2005/03/17 13:54:33-08:00,
   [EMAIL PROTECTED]
  
   [PATCH] PCI Hotplug: remove code duplication in
   drivers/pci/hotplug/ibmphp_pci.c
  
   This patch removes some code duplication where if and else have the
   same code at the beginning and the end of the branch.
 
  Greg, as you correctly pointed out this patch if broken. It could never
  reach the if branch and always uses the else branch. Please drop this one
  and review the patch I sent on March 21th to pcihp-discuss for inclusion.
  It removes much more duplication and handles this case correctly. Sorry,
  it looks like I forgot to CC you. I'll bounce this mail to you.

 Hm, care to send me a patch that backs the old one out?  Or just one
 that fixes it properly, I can't really revert the old patch, now that
 I'm not using bitkeeper :)

Yes, I'll prepare one at the weekend when I have access to my patches again. 
Mail will be sent out on monday. I'll send you two patches: first one to fix 
it properly and then one that cleans up a bit more. The second one will do 
the same things like the patch I forwarded you on April 2nd. It would be nice 
if you could have a look on this patch in the mean time so you maybe can 
apply the second one immediately.

Eike


pgp8m43YK6z84.pgp
Description: PGP signature


Re: Kernel SCM saga..

2005-04-08 Thread Rogan Dawes
H. Peter Anvin wrote:
Followup to:  [EMAIL PROTECTED]
By author:Chris Wedgwood [EMAIL PROTECTED]
In newsgroup: linux.dev.kernel
On Thu, Apr 07, 2005 at 09:42:04PM -0700, Linus Torvalds wrote:

Yes. The silly thing is, at least in my local tests it doesn't
actually seem to be _doing_ anything while it's slow (there are no
system calls except for a few memory allocations and
de-allocations). It seems to have some exponential function on the
number of pathnames involved etc.
I see lots of brk calls changing the heap size, up, down, up, down,
over and over.
This smells a bit like c++ new/delete behavior to me.

Hmmm... can glibc be clued in to do some hysteresis on the memory
allocation?
	-hpa
Take a look at 
http://www.linuxshowcase.org/2001/full_papers/ezolt/ezolt_html/

Abstract
GNU libc's default setting for malloc can cause a significant 
performance penalty for applications that use it extensively, such as 
Compaq's high performance extended math library, CXML.  The default 
malloc tuning can cause a significant number of minor page faults, and 
result in application performance of only half of the true potential. 
This paper describes how to remove the performance penalty using 
environmental variables and the method used to discover the cause of the 
malloc performance penalty.

Regards,
Rogan
-
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: non-free firmware in kernel modules, aggregation and unclear copyright notice.

2005-04-08 Thread Sven Luther
On Fri, Apr 08, 2005 at 02:31:36AM +0200, Adrian Bunk wrote:
 On Thu, Apr 07, 2005 at 11:05:05PM +0200, Sven Luther wrote:
  On Thu, Apr 07, 2005 at 10:56:47PM +0200, Adrian Bunk wrote:
 ...
   If your statement was true that Debian must take more care regarding 
   legal risks than commercial distributions, can you explain why Debian 
   exposes the legal risks of distributing software capable of decoding 
   MP3's to all of it's mirrors?
  
  I don't know and don't really care. I don't maintain any mp3 player (err,
  actually i do, i package quark, but use it mostly to play .oggs, maybe i
  should think twice about this now that you made me aware of it), but in any
  case, i am part of the debian kernel maintainer team, and as such have a
  responsability to get those packages uploaded and past the screening of the
  ftp-masters. I believe the planned solution is vastly superior to the 
  current
  one of simply removing said firmware blobs from the drivers, which caused 
  more
  harm than helped, which is why we are set to clarifying this for the
  post-sarge kernels. 
 
 
 Debian doesn't seem to care much about the possible legal problems of 
 patents.

patents are problematic, and upto recently there where no software patents in
europe, so i don't really care. I am not sure about the details of the above
problem you mention, could you provide me some link to the problem at hand. I
also believe that in the larger scheme restriction of this kind, as is the US
restriction on distribution to cuba and everything else, is not-right and even
immoral, and *I* personally would fight back if i was ever sued for such
things, and there may be higher courts involved than just the US judicial
system, which is for sale anyway, where redhat is dependent on. I cannot talk
about the whole of debian on this though, and i feel it is for someone else to
tackle and handle. If you feel strongly about this, you are free to go take it
over with whoever handles this, post to debian-legal and debian-project about
it, and help get the issue solved.

(/me believes such restrictions of the above are a violation of the elemental
human rights to go where one wants and run what operating system on wants).

 The firmware issues are an urgent real problem?

It is a problem that concerns me and the debian kernel team, thus we are out
to fix it. If you have a problem at hand, even if it is not as important as
others, would you sit back and not do anything just because others didn't
solve other problems ? 

 Debian should define how much legal risk they are willing to impose on 
 their mirrors and distributors and should act accordingly in all areas.

That is for the ftp-masters to decide, i am not in best speaking term with
them, so you are free to go ask the question directly.

 But ignoring some areas while being more religious than RMS in other 
 areas is simply silly.

Come on, i am just asking for a damn explicit declaration that the firmware is
not something covered by the GPL, and that we should have explicit
distribution licence for it. We all agree that these are not covered by the
GPL for various reasons, so why not have the copyright holder state it
explicitly ? I don't see how do you jump to more religious than RMS from
that, given that my analysis making the firmware aggregate works are a wee bit
different from what they explicitly write in their GPL FAQ.

  That said, i was under the understanding that after the SCO disaster,
  clarification of licencing issues and copyright attributions was a welcome
  thing here, but maybe i misunderstood those whole issues.
 
 SCO disaster?
 
 It is a disaster for SCO.

Now, yes. but we did strengthen our admission of patches policy for more
tracability, didn't we, and there where companies who paid SCO for fear of
retribution, and they where project who post-poned their linux adoptions, and
what not. If nothing else, be it only for all the time we all lost following
that story over the past tree years.

Friendly,

Sven Luther

-
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: Kernel SCM saga..

2005-04-08 Thread ross
On Thu, Apr 07, 2005 at 09:42:04PM -0700, Linus Torvalds wrote:
 In the meantime (and because monotone really _is_ that slow), here's a
 quick challenge for you, and any crazy hacker out there: if you want to
 play with something _really_ nasty (but also very _very_ fast), take a
 look at kernel.org:/pub/linux/kernel/people/torvalds/.

Interesting.  I like it, with one modification (see below).

 First one to send me the changelog tree of sparse-git (and a tool to
 commit and push/pull further changes) gets a gold star, and an honorable
 mention. I've put a hell of a lot of clues in there (*).

Here's a partial solution.  It does depend on a modified version of
cat-file that behaves like cat.  I found it easier to have cat-file
just dump the object indicated on stdout.  Trivial patch for that is included.

Two scripts are included:

1) makechlog.sh takes an object and generates a ChangeLog file
consisting of all the parents of the given object.  It's probably
breakable, but correctly outputs the sparse-git changes when run on
HEAD.  Handles multiple parents and breaks cycles.

This adds a line to each object me sha1.  This lets a change
identify itself.

It takes 35 seconds to produce all the change history on my box.  It
produces a single file named ChangeLog.

2) chkchlog.sh uses the me entries to verify that #1 didn't miss any
parents.  It's mostly to prove my solution reasonably correct ::-)

The patch is below, the scripts are attached, and everything is
available here:

http://lug.udel.edu/~ross/git/

Now to see what I come up with for commit, push, and pull...

-- 
Ross Vandegrift
[EMAIL PROTECTED]

The good Christian should beware of mathematicians, and all those who
make empty prophecies. The danger already exists that the mathematicians
have made a covenant with the devil to darken the spirit and to confine
man in the bonds of Hell.
--St. Augustine, De Genesi ad Litteram, Book II, xviii, 37


--- cat-file.orig.c 2005-04-08 01:53:54.0 -0400
+++ cat-file.c  2005-04-08 01:57:51.0 -0400
@@ -11,18 +11,11 @@
char type[20];
void *buf;
unsigned long size;
-   char template[] = temp_git_file_XX;
-   int fd;
 
if (argc != 2 || get_sha1_hex(argv[1], sha1))
usage(cat-file: cat-file sha1);
buf = read_sha1_file(sha1, type, size);
if (!buf)
exit(1);
-   fd = mkstemp(template);
-   if (fd  0)
-   usage(unable to create tempfile);
-   if (write(fd, buf, size) != size)
-   strcpy(type, bad);
-   printf(%s: %s\n, template, type);
+   printf (%s, buf);
 }



makechlog.sh
Description: Bourne shell script


chkchlog.sh
Description: Bourne shell script


Re: Kernel SCM saga..

2005-04-08 Thread Daniel Phillips
On Friday 08 April 2005 03:05, Rogan Dawes wrote:
 Take a look at
 http://www.linuxshowcase.org/2001/full_papers/ezolt/ezolt_html/

 Abstract

 GNU libc's default setting for malloc can cause a significant
 performance penalty for applications that use it extensively, such as
 Compaq's high performance extended math library, CXML.  The default
 malloc tuning can cause a significant number of minor page faults, and
 result in application performance of only half of the true potential.

This does not smell like an n*2 suckage, more like n^something suckage.  
Finding the elephant under the rug should not be hard.  Profile?

Regards,

Daniel
-
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: Kernel SCM saga..

2005-04-08 Thread Andrea Arcangeli
On Thu, Apr 07, 2005 at 09:42:04PM -0700, Linus Torvalds wrote:
 play with something _really_ nasty (but also very _very_ fast), take a
 look at kernel.org:/pub/linux/kernel/people/torvalds/.

Why not to use sql as backend instead of the tree of directories? That solves
userland journaling too (really one still has to be careful to know the
read-committed semantics of sql, which is not obvious stuff, but 99% of
common cases like this one just works safe automatically since all
inserts/delete/update are always atomic).

You can keep the design of your db exactly the same and even the command line
of your script the same, except you won't have deal with the implementation of
it anymore, and the end result may run even faster with proper btrees and you
won't have scalability issues if the directory of hashes fills up, and it'll
get userland journaling, live backups, runtime analyses of your queries with
genetic algorithms (pgsql 8 seems to have it) etc...

I seem to recall there's a way to do delayed commits too, so you won't
be sychronous, but you'll still have journaling. You clearly don't care
to do synchronous writes, all you care about is that the commit is
either committed completely or not committed at all (i.e. not an half
write of the patch that leaves your db corrupt).

Example:

CREATE TABLE patches (
patch   BIGSERIAL   PRIMARY KEY,

commiter_name   VARCHAR(32) NOT NULL CHECK(commiter_name != 
''),
commiter_email  VARCHAR(32) NOT NULL CHECK(commiter_email 
!= ''),

md5 CHAR(32)NOT NULL CHECK(md5 != ''),
len INTEGER NOT NULL CHECK(len  0),
UNIQUE(md5, len),

payload BYTEA   NOT NULL,

timestamp   TIMESTAMP   NOT NULL
);
CREATE INDEX patches_md5_index ON patches (md5);
CREATE INDEX patches_timestamp_index ON patches (timestamp);

s/md5/sha1/, no difference.

This will automatically spawn fatal errors if there are hash collisions and it
enforces a bit of checking.

Then you need a few lines of python to insert/lookup. Example for psycopg2:

import pwd, os, socket

[..]

patch = {'commiter_name': pwd.getpwuid(os.getuid())[4],
 'commiter_email': pwd.getpwuid(os.getuid())[0] + '@' + 
socket.getfqdn(),
 'md5' : md5.new(data).hexdigest(), 'len' : len(data),
 payload : data, 'timestamp' : 'now'}
curs.execute(INSERT INTO patches
  VALUES (%(committer_name)s, %(commiter_email)s, 
  %(md5)s, %(len)s, %(payload)s, %(timestamp)s), patch)

('now' will be evaluated by the sql server, who knows about the time too)

The speed I don't know for sure, but especially with lots of data the sql way
should at least not be significantly slower, pgsql scales with terabytes
without apparent problems (modulo the annoyance of running vacuum once per day
in cron, to avoid internal sequence number overflows after 4 giga
committs, and once per day the analyser too so it learns about your
usage patterns and can optimize the disk format for it).

For sure the python part isn't going to be noticeable, you can still write it
in C if you prefer (it'll clearly run faster if you want to run tons of
inserts for a benchmark), so then everything will run at bare-hardware
speed and there will be no time wasted interpreting bytecode (only the
sql commands have to be interpreted).

The backup should also be tiny (runtime size is going to be somewhat larger due
the more data structure it has, how much larger I don't know). I know for sure
this kind of setup works like a charm on ppc64 (32bit userland), and x86 (32bit
and 64bit userland).

monotone using sqlite sounds a good idea infact (IMHO they could use a real
dbms too, so that you also get parallelism and you could attach another app to
the backing store at the same time or you could run a live backup and to
get all other high end performance features).

If you feel this is too bloated feel free to ignore this email of course! If
instead you'd like to give this a spin, let me know and I can help to
set it up quick (either today or from Monday).

I also like quick dedicated solutions and I was about to write a backing
store with a tree of dirs + hashes similar to yours for a similar
problem, but I give it up while planning the userland journaling part
and even worse the userland fs locking with live backups, when a DBMS
gets everything right including live backups (and it provides async
interface too via sockets). OTOH for this usage journaling and locking
aren't a big issue since you may have the patch to hash by hand to find
any potentially half-corrupted bit after reboot and you probably run it
serially.

About your compression of the data, I don't think you want to do that.
The size of the live image isn't the issue, the issue is the size of the
_backups_ and you want to compress an huge thing (i.e. the tarball of
the cleartext, 

Re: [PATCH] Use proper seq_file api for /proc/scsi/scsi

2005-04-08 Thread Jeremy Higdon
On Thu, Apr 07, 2005 at 12:24:12PM +0100, Christoph Hellwig wrote:
 On Thu, Apr 07, 2005 at 01:21:23PM +0200, Hannes Reinecke wrote:
   /proc/scsi/scsi is deprecated and even only compiled in if
   legacy /proc/scsi/ support is enabled.  Please move over to lssci which
   is using sysfs ASAP.
   
  Ah. And that's enough reason for it not to work properly?
  Deprecated as it may be, but one could at least expect it to _work_.
 
 It works for those setups that already worked with 2.4.x, aka only a few
 luns.

Even if it's deprecated, wouldn't it be good to fix it as long as
it's there, unless it hurts something else?  Or at least fix the
out of memory error, even if it doesn't display all the luns?

jeremy
-
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: non-free firmware in kernel modules, aggregation and unclear copyright notice.

2005-04-08 Thread Josselin Mouette
Le jeudi 07 avril 2005 à 23:07 +0200, Adrian Bunk a écrit :
  You are mixing apples and oranges. The fact that the GFDL sucks has
  nothing to do with the firmware issue. With the current situation of
  firmwares in the kernel, it is illegal to redistribute binary images of
  the kernel. Full stop. End of story. Bye bye. Redhat and SuSE may still
  be willing to distribute such binary images, but it isn't our problem.
 
 It's a grey area.
 
 debian-legal did pick one of the possible opinions on this matter.

When there are several possible interpretations, you have to pick up the
more conservative one, as it's not up to us to make the interpretation,
but to a court.

 Is it true, that the removal of much of the documentation in Debian is 
 scheduled soon because it's covered by the GFDL, that this is called an 
 editorial change, and that Debian doesn't actually care that this will 
 e.g. remove all documentation about available options of the standard C 
 compiler used by and shipped with Debian?

The situation changed only in the mind of the person who was the release
manager at that time. The old wording is Debian will remain 100% free
software, and he understood that as 100% of software in Debian will
remain free. The common interpretation is that this wording doesn't
allow GFDL documentation either. The fact these documents are very
useful is irrelevant: the GFDL is a real piece of crap, only a few fools
at the FSF are really arguing it is a free license.

Instead of babbling, some people have started to discuss this with
upstream, and are trying to come up with a GPLed documentation for GCC.
This is much more constructive than repeating again and again Bleh,
Debian are a bunch of bigots who don't care of the compiler being
documented.

 Is it true, that Debian will leave users with hardware affected by the 
 firmware problem without a working installer in Debian 3.1?

The case of hardware really needing a firwmare to work *and* needed at
installation time is rare. I've only heard of some tg3-based cards. Most
of them will work without the firmware, and for the few remaining ones,
it only means network installation won't work.

 The point is simply, that Debian does more and more look dogmatic at 
 it's definition of free software without caring about the effects to 
 it's users.

Being careless in the definition of free software is a real disservice
to users. It makes them rely on e.g. non-free documentation for everyday
use.

 As a contrast, read the discussion between Christoph and Arjan in a part 
 of this thread how to move firmware out of kernel drivers without 
 problems for the users. This might not happen today, but it's better for 
 the users.

Some Debian developers have been writing such patches so that we can
still run Linux on this hardware, long before the topic was raised on
the LKML.
-- 
 .''`.   Josselin Mouette/\./\
: :' :   [EMAIL PROTECTED]
`. `'[EMAIL PROTECTED]
   `-  Debian GNU/Linux -- The power of freedom

-
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: Kernel SCM saga..

2005-04-08 Thread Marcel Lanz
git on sarge

--- git-0.02/Makefile.orig  2005-04-07 23:06:19.0 +0200
+++ git-0.02/Makefile   2005-04-08 09:24:28.472672224 +0200
@@ -8,7 +8,7 @@ all: $(PROG)
 install: $(PROG)
install $(PROG) $(HOME)/bin/
 
-LIBS= -lssl
+LIBS= -lssl -lz
 
 init-db: init-db.o
 
-
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/


2.6.11.3 slab error crash

2005-04-08 Thread Jan Kasprzak
Hi all,

yesterday our HP DL-585 quad opteron server running 2.6.11.3 crashed
with the attached messages. The main load is NFS serving and running
postfix as well as some other userland processes. The server uses XFS
on top of LVM for NFS-exported volumes. More details available at request.

Thanks,

-Yenya

Apr  7 16:25:11 opteron kernel: slab error in cache_free_debugcheck(): cache 
`size-1024': double free, or memory outside object was overwritten
Apr  7 16:25:11 opteron kernel: 
Apr  7 16:25:11 opteron kernel: Call 
Trace:8015b493{cache_free_debugcheck+371} 
8015c615{kfree+213} 
Apr  7 16:25:11 opteron kernel:8021ec16{nlm4svc_callback+150} 
8021e6f0{nlm4svc_proc_unlock_msg+112} 
Apr  7 16:25:11 opteron kernel:
8021d7d0{nlm4svc_decode_unlockargs+48} 
803ff445{svc_process+853} 
Apr  7 16:25:11 opteron kernel:80218987{lockd+359} 
80218820{lockd+0} 
Apr  7 16:25:11 opteron kernel:8010ddbf{child_rip+8} 
80218820{lockd+0} 
Apr  7 16:25:11 opteron kernel:80218820{lockd+0} 
8010ddb7{child_rip+0} 
Apr  7 16:25:11 opteron kernel:
Apr  7 16:25:11 opteron kernel: 81050ffacae8: redzone 1: 0x5a2cf071, 
redzone 2: 0x5a2cf071.
Apr  7 16:25:11 opteron kernel: --- [cut here ] - [please bite 
here ] -
Apr  7 16:25:11 opteron kernel: Kernel BUG at host:250
Apr  7 16:25:11 opteron kernel: invalid operand:  [1] SMP 
Apr  7 16:25:11 opteron kernel: CPU 2 
Apr  7 16:25:11 opteron kernel: Modules linked in: ide_cd cdrom
Apr  7 16:25:12 opteron kernel: Pid: 18003, comm: rpciod/2 Not tainted 2.6.11.3
Apr  7 16:25:12 opteron kernel: RIP: 0010:[8021841f] 
8021841f{nlm_release_host+47}
Apr  7 16:25:12 opteron kernel: RSP: :810207177da8  EFLAGS: 00010286
Apr  7 16:25:12 opteron kernel: RAX:  RBX: 8103cb093248 
RCX: 810064b23470
Apr  7 16:25:12 opteron kernel: RDX: fffb RSI: 0296 
RDI: 8103cb093248
Apr  7 16:25:12 opteron kernel: RBP: 810142def688 R08:  
R09: 810142def9a8
Apr  7 16:25:12 opteron kernel: R10: 80582a80 R11: 2000 
R12: 8100bfc33678
Apr  7 16:25:12 opteron kernel: R13: 80149380 R14:  
R15: 80149380
Apr  7 16:25:12 opteron kernel: FS:  2ae054c0() 
GS:80582b80() knlGS:556b7080
Apr  7 16:25:12 opteron kernel: CS:  0010 DS: 0018 ES: 0018 CR0: 
8005003b
Apr  7 16:25:12 opteron kernel: CR2: 2b1a5970 CR3: 82e3 
CR4: 06e0
Apr  7 16:25:12 opteron kernel: Process rpciod/2 (pid: 18003, threadinfo 
810207176000, task 810207281210)
Apr  7 16:25:12 opteron kernel: Stack: 8101467b8658 8021ec79 
 803fcc47 
Apr  7 16:25:12 opteron kernel:810207177e58 8040e71a 
2000 007627d8 
Apr  7 16:25:12 opteron kernel:0003 8100bfc336b8 
Apr  7 16:25:12 opteron kernel: Call 
Trace:8021ec79{nlm4svc_callback_exit+57} 
803fcc47{__rpc_execute+855} 
Apr  7 16:25:12 opteron kernel:8040e71a{thread_return+42} 
8012f483{__wake_up+67} 
Apr  7 16:25:12 opteron kernel:803fcd20{rpc_async_schedule+0} 
8014477c{worker_thread+476} 
Apr  7 16:25:12 opteron kernel:
8012f3c0{default_wake_function+0} 
8012f3c0{default_wake_function+0} 
Apr  7 16:25:12 opteron kernel:
80148d80{keventd_create_kthread+0} 
801445a0{worker_thread+0} 
Apr  7 16:25:12 opteron kernel:
80148d80{keventd_create_kthread+0} 80148d42{kthread+146} 
Apr  7 16:25:12 opteron kernel:8010ddbf{child_rip+8} 
80148d80{keventd_create_kthread+0} 
Apr  7 16:25:12 opteron kernel:80148cb0{kthread+0} 
8010ddb7{child_rip+0} 
Apr  7 16:25:12 opteron kernel:
Apr  7 16:25:12 opteron kernel: 
Apr  7 16:25:12 opteron kernel: Code: 0f 0b 7b 1d 45 80 ff ff ff ff fa 00 66 66 
90 66 90 5b c3 66 

-- 
| Jan Yenya Kasprzak  kas at {fi.muni.cz - work | yenya.net - private} |
| GPG: ID 1024/D3498839  Fingerprint 0D99A7FB206605D7 8B35FCDE05B18A5E |
| http://www.fi.muni.cz/~kas/   Czech Linux Homepage: http://www.linux.cz/ |
 Whatever the Java applications and desktop dances may lead to, Unix will 
 still be pushing the packets around for a quite a while.  --Rob Pike 
-
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: non-free firmware in kernel modules, aggregation and unclear copyright notice.

2005-04-08 Thread Sven Luther
On Thu, Apr 07, 2005 at 11:55:44PM -0400, Raul Miller wrote:
   Also, mere aggregation is a term from the GPL.  You can read what
   it says there yourself.  But basically it's there so that people make
   a distinction between the program itself and other stuff that isn't
   the program.
 
 On Thu, Apr 07, 2005 at 04:20:50PM -0700, David Schwartz wrote:
  It's also there because the GPL can only apply to either works
  placed under it by their authors and works that are legally classified
  as derivative. If you merely aggregate two works, there is no
  derivation. The GPL is making clear that it's not trying to exceed the
  scope of its authority (which is copyright law).
 
 The issue of whether or not the combined work is a derivative under
 copyright law is a copyright law issue.  The GPL does concern itself
 with that issue, but not in the mere aggregation clause.
 
 The mere aggregation clause holds regardless of whether or not the
 combined work is a derivative under copyright law.
 
 [P.S. I've set the Reply-To: header on this message because I think this
 thread has drifted away from kernel issues.]

Thanks.

BTW, have any of you read the analysis i made, where i claim, rooted in the
GPL FAQ and with examples, why i believe that the firmware can be considerated
a non derivative of the linux kernel. The main points is that the firmware is
not aimed to run in the same address space, even not the same cpu, as the rest
of the linux kernel, and that there is a clearly defined communication channel
between the GPLed driver and the target processor running the firmware.

I further argumented that taking any different stance would bring us worlds of
hurt as we would consider the bios as being a derivative work of the kernel
they are running, or the bootloader, or the firmware present in proms on
devices loaded into the system and so on.

I think only the fact that if you consider firmware as being a derivative
work, you should consider it a derivative work also when it is flashed on the
prom of a pci card or what not, is decisive enough to make those firmware
blobs not derivative works of the kernel they are under.

Friendly,

Sven Luther

-
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: Kernel SCM saga..

2005-04-08 Thread H. Peter Anvin
Daniel Phillips wrote:
On Friday 08 April 2005 03:05, Rogan Dawes wrote:
Take a look at
http://www.linuxshowcase.org/2001/full_papers/ezolt/ezolt_html/
Abstract
GNU libc's default setting for malloc can cause a significant
performance penalty for applications that use it extensively, such as
Compaq's high performance extended math library, CXML.  The default
malloc tuning can cause a significant number of minor page faults, and
result in application performance of only half of the true potential.

This does not smell like an n*2 suckage, more like n^something suckage.  
Finding the elephant under the rug should not be hard.  Profile?

Lack of hysteresis can do that, with large swats of memory constantly 
being claimed and returned to the system.  One way to implement 
hysteresis would be based on a decaying peak-based threshold; 
unfortunately for optimal performance that requires the C runtime to 
have a notion of time, and in extreme cases even be able to do 
asynchronous deallocation, but in reality one can probably assume that 
the rate of malloc/free is roughly constant over time.

-hpa
-
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/8] fix lib/sort regression test

2005-04-08 Thread domen


The regression test in lib/sort.c is currently worthless because the array that 
is generated for sorting will be all zeros. This patch fixes things so 
that the array that is generated will contain unsorted integers (that are not 
all identical) as was probably intended.

Signed-off-by Daniel Dickman [EMAIL PROTECTED]


Signed-off-by: Domen Puncer [EMAIL PROTECTED]
---


 kj-domen/lib/sort.c |2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

diff -puN lib/sort.c~bug-lib_sort lib/sort.c
--- kj/lib/sort.c~bug-lib_sort  2005-04-05 12:57:40.0 +0200
+++ kj-domen/lib/sort.c 2005-04-05 12:57:40.0 +0200
@@ -90,7 +90,7 @@ int cmpint(const void *a, const void *b)
 
 static int sort_test(void)
 {
-   int *a, i, r = 0;
+   int *a, i, r = 1;
 
a = kmalloc(1000 * sizeof(int), GFP_KERNEL);
BUG_ON(!a);
_
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[patch 2/8] correctly name the Shell sort

2005-04-08 Thread domen


As per http://www.nist.gov/dads/HTML/shellsort.html, this should be referred to
as a Shell sort. Shell-Metzner is a misnomer.

Signed-off-by: Daniel Dickman [EMAIL PROTECTED]
Signed-off-by: Domen Puncer [EMAIL PROTECTED]
---


 kj-domen/kernel/sys.c |2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

diff -puN kernel/sys.c~comment-kernel_sys kernel/sys.c
--- kj/kernel/sys.c~comment-kernel_sys  2005-04-05 12:57:41.0 +0200
+++ kj-domen/kernel/sys.c   2005-04-05 12:57:41.0 +0200
@@ -1194,7 +1194,7 @@ static int groups_from_user(struct group
return 0;
 }
 
-/* a simple shell-metzner sort */
+/* a simple Shell sort */
 static void groups_sort(struct group_info *group_info)
 {
int base, max, stride;
_
-
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] Updated: Dynamic Tick version 050408-1

2005-04-08 Thread Tony Lindgren
* Tony Lindgren [EMAIL PROTECTED] [050407 23:28]:
 
 I think I have an idea on what's going on; Your system does not wake to
 APIC interrupt, and the system timer updates time only on other interrupts.
 I'm experiencing the same on a loaner ThinkPad T30.
 
 I'll try to do another patch today. Meanwhile it now should work
 without lapic in cmdline.

Following is an updated patch. Anybody having trouble, please try
disabling CONFIG_DYN_TICK_USE_APIC Kconfig option.

I'm hoping this might work on Pavel's machine too?

Tony
diff -Nru a/arch/i386/Kconfig b/arch/i386/Kconfig
--- a/arch/i386/Kconfig 2005-04-08 00:43:41 -07:00
+++ b/arch/i386/Kconfig 2005-04-08 00:43:41 -07:00
@@ -460,6 +460,26 @@
bool Provide RTC interrupt
depends on HPET_TIMER  RTC=y
 
+config NO_IDLE_HZ
+   bool Dynamic Tick Timer - Skip timer ticks during idle
+   help
+ This option enables support for skipping timer ticks when the
+ processor is idle. During system load, timer is continuous.
+ This option saves power, as it allows the system to stay in
+ idle mode longer. Currently supported timers are ACPI PM
+ timer, local APIC timer, and TSC timer. HPET timer is currently
+ not supported.
+
+config DYN_TICK_USE_APIC
+   bool Use APIC timer instead of PIT timer
+   help
+ This option enables using APIC timer interrupt if your hardware
+ supports it. APIC timer allows longer sleep periods compared
+ to PIT timer. Note that on some hardware disabling PIT timer
+ also disables APIC timer interrupts, and system won't run
+ properly. Symptoms include slow system boot, and time running
+ slow. If unsure, don't enable this option.
+
 config SMP
bool Symmetric multi-processing support
---help---
diff -Nru a/arch/i386/kernel/Makefile b/arch/i386/kernel/Makefile
--- a/arch/i386/kernel/Makefile 2005-04-08 00:43:41 -07:00
+++ b/arch/i386/kernel/Makefile 2005-04-08 00:43:41 -07:00
@@ -30,6 +30,7 @@
 obj-y  += sysenter.o vsyscall.o
 obj-$(CONFIG_ACPI_SRAT)+= srat.o
 obj-$(CONFIG_HPET_TIMER)   += time_hpet.o
+obj-$(CONFIG_NO_IDLE_HZ)   += dyn-tick.o
 obj-$(CONFIG_EFI)  += efi.o efi_stub.o
 obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
 
diff -Nru a/arch/i386/kernel/apic.c b/arch/i386/kernel/apic.c
--- a/arch/i386/kernel/apic.c   2005-04-08 00:43:41 -07:00
+++ b/arch/i386/kernel/apic.c   2005-04-08 00:43:41 -07:00
@@ -26,6 +26,7 @@
 #include linux/mc146818rtc.h
 #include linux/kernel_stat.h
 #include linux/sysdev.h
+#include linux/dyn-tick-timer.h
 
 #include asm/atomic.h
 #include asm/smp.h
@@ -909,6 +910,8 @@
 
 #define APIC_DIVISOR 16
 
+static u32 apic_timer_val;
+
 static void __setup_APIC_LVTT(unsigned int clocks)
 {
unsigned int lvtt_value, tmp_value, ver;
@@ -927,7 +930,15 @@
 ~(APIC_TDR_DIV_1 | APIC_TDR_DIV_TMBASE))
| APIC_TDR_DIV_16);
 
-   apic_write_around(APIC_TMICT, clocks/APIC_DIVISOR);
+   apic_timer_val = clocks/APIC_DIVISOR;
+
+#ifdef CONFIG_NO_IDLE_HZ
+   /* Local APIC timer is 24-bit */
+   if (apic_timer_val)
+   dyn_tick-max_skip = 0xff / apic_timer_val;
+#endif
+
+   apic_write_around(APIC_TMICT, apic_timer_val);
 }
 
 static void __init setup_APIC_timer(unsigned int clocks)
@@ -1040,6 +1051,13 @@
 */
setup_APIC_timer(calibration_result);
 
+#ifdef CONFIG_NO_IDLE_HZ
+   if (calibration_result)
+   dyn_tick-state |= DYN_TICK_USE_APIC;
+   else
+   printk(KERN_INFO dyn-tick: Cannot use local APIC\n);
+#endif
+
local_irq_enable();
 }
 
@@ -1068,6 +1086,18 @@
}
 }
 
+#if defined(CONFIG_NO_IDLE_HZ)
+void reprogram_apic_timer(unsigned int count)
+{
+   unsigned long flags;
+
+   count *= apic_timer_val;
+   local_irq_save(flags);
+   apic_write_around(APIC_TMICT, count);
+   local_irq_restore(flags);
+}
+#endif
+
 /*
  * the frequency of the profiling timer can be changed
  * by writing a multiplier value into /proc/profile.
@@ -1160,6 +1190,7 @@
 
 fastcall void smp_apic_timer_interrupt(struct pt_regs *regs)
 {
+   unsigned long seq;
int cpu = smp_processor_id();
 
/*
@@ -1178,6 +1209,23 @@
 * interrupt lock, which is the WrongThing (tm) to do.
 */
irq_enter();
+
+#ifdef CONFIG_NO_IDLE_HZ
+   /*
+* Check if we need to wake up PIT interrupt handler.
+* Otherwise just wake up local APIC timer.
+*/
+   do {
+   seq = read_seqbegin(xtime_lock);
+   if (dyn_tick-state  (DYN_TICK_ENABLED | DYN_TICK_SKIPPING)) {
+   if (dyn_tick-skip_cpu == cpu  dyn_tick-skip  
DYN_TICK_MIN_SKIP)
+   dyn_tick-interrupt(99, NULL, regs);
+   else
+   reprogram_apic_timer(1);
+

[patch 4/8] serial/icom: Remove custom msescs_to_jiffies() macro

2005-04-08 Thread domen


Remove the MSECS_TO_JIFFIES() macro because msescs_to_jiffies() from
jiffies.h should be used. The macro isn't referenced anywhere anyway.

Signed-off-by: Tobias Klauser [EMAIL PROTECTED]
Signed-off-by: Domen Puncer [EMAIL PROTECTED]
---


 kj-domen/drivers/serial/icom.h |2 --
 1 files changed, 2 deletions(-)

diff -puN drivers/serial/icom.h~msecs_to_jiffies-drivers_serial_icom.h 
drivers/serial/icom.h
--- kj/drivers/serial/icom.h~msecs_to_jiffies-drivers_serial_icom.h 
2005-04-05 12:57:56.0 +0200
+++ kj-domen/drivers/serial/icom.h  2005-04-05 12:57:56.0 +0200
@@ -286,5 +286,3 @@ struct lookup_int_table {
u32 __iomem *global_int_mask;
unsigned long   processor_id;
 };
-
-#define MSECS_TO_JIFFIES(ms) (((ms)*HZ+999)/1000)
_
-
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 3/8] string.linux-2.6.10/lib/c: documentation strncpy()

2005-04-08 Thread domen


this clarifys the documentation on the behavier of strncpy().


Signed-off-by: Domen Puncer [EMAIL PROTECTED]
---


 kj-domen/lib/string.c |4 
 1 files changed, 4 insertions(+)

diff -L lib/c.bak -puN /dev/null /dev/null
diff -puN lib/string.c~comment-lib_string lib/string.c
--- kj/lib/string.c~comment-lib_string  2005-04-05 12:57:42.0 +0200
+++ kj-domen/lib/string.c   2005-04-05 12:57:42.0 +0200
@@ -85,6 +85,10 @@ EXPORT_SYMBOL(strcpy);
  *
  * The result is not %NUL-terminated if the source exceeds
  * @count bytes.
+ *
+ * In the case where the length of @src is less than  that  of
+ * count, the remainder of @dest will be padded with %NUL.
+ *
  */
 char * strncpy(char * dest,const char *src,size_t count)
 {
_
-
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: /dev/random problem on 2.6.12-rc1

2005-04-08 Thread Matt Mackall
On Fri, Apr 08, 2005 at 08:56:51AM +0200, Simon Derr wrote:
 On Thu, 7 Apr 2005, Matt Mackall wrote:
 
  On Thu, Apr 07, 2005 at 05:36:59PM +0200, Simon Derr wrote:
   
   
   On Thu, 7 Apr 2005, Yura Pakhuchiy wrote:
   
On Thu, 2005-04-07 at 14:40 +0200, Patrice Martinez wrote:
 When  using a machine with a  2612-rc 1kernel, I encounter problems
 reading /dev/random:
  it simply nevers returns anything, and the process is blocked in the
 read...
 The easiest way to see it is to type:
  od  /dev/random

 Any idea?
   
Because, /dev/random use user input, mouse movements and other things to
generate next random number. Use /dev/urandom if you want version that
will never block your machine.
   
Read man 4 random for details.
   
   Something changed since previous versions of the kernel, I guess.
   Running `find /usr | wc' on a ssh session generates both network and disk
   activity, and you should not expect any other kind of input on a networked
   server.
  
 Oops, the command is actually find /usr | xargs wc, witch causes lots of 
 disk activity.
 
  FYI, network activity only generates entropy on a very small subset of
  NICs, and probably not the one you're using. This is good, as network
  activity is assumed passively observable/timable.
 Offtopic, but why isn't the policy the same for all NICs ?

The policy is the same, it just hasn't been implemented. SA_RANDOM
is scheduled for abolishment.
  
   Anyway, still zero bytes coming from /dev/random, for the few minutes I
   waited.
  
  Are you and Patrice both experiencing this on the same machine? 
 Both IA-64, but that's the only common point.
 
  What
  was the last kernel that was known to work for you? Do you see the
  contents of /proc/sys/kernel/random/entropy_avail change over time?
  Are there any other entropy consumers on your machine?
 None that I am aware of.
 
 I run:
 # dd if=/dev/random bs=1 count=1 | od

strace the dd process, please. This works fine here.
  
 Another shell:
 # lsof /dev/random
 COMMAND  PID USER   FD   TYPE DEVICE SIZE  NODE NAME
 dd  1496 root0r   CHR1,8  99952 /dev/random
 
 Now, find /usr | xargs wc running in background.
 
 About /proc/sys/kernel/random/entropy_avail:
 (5 second refresh interval)

That may not be sufficient resolution. The upper layers will pull from
it whenever it rises above 64 and bash it back down to within 7 bits
of 0. What does it do when no one is reading from it?

-- 
Mathematics is the supreme nostalgia of our time.
-
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] Use proper seq_file api for /proc/scsi/scsi

2005-04-08 Thread Arjan van de Ven
On Fri, 2005-04-08 at 08:56 +0100, Christoph Hellwig wrote:
 On Fri, Apr 08, 2005 at 12:23:46AM -0700, Jeremy Higdon wrote:
   It works for those setups that already worked with 2.4.x, aka only a few
   luns.
  
  Even if it's deprecated, wouldn't it be good to fix it as long as
  it's there, unless it hurts something else?  Or at least fix the
  out of memory error, even if it doesn't display all the luns?
 
 What other error would you return?  I don't particularly care what exact
 error code to return, but putting in Hannes patch would be a bad idea because
 it
 
   a) poke deep into driver model internals, and we absolutely want to avoid
  that
   b) sets a bad precedence that we'll continue adding features to deprecated
  interface and thus encurage people to contiue using it.  Note that
  /proc/scsi/* has been deprecated since mid-2.5.x.


so how about starting to remove it?
eg give it its final resting date, start defaulting the config option to
n and such...


-
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] Use proper seq_file api for /proc/scsi/scsi

2005-04-08 Thread Christoph Hellwig
On Fri, Apr 08, 2005 at 12:23:46AM -0700, Jeremy Higdon wrote:
  It works for those setups that already worked with 2.4.x, aka only a few
  luns.
 
 Even if it's deprecated, wouldn't it be good to fix it as long as
 it's there, unless it hurts something else?  Or at least fix the
 out of memory error, even if it doesn't display all the luns?

What other error would you return?  I don't particularly care what exact
error code to return, but putting in Hannes patch would be a bad idea because
it

  a) poke deep into driver model internals, and we absolutely want to avoid
 that
  b) sets a bad precedence that we'll continue adding features to deprecated
 interface and thus encurage people to contiue using it.  Note that
 /proc/scsi/* has been deprecated since mid-2.5.x.

-
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] Use proper seq_file api for /proc/scsi/scsi

2005-04-08 Thread Jeremy Higdon
On Fri, Apr 08, 2005 at 08:56:43AM +0100, Christoph Hellwig wrote:
 On Fri, Apr 08, 2005 at 12:23:46AM -0700, Jeremy Higdon wrote:
  Even if it's deprecated, wouldn't it be good to fix it as long as
  it's there, unless it hurts something else?  Or at least fix the
  out of memory error, even if it doesn't display all the luns?
 
 What other error would you return?  I don't particularly care what exact

Hmm.  Well maybe you're right -- an error is probably better than no
error if not printing all devices.

 error code to return, but putting in Hannes patch would be a bad idea because
 it
 
   a) poke deep into driver model internals, and we absolutely want to avoid
  that
   b) sets a bad precedence that we'll continue adding features to deprecated
  interface and thus encurage people to contiue using it.  Note that
  /proc/scsi/* has been deprecated since mid-2.5.x.

Just as a sanity check, you meant lsscsi and not lssci in your original
reply, right?

jeremy
-
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: non-free firmware in kernel modules, aggregation and unclear copyright notice.

2005-04-08 Thread Sven Luther
On Fri, Apr 08, 2005 at 03:10:43AM +0100, Henning Makholm wrote:
 Scripsit Humberto Massa [EMAIL PROTECTED]
 
  After a *lot* of discussion, it was deliberated on d-l that
  this is not that tricky at all, and that the mere
  aggregation clause applies to the combination, for various
  reasons, with a great degree of safety.
 
 When was this alleged conclusion reached? I remember nothing like
 that.

  http://lists.debian.org/debian-legal/2005/03/msg00273.html

and :

  http://lists.debian.org/debian-legal/2005/03/msg00283.html

and the following thread. These where linked from the original mail in this
thread.

  No-one is saying that the linker merely aggregates object
  code for the driver; what *is* being said is: in the case of
  firmware, especially if the firmware is neither a derivative
  work on the kernel (see above) nor the firmware includes part
  of the kernel (duh), it is *fairly* *safe* to consider the
  intermixing of firmware bytes with kernel binary image bytes
  in an ELF object file as mere aggregation.
 
 No, it is completely wrong to say that the object file is merely an
 aggregation. The two components are being coupled much more tightly
 than in the situation that the GPL discribes as mere aggregation.

So read the analysis and comment on it if you disagree, but let's take it to
debian-legal alone, ok ? 

Friendly,

Sven Luther

-
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: non-free firmware in kernel modules, aggregation and unclear copyright notice.

2005-04-08 Thread Sven Luther
On Thu, Apr 07, 2005 at 09:15:07AM -0300, Humberto Massa wrote:
 This is where you are wrong IMMHO. All that is needed for you
 to distribute the hexdump blob under the GPL is a declaration
 from the copyright holder saying this, to me, is the
 preferred form for modification of the firmware and hence the
 source code under the GPL.

I strongly disagree. This could be an open door to to anyone claiming that
whatever binary is the prefered form of modification.

Friendly,

Sven Luther

-
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: non-free firmware in kernel modules, aggregation and unclear copyright notice.

2005-04-08 Thread Sven Luther
On Fri, Apr 08, 2005 at 04:56:50AM +0100, Henning Makholm wrote:
 Scripsit David Schwartz [EMAIL PROTECTED]
 [quoting me]
 
  No, it is completely wrong to say that the object file is merely an
  aggregation. The two components are being coupled much more tightly
  than in the situation that the GPL discribes as mere aggregation.
 
  Would you maintain this position even if the firmware is identical
  across operating systems and the Linux driver is identical across different
  firmware builds for different hardware implementations?
 
 Yes I would. Linking forms a tighter coupling than just placing the
 two parts side by side on a filesystem designed for general storage of
 byte streams. There is more to say about the situation than the naked

So, why didn't you say it when i posted my analysis to debian-legal a month
ago and asked for comments ? 

 fact that that they are aggreated on the same medium; ergo the
 sutiation does not constitute *only* aggregation, and the mere
 aggregation language of the GPL does not apply.
 
 In particular, the end of GPL #2 does not provide a blanket exception
 for all forms of aggregation; it specifically speaks about aggregation
 on a volume of a storage or distribution medium.

Read my argumentation, comment on it, and be prepared to consider the same
copy of the firmware as a derived work if shipped on a prom on the device
itself.

Friendly,

Sven Luther

-
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: non-free firmware in kernel modules, aggregation and unclear copyright notice.

2005-04-08 Thread Sven Luther
On Tue, Apr 05, 2005 at 11:50:54AM -0400, Richard B. Johnson wrote:
 On Tue, 5 Apr 2005, Humberto Massa wrote:
 
 Josselin Mouette wrote:
 
 You are mixing apples and oranges. The fact that the GFDL sucks has
 nothing to do with the firmware issue. With the current situation of
 firmwares in the kernel, it is illegal to redistribute binary images of
 the kernel. Full stop. End of story. Bye bye. Redhat and SuSE may still
 be willing to distribute such binary images, but it isn't our problem.
 
 
 Wrong! It is perfectly legal in the United States, and I'm pretty
 sure in your country, to distribute or redistribute copyrighted
 works. Otherwise there wouldn't be any bookstores or newspaper
 stands.

Mmm, so you are claiming it is perfectly right to make copies of the windows
installation CD, or for that matter to duplicate music CDs ? 

I would be rather interested in knowing how you came to that conclusion :)

Friendly,

Sven Luther

-
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: non-free firmware in kernel modules, aggregation and unclear copyright notice.

2005-04-08 Thread Sven Luther
On Thu, Apr 07, 2005 at 04:15:45PM +0200, Josselin Mouette wrote:
 Le jeudi 07 avril 2005 à 09:03 -0400, Richard B. Johnson a écrit :
  Well it doesn't make any difference. If GPL has degenerated to
  where one can't upload microcode to a device as part of its
  initialization, without having the source that generated that
  microcode, we are in a lot of hurt. Intel isn't going to give their
  designs away.
 
 The GPL doesn't forbid that. The GPL forbids to put this microcode
 directly in the same binary as the GPL code. Of course, nothing forbids
 some GPL'ed code to take a binary elsewhere and to upload it into the
 hardware.

No, i am arguing, that we can consider here the binary as a media
distribution, in the same way as we would clearly separate the compressor from
the compressed data in a auto-uncompressing executable, or the firmware from
the firmware flasher in a all-in-one firmware upgrade binary.

 At least that's my opinion; AIUI, Sven Luther believes it is possible if
 the firmware has a decent (but not necessarily free) license.

Indeed, the sole problem is that the current copyright and licencing
attributions de-facto sets those firmware blobs under the GPL, which of course
makes them undistributable since the GPL clearly claims that we need source
code for it, and if any condition of the GPL fails, the program becomes
undistributable as a whole.

Friendly,

Sven Luther

-
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 6/8] printk : drivers/char/ftape/compressor/zftape-compress.c

2005-04-08 Thread domen


printk() calls should include appropriate KERN_* constant.

Signed-off-by: Christophe Lucas [EMAIL PROTECTED]
Signed-off-by: Domen Puncer [EMAIL PROTECTED]
---


 kj-domen/drivers/char/ftape/compressor/zftape-compress.c |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff -puN 
drivers/char/ftape/compressor/zftape-compress.c~printk-drivers_char_ftape_compressor_zftape-compress
 drivers/char/ftape/compressor/zftape-compress.c
--- 
kj/drivers/char/ftape/compressor/zftape-compress.c~printk-drivers_char_ftape_compressor_zftape-compress
 2005-04-05 12:58:03.0 +0200
+++ kj-domen/drivers/char/ftape/compressor/zftape-compress.c2005-04-05 
12:58:03.0 +0200
@@ -1176,8 +1176,8 @@ KERN_INFO Compressor for zftape (lzrw3 
 }
 #else /* !MODULE */
/* print a short no-nonsense boot message */
-   printk(zftape compressor v1.00a 970514\n);
-   printk(For use with  FTAPE_VERSION \n);
+   printk(KERN_INFO zftape compressor v1.00a 970514\n);
+   printk(KERN_INFO For use with  FTAPE_VERSION \n);
 #endif /* MODULE */
TRACE(ft_t_info, zft_compressor_init @ 0x%p, zft_compressor_init);
TRACE(ft_t_info, installing compressor for zftape ...);
_
-
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] Priority Lists for the RT mutex

2005-04-08 Thread Sven-Thorsten Dietrich
On Fri, 2005-04-08 at 08:28 +0200, Ingo Molnar wrote:
 * Daniel Walker [EMAIL PROTECTED] wrote:
 
  This patch adds the priority list data structure from Inaky 
  Perez-Gonzalez to the Preempt Real-Time mutex.
 
 this one looks really clean.
 
 it makes me wonder, what is the current status of fusyn's? Such a light 
 datastructure would be much more mergeable upstream than the former 
 100-queues approach.

Ingo,

Joe Korty has been doing a lot of work on Fusyn recently.

Fusyn is now a generic implementation, similar to the RT mutex. SMP
scalability is somewhat better for decoupled locks on PI (last I
checked). It has the extra bulk required to support user space.

The major issue that concerns the Fusym and the real-time patch is that
merging the kernel portion of Fusyn creates a collision of redundant PI
implementations with respect to the RT mutex.

The issues are outlined here:

http://developer.osdl.org/dev/mutexes/

There are a few mistakes on the page, (RT mutex does not do priority
ceiling), but for the most part the info is current.

If the RT mutex could be exposed in non PREEMPT_RT configurations,
the fulock portion could be superseded by the RT mutex, and the
remaining pieces merged in. Or vice versa.

We discussed the scenarios recently, any guidance you can offer to help
us out would be greatly appreciated.

http://lists.osdl.org/pipermail/robustmutexes/2005-April/000532.html


Sven


-
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 7/8] lib/sha1.c: fix sparse warning

2005-04-08 Thread domen


Fix

lib/sha1.c:44:10: warning: cast to restricted type

Signed-off-by: Alexey Dobriyan [EMAIL PROTECTED]
Signed-off-by: Domen Puncer [EMAIL PROTECTED]
---


 kj-domen/lib/sha1.c |2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

diff -puN lib/sha1.c~sparse-lib_sha1 lib/sha1.c
--- kj/lib/sha1.c~sparse-lib_sha1   2005-04-05 12:58:04.0 +0200
+++ kj-domen/lib/sha1.c 2005-04-05 12:58:04.0 +0200
@@ -41,7 +41,7 @@ void sha_transform(__u32 *digest, const 
__u32 a, b, c, d, e, t, i;
 
for (i = 0; i  16; i++)
-   W[i] = be32_to_cpu(((const __u32 *)in)[i]);
+   W[i] = be32_to_cpu(((const __be32 *)in)[i]);
 
for (i = 0; i  64; i++)
W[i+16] = rol32(W[i+13] ^ W[i+8] ^ W[i+2] ^ W[i], 1);
diff -L lib/sha1.c.orig -puN /dev/null /dev/null
_
-
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 5/8] printk : drivers/char/applicom.c

2005-04-08 Thread domen


printk() calls should include appropriate KERN_* constant.

Signed-off-by: Christophe Lucas [EMAIL PROTECTED]
Signed-off-by: Domen Puncer [EMAIL PROTECTED]
---


 kj-domen/drivers/char/applicom.c |2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

diff -puN drivers/char/applicom.c~printk-drivers_char_applicom 
drivers/char/applicom.c
--- kj/drivers/char/applicom.c~printk-drivers_char_applicom 2005-04-05 
12:58:02.0 +0200
+++ kj-domen/drivers/char/applicom.c2005-04-05 12:58:02.0 +0200
@@ -599,7 +599,7 @@ static ssize_t ac_read (struct file *fil
 
 #ifdef DEBUG
if (loopcount++  2) {
-   printk(Looping in ac_read. loopcount %d\n, loopcount);
+   printk(KERN_DEBUG Looping in ac_read. loopcount %d\n, 
loopcount);
}
 #endif
} 
_
-
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/


Signing modules in Kernel 2.4

2005-04-08 Thread Christoph Pleger
Hello,

I found a patch for Kernels 2.6 that ensures kernel integrity by
digitally signing kernel modules. Is something similar available for
2.4-Kernels?

Kind regards
  Christoph
-
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] block/cpqarray: Use the DMA_32BIT_MASK constant

2005-04-08 Thread domen


Use the DMA_32BIT_MASK constant from dma-mapping.h when calling
pci_set_dma_mask() or pci_set_consistent_dma_mask() instead of custom
macros.
This patch includes dma-mapping.h explicitly because it caused errors
on some architectures otherwise.
See http://marc.theaimsgroup.com/?t=10800199301r=1w=2 for details

Signed-off-by: Tobias Klauser [EMAIL PROTECTED]
Signed-off-by: Domen Puncer [EMAIL PROTECTED]
---


 kj-domen/drivers/block/cpqarray.c |5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

diff -puN drivers/block/cpqarray.c~dma_mask-drivers_block_cpqarray 
drivers/block/cpqarray.c
--- kj/drivers/block/cpqarray.c~dma_mask-drivers_block_cpqarray 2005-04-05 
12:57:44.0 +0200
+++ kj-domen/drivers/block/cpqarray.c   2005-04-05 12:57:44.0 +0200
@@ -39,6 +39,7 @@
 #include linux/spinlock.h
 #include linux/blkdev.h
 #include linux/genhd.h
+#include linux/dma-mapping.h
 #include asm/uaccess.h
 #include asm/io.h
 
@@ -65,8 +66,6 @@ MODULE_LICENSE(GPL);
 #define MAX_CTLR   8
 #define CTLR_SHIFT 8
 
-#define CPQARRAY_DMA_MASK  0x  /* 32 bit DMA */
-
 static int nr_ctlr;
 static ctlr_info_t *hba[MAX_CTLR];
 
@@ -626,7 +625,7 @@ static int cpqarray_pci_init(ctlr_info_t
for(i=0; i6; i++)
addr[i] = pci_resource_start(pdev, i);
 
-   if (pci_set_dma_mask(pdev, CPQARRAY_DMA_MASK) != 0)
+   if (pci_set_dma_mask(pdev, DMA_32BIT_MASK) != 0)
{
printk(KERN_ERR cpqarray: Unable to set DMA mask\n);
return -1;
_
-
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] printk : drivers/block/DAC960.c

2005-04-08 Thread domen


printk() calls should include appropriate KERN_* constant.

Signed-off-by: Christophe Lucas [EMAIL PROTECTED]
Signed-off-by: Domen Puncer [EMAIL PROTECTED]
---


 kj-domen/drivers/block/DAC960.c |6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff -puN drivers/block/DAC960.c~printk-drivers_block_DAC960 
drivers/block/DAC960.c
--- kj/drivers/block/DAC960.c~printk-drivers_block_DAC960   2005-04-05 
12:57:58.0 +0200
+++ kj-domen/drivers/block/DAC960.c 2005-04-05 12:57:58.0 +0200
@@ -2496,7 +2496,7 @@ static boolean DAC960_RegisterBlockDevic
/* for now, let all request queues share controller's lock */
RequestQueue = 
blk_init_queue(DAC960_RequestFunction,Controller-queue_lock);
if (!RequestQueue) {
-   printk(DAC960: failure to allocate request queue\n);
+   printk(KERN_WARNING DAC960: failure to allocate request 
queue\n);
continue;
}
Controller-RequestQueue[n] = RequestQueue;
@@ -3534,7 +3534,7 @@ static void DAC960_V1_ProcessCompletedCo
 
 #ifdef FORCE_RETRY_FAILURE_DEBUG
   if (!(++retry_count % 1)) {
- printk(V1 error retry failure test\n);
+ printk(KERN_DEBUG V1 error retry failure test\n);
  normal_completion = false;
   DAC960_V1_ReadWriteError(Command);
   }
@@ -4622,7 +4622,7 @@ static void DAC960_V2_ProcessCompletedCo
 
 #ifdef FORCE_RETRY_FAILURE_DEBUG
   if (!(++retry_count % 1)) {
- printk(V2 error retry failure test\n);
+ printk(KERN_DEBUG V2 error retry failure test\n);
  normal_completion = false;
  DAC960_V2_ReadWriteError(Command);
   }
_
-
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: Kernel SCM saga..

2005-04-08 Thread Matt Johnston
On Thu, Apr 07, 2005 at 09:42:04PM -0700, Linus Torvalds wrote:
 
 On Thu, 7 Apr 2005, Chris Wedgwood wrote:
  
  I'm playing with monotone right now.  Superficially it looks like it
  has tons of gee-whiz neato stuff...  however, it's *agonizingly* slow.
  I mean glacial.  A heavily sedated sloth with no legs is probably
  faster.
 
 Yes. The silly thing is, at least in my local tests it doesn't actually
 seem to be _doing_ anything while it's slow (there are no system calls
 except for a few memory allocations and de-allocations). It seems to have
 some exponential function on the number of pathnames involved etc.
 
 I'm hoping they can fix it, though. The basic notions do not sound wrong.

That is indeed correct wrt pathnames. The current head of
monotone is a lot better in this regard (the order of 2-3
minutes for monotone import on a 2.6 linux untar). The
basic problem is that in the last release (0.17), a huge
amount of sanity checking code was added to ensure that
inconsistent or generally bad revisions can never be
written/received/transmitted.

The focus is now on speeding that up - there's a _lot_ of
low hanging fruit for us to look at.

Matt

-
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] reiserfs: make resize option auto-get new device size

2005-04-08 Thread Alex Zarochentsev
Hi,

On Fri, Apr 08, 2005 at 06:55:50AM +0200, [EMAIL PROTECTED] wrote:
 
 Cc: [EMAIL PROTECTED], reiserfs-list@namesys.com, [EMAIL PROTECTED]
 
 It's trivial for the resize option to auto-get the underlying device size, 
 while
 it's harder for the user. I've copied the code from jfs.
 
 Since of the different reiserfs option parser (which does not use the superior
 match_token used by almost every other filesystem), I've had to use the
 resize=auto and not resize option to specify this behaviour. Changing the
 option parser to the kernel one wouldn't be bad but I've no time to do this
 cleanup in this moment.

do people really need it?

user-level utility reisize_reiserfs, being called w/o size argument,
calculates the device size and uses resize mount option with correct value. 

 Btw, the mount(8) man page should be updated to include this option. Cc the
 relevant people, please (I hope I cc'ed the right people).
 
 Signed-off-by: Paolo 'Blaisorblade' Giarrusso [EMAIL PROTECTED]
 ---
 
  linux-2.6.11-paolo/fs/reiserfs/super.c |   21 ++---
  1 files changed, 14 insertions(+), 7 deletions(-)
 
 diff -puN fs/reiserfs/super.c~reiserfs-resize-option-like-jfs-auto-get 
 fs/reiserfs/super.c
 --- linux-2.6.11/fs/reiserfs/super.c~reiserfs-resize-option-like-jfs-auto-get 
 2005-04-07 20:37:58.0 +0200
 +++ linux-2.6.11-paolo/fs/reiserfs/super.c2005-04-08 01:01:18.0 
 +0200
 @@ -889,12 +889,18 @@ static int reiserfs_parse_options (struc
   char * p;
   
   p = NULL;
 - /* resize=NNN */
 - *blocks = simple_strtoul (arg, p, 0);
 - if (*p != '\0') {
 - /* NNN does not look like a number */
 - reiserfs_warning (s, reiserfs_parse_options: bad value %s, 
 arg);
 - return 0;
 + /* resize=NNN or resize=auto */
 +
 + if (!strcmp(arg, auto)) {
 + /* From JFS code, to auto-get the size.*/
 + *blocks = s-s_bdev-bd_inode-i_size  
 s-s_blocksize_bits;
 + } else {
 + *blocks = simple_strtoul (arg, p, 0);
 + if (*p != '\0') {
 + /* NNN does not look like a number */
 + reiserfs_warning (s, reiserfs_parse_options: bad value 
 %s, arg);
 + return 0;
 + }
   }
   }
  
 @@ -903,7 +909,8 @@ static int reiserfs_parse_options (struc
   unsigned long val = simple_strtoul (arg, p, 0);
   /* commit=NNN (time in seconds) */
   if ( *p != '\0' || val = (unsigned int)-1) {
 - reiserfs_warning (s, reiserfs_parse_options: bad value 
 %s, arg);  return 0;
 + reiserfs_warning (s, reiserfs_parse_options: bad value 
 %s, arg);
 + return 0;
   }
   *commit_max_age = (unsigned int)val;
   }
 _

-- 
Alex.
-
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] reiserfs: make resize option auto-get new device size

2005-04-08 Thread Blaisorblade
On Friday 08 April 2005 10:10, Alex Zarochentsev wrote:
 Hi,

 On Fri, Apr 08, 2005 at 06:55:50AM +0200, [EMAIL PROTECTED] wrote:
  Cc: [EMAIL PROTECTED], reiserfs-list@namesys.com,
  [EMAIL PROTECTED]
 
  It's trivial for the resize option to auto-get the underlying device
  size, while it's harder for the user. I've copied the code from jfs.
 
  Since of the different reiserfs option parser (which does not use the
  superior match_token used by almost every other filesystem), I've had to
  use the resize=auto and not resize option to specify this behaviour.
  Changing the option parser to the kernel one wouldn't be bad but I've no
  time to do this cleanup in this moment.

 do people really need it?
Note we are speaking of 2 lines of code. And there's no point in omitting 
this.
 user-level utility reisize_reiserfs, being called w/o size argument,
 calculates the device size and uses resize mount option with correct value.
Yes, I know this. But the old versions (the one shipped on Mdk) didn't work 
for online resizing (this was verified by me with lots of warnings and a Oops 
on reiserfs code); in fact, this ability is so new that is not even 
documented in manpages.
-- 
Paolo Giarrusso, aka Blaisorblade
Linux registered user n. 292729
http://www.user-mode-linux.org/~blaisorblade


-
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: non-free firmware in kernel modules, aggregation and unclear copyright notice.

2005-04-08 Thread Sven Luther
On Tue, Apr 05, 2005 at 12:50:14PM -0600, Chris Friesen wrote:
 Josselin Mouette wrote:
 
 The fact is also that mixing them with a GPLed software gives
 an result you can't redistribute - although it seems many people
 disagree with that assertion now.
 
 This is only true if the result is considered a derivative work of the 
 gpl'd code.
 
 The GPL states In addition, mere aggregation of another work not based 
 on the Program with the Program (or with a work based on the Program) on 
 a volume of a storage or distribution medium does not bring the other 
 work under the scope of this License.
 
 Since the main cpu does not actually run the binary firmware, the fact 
 that it lives in main memory with the code that the cpu *does* run is 
 irrelevent.  In this case, the Debian stance is that the kernel proper 
 and the binary firmware are merely aggregated in a volume of storage ( 
 ie. system memory).

The problem is that you can only argue it is mere agregation, if the copyright
notice doesn't de-facto put said firmware blobs under the GPL, thus making
them undistributable by the selfsame definition of the GPL.

Friendly,

Sven Luther

-
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: Kernel SCM saga..

2005-04-08 Thread Andrea Arcangeli
On Thu, Apr 07, 2005 at 11:41:29PM -0700, Linus Torvalds wrote:
 I know I can import things myself, but the reason I ask is because I've
 got several SCM's I should check out _and_ I've been spending the last two
 days writing my own fallback system so that I don't get screwed if nothing
 out there works right now. 

I tend to like bzr too (and I tend to like too many things ;), but even
if the export of the data would be available it seems still too early in
development to be able to help you this week, it seems to miss any form
of network export too.

 I'd like many people to test out many alternatives, to get a feel for 
 where they are especially for a project the size of the kernel..

The huge number of changesets is the crucial point, there are good
distributed SCM already but they are apparently not efficient enough at
handling 60k changesets.

We'd need a regenerated coherent copy of BKCVS to pipe into those SCM to
evaluate how well they scale.

OTOH if your git project already allows storing the data in there,
that looks nice ;). I don't yet fully understand how the algorithms of
the trees are meant to work (I only understand well the backing store
and I tend to prefer DBMS over tree of dirs with hashes). So I've no
idea how it can plug in well for a SCM replacement or how you want to
use it. It seems a kind of fully lockless thing where you can merge from
one tree to the other without locks and where you can make quick diffs.
It looks similar to a diff -ur of two hardlinked trees, except this one
can save a lot of bandwidth to copy with rsync (i.e.  hardlinks becomes
worthless after using rsync in the network, but hashes not). Clearly the
DBMS couldn't use the rsync binary to distribute the objects, but a
network protocol could do the same thing rsync does.

Thanks.
-
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] Updated: Dynamic Tick version 050408-1

2005-04-08 Thread Frank Sorenson
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Tony Lindgren wrote:
| * Tony Lindgren [EMAIL PROTECTED] [050407 23:28]:
|
|I think I have an idea on what's going on; Your system does not wake to
|APIC interrupt, and the system timer updates time only on other
interrupts.
|I'm experiencing the same on a loaner ThinkPad T30.
|
|I'll try to do another patch today. Meanwhile it now should work
|without lapic in cmdline.
|
|
| Following is an updated patch. Anybody having trouble, please try
| disabling CONFIG_DYN_TICK_USE_APIC Kconfig option.
|
| I'm hoping this might work on Pavel's machine too?
|
| Tony
This updated patch seems to work just fine on my machine with lapic on
the cmdline and CONFIG_DYN_TICK_USE_APIC disabled.
Also, you were correct that removing lapic from the cmdline allowed the
previous version to run at full speed.
Now, how can I tell if the patch is doing its thing?  What should I be
seeing? :)
Functionally, it looks like it's working.  There were a number of
compiler warnings you might wish to fix before calling it good.  Such as
initialization from incompatible pointer type several times in
dyn-tick-timer.c and a too many arguments for format in
dyn_tick_late_init.
Frank
- --
Frank Sorenson - KD7TZK
Systems Manager, Computer Science Department
Brigham Young University
[EMAIL PROTECTED]
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.2.6 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFCVkWDaI0dwg4A47wRAgzOAKCHcx8p59ZbihYtZJ84p62v2rMauQCfUuzz
D7O98hHvjtTa/CvFHHtJe4c=
=G2I/
-END PGP SIGNATURE-
-
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] ds1337 1/4

2005-04-08 Thread Jean Delvare

Hi Ladislav,

 Use i2c_transfer to send message, so we get proper bus locking.

Looks all OK to me, let alone the lack of Signed-off-by line, as Greg
underlined elsewhere. Please resent the patches with the Signed-off-by
line after I finish reviewing them.

Thanks,
--
Jean Delvare
-
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] ds1337 2/4

2005-04-08 Thread Jean Delvare

Hi Ladislav,

 Use correct macros to convert between bdc and bin. See linux/bcd.h

Yes, this one is OK with me too.

Thanks,
--
Jean Delvare
-
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] Updated: Dynamic Tick version 050408-1

2005-04-08 Thread Tony Lindgren
* Frank Sorenson [EMAIL PROTECTED] [050408 01:49]:
 Tony Lindgren wrote:
 | * Tony Lindgren [EMAIL PROTECTED] [050407 23:28]:
 |
 |I think I have an idea on what's going on; Your system does not wake to
 |APIC interrupt, and the system timer updates time only on other
 interrupts.
 |I'm experiencing the same on a loaner ThinkPad T30.
 |
 |I'll try to do another patch today. Meanwhile it now should work
 |without lapic in cmdline.
 |
 |
 | Following is an updated patch. Anybody having trouble, please try
 | disabling CONFIG_DYN_TICK_USE_APIC Kconfig option.
 |
 | I'm hoping this might work on Pavel's machine too?
 |
 | Tony
 
 This updated patch seems to work just fine on my machine with lapic on
 the cmdline and CONFIG_DYN_TICK_USE_APIC disabled.
 
 Also, you were correct that removing lapic from the cmdline allowed the
 previous version to run at full speed.

Cool.

 Now, how can I tell if the patch is doing its thing?  What should I be
 seeing? :)

Download pmstats from http://www.muru.com/linux/dyntick/, you may
need to edit it a bit for correct ACPI battery values. But it should
show you HZ during idle and load. I believe idle still does not go
to ACPI C3 with dyn-tick though...

Then you might as well run timetest from same location too to make
sure your clock keeps correct time.

 Functionally, it looks like it's working.  There were a number of
 compiler warnings you might wish to fix before calling it good.  Such as
 initialization from incompatible pointer type several times in
 dyn-tick-timer.c and a too many arguments for format in
 dyn_tick_late_init.

Yeah, I'll fix those...

Tony
-
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: Kernel SCM saga..

2005-04-08 Thread Geert Uytterhoeven
On Fri, 8 Apr 2005, Marcel Lanz wrote:
 git on sarge
 
 --- git-0.02/Makefile.orig  2005-04-07 23:06:19.0 +0200
 +++ git-0.02/Makefile   2005-04-08 09:24:28.472672224 +0200
 @@ -8,7 +8,7 @@ all: $(PROG)
  install: $(PROG)
 install $(PROG) $(HOME)/bin/
  
 -LIBS= -lssl
 +LIBS= -lssl -lz
  
  init-db: init-db.o
  

I found a few more `issues' after adding `-O3 -Wall'.
Most are cosmetic, but the missing return value in remove_file_from_cache() is
a real bug. Hmm, upon closer look the caller uses its return value in a weird
way, so another bug may be hiding in add_file_to_cache().

Caveat: everything is untested, besides compilation ;-)

diff -purN git-0.02.orig/Makefile git-0.02/Makefile
--- git-0.02.orig/Makefile  2005-04-07 23:06:19.0 +0200
+++ git-0.02/Makefile   2005-04-08 11:02:02.0 +0200
@@ -1,4 +1,4 @@
-CFLAGS=-g
+CFLAGS=-g -O3 -Wall
 CC=gcc
 
 PROG=update-cache show-diff init-db write-tree read-tree commit-tree cat-file
@@ -8,7 +8,7 @@ all: $(PROG)
 install: $(PROG)
install $(PROG) $(HOME)/bin/
 
-LIBS= -lssl
+LIBS= -lssl -lz
 
 init-db: init-db.o
 
diff -purN git-0.02.orig/cat-file.c git-0.02/cat-file.c
--- git-0.02.orig/cat-file.c2005-04-07 23:15:17.0 +0200
+++ git-0.02/cat-file.c 2005-04-08 11:07:28.0 +0200
@@ -5,6 +5,8 @@
  */
 #include cache.h
 
+#include string.h
+
 int main(int argc, char **argv)
 {
unsigned char sha1[20];
@@ -25,4 +27,5 @@ int main(int argc, char **argv)
if (write(fd, buf, size) != size)
strcpy(type, bad);
printf(%s: %s\n, template, type);
+   exit(0);
 }
diff -purN git-0.02.orig/commit-tree.c git-0.02/commit-tree.c
--- git-0.02.orig/commit-tree.c 2005-04-07 23:15:17.0 +0200
+++ git-0.02/commit-tree.c  2005-04-08 11:06:08.0 +0200
@@ -6,6 +6,7 @@
 #include cache.h
 
 #include pwd.h
+#include string.h
 #include time.h
 
 #define BLOCKING (1ul  14)
diff -purN git-0.02.orig/init-db.c git-0.02/init-db.c
--- git-0.02.orig/init-db.c 2005-04-07 23:15:17.0 +0200
+++ git-0.02/init-db.c  2005-04-08 11:07:33.0 +0200
@@ -5,10 +5,12 @@
  */
 #include cache.h
 
+#include string.h
+
 int main(int argc, char **argv)
 {
char *sha1_dir = getenv(DB_ENVIRONMENT), *path;
-   int len, i, fd;
+   int len, i;
 
if (mkdir(.dircache, 0700)  0) {
perror(unable to create .dircache);
@@ -25,7 +27,7 @@ int main(int argc, char **argv)
if (sha1_dir) {
struct stat st;
if (!stat(sha1_dir, st)  0  S_ISDIR(st.st_mode))
-   return;
+   exit(1);
fprintf(stderr, DB_ENVIRONMENT set to bad directory %s: , 
sha1_dir);
}
 
diff -purN git-0.02.orig/read-cache.c git-0.02/read-cache.c
--- git-0.02.orig/read-cache.c  2005-04-07 23:23:43.0 +0200
+++ git-0.02/read-cache.c   2005-04-08 11:07:37.0 +0200
@@ -5,6 +5,8 @@
  */
 #include cache.h
 
+#include string.h
+
 const char *sha1_file_directory = NULL;
 struct cache_entry **active_cache = NULL;
 unsigned int active_nr = 0, active_alloc = 0;
@@ -89,7 +91,7 @@ void * read_sha1_file(unsigned char *sha
z_stream stream;
char buffer[8192];
struct stat st;
-   int i, fd, ret, bytes;
+   int fd, ret, bytes;
void *map, *buf;
char *filename = sha1_file_name(sha1);
 
@@ -173,7 +175,7 @@ int write_sha1_file(char *buf, unsigned 
 int write_sha1_buffer(unsigned char *sha1, void *buf, unsigned int size)
 {
char *filename = sha1_file_name(sha1);
-   int i, fd;
+   int fd;
 
fd = open(filename, O_WRONLY | O_CREAT | O_EXCL, 0666);
if (fd  0)
diff -purN git-0.02.orig/read-tree.c git-0.02/read-tree.c
--- git-0.02.orig/read-tree.c   2005-04-08 04:58:44.0 +0200
+++ git-0.02/read-tree.c2005-04-08 11:07:41.0 +0200
@@ -5,6 +5,8 @@
  */
 #include cache.h
 
+#include string.h
+
 static void create_directories(const char *path)
 {
int len = strlen(path);
@@ -72,7 +74,6 @@ static int unpack(unsigned char *sha1)
 
 int main(int argc, char **argv)
 {
-   int fd;
unsigned char sha1[20];
 
if (argc != 2)
diff -purN git-0.02.orig/show-diff.c git-0.02/show-diff.c
--- git-0.02.orig/show-diff.c   2005-04-07 23:15:17.0 +0200
+++ git-0.02/show-diff.c2005-04-08 11:07:44.0 +0200
@@ -5,6 +5,8 @@
  */
 #include cache.h
 
+#include string.h
+
 #define MTIME_CHANGED  0x0001
 #define CTIME_CHANGED  0x0002
 #define OWNER_CHANGED  0x0004
@@ -60,7 +62,6 @@ int main(int argc, char **argv)
struct stat st;
struct cache_entry *ce = active_cache[i];
int n, changed;
-   unsigned int mode;
unsigned long size;
char type[20];
void *new;
diff -purN git-0.02.orig/update-cache.c git-0.02/update-cache.c
--- git-0.02.orig/update-cache.c2005-04-07 

Re: Signing modules in Kernel 2.4

2005-04-08 Thread Arjan van de Ven
On Fri, 2005-04-08 at 10:32 +0200, Christoph Pleger wrote:
 Hello,
 
 I found a patch for Kernels 2.6 that ensures kernel integrity by
 digitally signing kernel modules. Is something similar available for
 2.4-Kernels?

2.4 kernels have a userspace insmod. so you would need to have a trusted
insmod too. Forget it, just go to 2.6


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


question about init procedure in linux kernel

2005-04-08 Thread Ko Yu Ting
Hi,
I would like to ask why nfs and devfs are initiated in the function 
filesystem_setup() rather than do in the function do_init_calls()? as i 
see other filesystem like ext2 are initiated there by init_ext2_fs().  
Can anyone tell me why ?

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


[PATCH 2.6.12-rc2 1/2] ppc32: fix for misreported SDRAM size on Radstone PPC7D platform

2005-04-08 Thread Chris Elston
This patch fixes the SDRAM output from /proc/cpuinfo.
The previous code assumed that there was only one bank
of SDRAM, and that the size in the memory configuration
register was the total size.

Signed-off-by: Chris Elston [EMAIL PROTECTED]


This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk


ppc7d_sdram_size.patch
Description: ppc7d_sdram_size.patch


[PATCH 2.6.12-rc2 2/2] ppc32: add rtc hooks in PPC7D platform file

2005-04-08 Thread Chris Elston
This patch adds the hooks into the PPC7D platforms file to
support the DS1337 RTC device as the clock device for the 
PPC7D board.

Signed-off-by: Chris Elston [EMAIL PROTECTED]


This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk


ppc7d_rtc_hooks.patch
Description: ppc7d_rtc_hooks.patch


Re: CCISS problems continue with 2.4.28

2005-04-08 Thread Atro Tossavainen
Mike,

On Fri, 14 Jan 2005 15:07:50 -0600, you wrote:

 Sorry, I let this one drop though the cracks. Try booting with acpi=off.
 It appears the interrupt is not being detected properly. If acpi=off works
 try updating the system ROM. We have been known to have buggy acpi tables.

acpi=off works, but the 09/15/2004 P29 flash update to the DL380 G3
(SP28809) doesn't make the problem go away.

-- 
Atro Tossavainen (Mr.)   / The Institute of Biotechnology at
Systems Analyst, Techno-Amish  / the University of Helsinki, Finland,
+358-9-19158939  UNIX Dinosaur / employs me, but my opinions are my own.
 URL : http : / / www . helsinki . fi / %7E atossava /  NO FILE ATTACHMENTS
-
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] use cheaper elv_queue_empty when unplug a device

2005-04-08 Thread Jens Axboe
On Wed, Mar 30 2005, Nick Piggin wrote:
 Nick Piggin wrote:
 Jens Axboe wrote:
 
 Looks good, I've been toying with something very similar for a long time
 myself.
 
 
 Here is another thing I just noticed that should further reduce the
 locking by at least 1, sometimes 2 lock/unlock pairs per request.
 At the cost of uglifying the code somewhat. Although it is pretty
 nicely contained, so Jens you might consider it acceptable as is,
 or we could investigate how to make it nicer if Kenneth reports some
 improvement.
 
 Note, this isn't runtime tested - it could easily have a bug.
 
 
 OK - I have booted this on a 4-way SMP with SCSI disks, and done
 some IO tests, and no hangs.
 
 So Kenneth if you could look into this one as well, to see if
 it is worthwhile, that would be great.

For that to work, you have to change the get_io_context() allocation to
be GFP_ATOMIC.

-- 
Jens Axboe

-
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: non-free firmware in kernel modules, aggregation and unclear copyright notice.

2005-04-08 Thread Ralph Corderoy

Hi,

Humberto Massa wrote:
 First, there is *NOT* any requirement in the GPL at all that requires
 making compilers available. Otherwise it would not be possible, for
 instance, have a Visual Basic GPL'd application. And yes, it is
 possible.

From section 3 of the GNU GPL, version 2:

The source code for a work means the preferred form of the work for
making modifications to it.  For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable.  However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.

I take that to mean the compiler's exempted if it's the normal one
available on the platform, but if the software distributor had to modify
gcc to produce the binaries it's distributing then you're entitled to
the compiler too.

So a Visual BASIC application uses a standard VB compiler, but that's
not necessarily the case for a Linux kernel running on an embedded box.

Cheers,


Ralph.

-
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] use cheaper elv_queue_empty when unplug a device

2005-04-08 Thread Nick Piggin
Jens Axboe wrote:
On Wed, Mar 30 2005, Nick Piggin wrote:

So Kenneth if you could look into this one as well, to see if
it is worthwhile, that would be great.

For that to work, you have to change the get_io_context() allocation to
be GFP_ATOMIC.
Yes of course, thanks for picking that up.
I guess this isn't a problem, as io contexts should be allocated
comparatively rarely. It would be possible to move it out of the
lock though if we really want to.
Thanks.
--
SUSE Labs, Novell Inc.
-
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 0/6] add generic round_up_pow2() macro

2005-04-08 Thread P
Andrew Morton wrote:
Nick Wilson [EMAIL PROTECTED] wrote:
The first patch adds a generic round_up_pow2() macro to kernel.h. The
remaining patches modify a few files to make use of the new macro.

We already have ALIGN() and roundup_pow_of_two().
cool. It doesn't handle x={0,1} though.
Maybe we should have:
static inline unsigned long __attribute_const__ 
__roundup_pow_of_two(unsigned long x)
{
return (1UL  fls(x - 1));
}

static inline unsigned long __attribute_const__ 
roundup_pow_of_two(unsigned long x)
{
return (unlikely(x2)?2:__roundup_pow_of_two(x));
}

--
Pádraig Brady - http://www.pixelbeat.org
--
-
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] use cheaper elv_queue_empty when unplug a device

2005-04-08 Thread Jens Axboe
On Fri, Apr 08 2005, Nick Piggin wrote:
 Jens Axboe wrote:
 On Wed, Mar 30 2005, Nick Piggin wrote:
 
 So Kenneth if you could look into this one as well, to see if
 it is worthwhile, that would be great.
 
 
 For that to work, you have to change the get_io_context() allocation to
 be GFP_ATOMIC.
 
 
 Yes of course, thanks for picking that up.
 
 I guess this isn't a problem, as io contexts should be allocated
 comparatively rarely. It would be possible to move it out of the
 lock though if we really want to.

Lets just keep it inside the lock, for the fast case it should just be
an increment of the already existing io context.

-- 
Jens Axboe

-
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] ds1337 3/4

2005-04-08 Thread Jean Delvare

Hi Ladislav,

 dev_{dbg,err} functions should print client's device name. data-id can
 be dropped from message, because device is determined by bus it hangs on
 (it has fixed address).

Looks OK to me.

Thanks,
--
Jean Delvare
-
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/


ACPI/HT or Packet Scheduler BUG?

2005-04-08 Thread Tarhon-Onu Victor
	I am not subscribed to this list so please CC me if you post a 
reply, if you need additional info or if you suggest a patch (in which 
I would be very interested).

	Occurrence:
	- the kernels must be compiled with Hyper Threading support (and
the CPU/MB must support it);
	- a (tc) process is reading statistics from the htb tree and another
tries to delete or deletes the tree.
	The bug will not occur if the system is booted with acpi=off or 
if it's not SMP (HT) capable. I reproduced the bug on 2.6.10-1.770_FCsmp 
(Fedora Core update package) and vanilla 2.6.11, 2.6.11.5, 2.6.11.6, 
2.6.12-rc1 and 2.6.12-rc2 compiled with SMP and ACPI support in order to 
enable Hyper Threading (with and without preempt, with or without SMT 
support). The compiler I used is GCC version 3.4.2 (from Fedora Core 3).

	Result: almost all the time the system hangs but still can 
execute SysRq commands.

	How I tested
	
	On a console I was running a script that initializes a htb tree 
on an interface (dummy0) in an endless loop:
	while /bin/true; do . htbdown.dummy0.sh; done
	...and on another console I run tc -s also in an endless loop:
	while /bin/true; do tc -s class sh dev dummy0; done

	After a while (sometimes after 2 runs of the htbdown.dummy0.sh 
script, sometimes after 20) the system hangs. It still responds to SysRq 
commands and I was able to see the two tc processes running. Sometimes I 
still have ping replies from it and one time, just one time in 2 days I 
still was able to log in remotely.
	There are no printk messages, or no other warnings or errors 
printed in the system log or kernel log. It just hangs and it seems like 
something is wasting all the CPU power: when I still was able to log in 
I noticed that one of the two virtual CPUs was 100% with system 
interrupts and the other was 100% system. I wasn't able to strace any of 
the two running tc's.
	What I was able to paste with the mouse in my console, to catch 
in a typescript and also the script that initializes the htb tree on 
dummy0 can be found at ftp://blackblue.iasi.rdsnet.ro/pub/various/k/ .
	The test host is a 3.0GHz Intel Prescott and I first noticed the 
bug on a system with a 2.8GHz Intel Northwood, both having motherboards 
with Intel chipset (865GBF). I am not able to test it in other SMP 
environments (Intel Xeon or Itanium, AMD Opteron, Dual P3, etc), so I'm 
not able to tell if it's an ACPI bug, a SMP bug or a Packet Scheduler 
bug.

--
Any views or opinions presented within this e-mail are solely those of
the author and do not necessarily represent those of any company, unless
otherwise expressly stated.
-
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] use cheaper elv_queue_empty when unplug a device

2005-04-08 Thread Nick Piggin
Jens Axboe wrote:
On Fri, Apr 08 2005, Nick Piggin wrote:

I guess this isn't a problem, as io contexts should be allocated
comparatively rarely. It would be possible to move it out of the
lock though if we really want to.

Lets just keep it inside the lock, for the fast case it should just be
an increment of the already existing io context.
Sounds good.
--
SUSE Labs, Novell Inc.
-
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 2.6.12-rc1-mm4] fork_connector: add a fork connector

2005-04-08 Thread Evgeniy Polyakov
On Thu, 2005-04-07 at 15:47 -0700, Jay Lan wrote:
 BTW, when it happened last time, my program listening to the socket
 complained about duplicate messages received.
 
 Unmatched seq. Rcvd=1824062, expected=1824061   ===
 Unmatched seq. Rcvd=1824062, expected=1824063   ===
 Unmatched seq. Rcvd=1824348, expected=1824307
 
 When my program received 1824062 while expecting 1824061
 it adjusted itself to expect the next one being 1824063. But instead
 the message of 1824062 arrived the second time.

Thank you for your report.

Could you reproduce a bug with the attached patch?

 - jay


* looking for [EMAIL PROTECTED]/connector--main--0--patch-38 to compare with
* comparing to [EMAIL PROTECTED]/connector--main--0--patch-38
M  connector.c

* modified files

--- orig/drivers/connector/connector.c
+++ mod/drivers/connector/connector.c
@@ -121,7 +121,7 @@
NETLINK_CB(skb).dst_groups = groups;
 
uskb = skb_clone(skb, GFP_ATOMIC);
-   if (uskb)
+   if (uskb  0)
netlink_unicast(dev-nls, uskb, 0, 0);

netlink_broadcast(dev-nls, skb, 0, groups, GFP_ATOMIC);
@@ -158,7 +158,7 @@
}
spin_unlock_bh(dev-cbdev-queue_lock);
 
-   return found;
+   return (found)?0:-ENODEV;
 }
 
 /*
@@ -181,7 +181,6 @@
requested msg-len=%u[%u], nlh-nlmsg_len=%u, 
skb-len=%u.\n,
msg-len, NLMSG_SPACE(msg-len + sizeof(*msg)),
nlh-nlmsg_len, skb-len);
-   kfree_skb(skb);
return -EINVAL;
}
 #if 0
@@ -215,17 +214,18 @@
   skb-len, skb-data_len, skb-truesize, skb-protocol,
   skb_cloned(skb), skb_shared(skb));
 #endif
-   while (skb-len = NLMSG_SPACE(0)) {
+   if (skb-len = NLMSG_SPACE(0)) {
nlh = (struct nlmsghdr *)skb-data;
+
if (nlh-nlmsg_len  sizeof(struct cn_msg) ||
skb-len  nlh-nlmsg_len ||
nlh-nlmsg_len  CONNECTOR_MAX_MSG_SIZE) {
-#if 0
+#if 1
printk(KERN_INFO nlmsg_len=%u, sizeof(*nlh)=%u\n,
   nlh-nlmsg_len, sizeof(*nlh));
 #endif
kfree_skb(skb);
-   break;
+   goto out;
}
 
len = NLMSG_ALIGN(nlh-nlmsg_len);
@@ -233,22 +233,11 @@
len = skb-len;
 
err = __cn_rx_skb(skb, nlh);
-   if (err) {
-#if 0
-   if (err  0  (nlh-nlmsg_flags  NLM_F_ACK))
-   netlink_ack(skb, nlh, -err);
-#endif
-   break;
-   } else {
-#if 0
-   if (nlh-nlmsg_flags  NLM_F_ACK)
-   netlink_ack(skb, nlh, 0);
-#endif
-   break;
-   }
-   skb_pull(skb, len);
+   if (err  0)
+   kfree_skb(skb);
}
-   
+
+out:
kfree_skb(__skb);
 }
 





-- 
Evgeniy Polyakov

Crash is better than data corruption -- Arthur Grabowski


signature.asc
Description: This is a digitally signed message part


Re: [linux-pm] Re: [RFC] Driver States

2005-04-08 Thread Pavel Machek
Hi!

You have a few things here that can easily conflict, and that will be
developed at different paces. I like the direction that it's going, but
how do you intend to do it gradually. I.e. what to do first?
   
   I think the first step would be for us to all agree on a design, whether
   it be this one or another, so we can began planning for long term
   changes.
   
   My arguments for these changes are as follows:
  
  0. I do not see how to gradually roll this in.
  
4. Having responsibilities at each driver level encourages a
   layered and object based design, reducing code duplication and
   complexity.
  
  Unfortunately, you'll be retrofiting this to existing drivers. AFAICS,
  trying to force existing driver to layered and object based design
  can only result in mess.
  Pavel
 
 Fair enough.  How does this sound?  I'd like to add *attach and
 *detach to struct device_driver.  These functions would act as one
 time initializers and decontructors.  Then we could rename *probe to
 *start, and *remove to *stop, which should be rather trivial to

I do not think you'll find rename across all the drivers easy. You
could get away with I create start, and if it does not exist, probe
is called instead, but you need pretty good justification for that, too.

Pavel
-- 
Boycott Kodak -- for their patent abuse against Java.
-
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] Updated: Dynamic Tick version 050408-1

2005-04-08 Thread Pavel Machek
Hi!

  I think I have an idea on what's going on; Your system does not wake to
  APIC interrupt, and the system timer updates time only on other interrupts.
  I'm experiencing the same on a loaner ThinkPad T30.
  
  I'll try to do another patch today. Meanwhile it now should work
  without lapic in cmdline.
 
 Following is an updated patch. Anybody having trouble, please try
 disabling CONFIG_DYN_TICK_USE_APIC Kconfig option.
 
 I'm hoping this might work on Pavel's machine too?

The volume hang was explained: I was using CPU frequency scaling, it
probably did not like that. After disabling CPU frequency scaling, it
seems to work ok:

Pavel

[EMAIL PROTECTED]:~$ cat /proc/interrupts ; sleep  1 ; cat /proc/interrupts
   CPU0
  0:  33288  XT-PIC  timer
  1:   1021  XT-PIC  i8042
  2:  0  XT-PIC  cascade
  9:  2  XT-PIC  acpi
 10:  94036  XT-PIC  yenta, yenta, ehci_hcd:usb1,
uhci_hcd:usb2, uhci_hcd:usb3, uhci_hcd:usb4
 11:   3941  XT-PIC  Intel 82801DB-ICH4, eth0
 12: 17  XT-PIC  i8042
 14:   5119  XT-PIC  ide0
NMI:  0
LOC:  0
ERR:  0
MIS:  0
   CPU0
  0:  33568  XT-PIC  timer
  1:   1022  XT-PIC  i8042
  2:  0  XT-PIC  cascade
  9:  2  XT-PIC  acpi
 10:  94323  XT-PIC  yenta, yenta, ehci_hcd:usb1,
uhci_hcd:usb2, uhci_hcd:usb3, uhci_hcd:usb4
 11:   3951  XT-PIC  Intel 82801DB-ICH4, eth0
 12: 17  XT-PIC  i8042
 14:   5192  XT-PIC  ide0
NMI:  0
LOC:  0
ERR:  0
MIS:  0
[EMAIL PROTECTED]:~$


-- 
Boycott Kodak -- for their patent abuse against Java.
-
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 0/6] add generic round_up_pow2() macro

2005-04-08 Thread P
[EMAIL PROTECTED] wrote:
Andrew Morton wrote:
Nick Wilson [EMAIL PROTECTED] wrote:
The first patch adds a generic round_up_pow2() macro to kernel.h. The
remaining patches modify a few files to make use of the new macro.

We already have ALIGN() and roundup_pow_of_two().

cool. It doesn't handle x={0,1} though.
Well I should clarify.
2^0==1 is a special case that you probably
don't want as a result from the macro?
--
Pádraig Brady - http://www.pixelbeat.org
--
-
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-rc2-mm1

2005-04-08 Thread Pavel Machek
Hi!

   Ok, I've narrowed the problem down to one patch. In 2.6.11-mm3, the
   problem goes away if I remove this patch:
   swsusp-enable-resume-from-initrd.patch
  
  That really helps, thanks.
 
 You're welcome.
 
  The patch looks fairly innocent.  I'll give up on this and cc the
  developers.
 
 Yeah, it *seemed* innocent enough -- that's why I had to do a binary
 search on the 2.6.11-mm3 series file in order to find it as the
 culprit...

Do you have XFS compiled in, by chance?

You are not actually resuming from initrd, right?
Pavel

-- 
Boycott Kodak -- for their patent abuse against Java.
-
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 2.6.12-rc1-mm4] fork_connector: add a fork connector

2005-04-08 Thread Evgeniy Polyakov
Could you give attached patch a try instead of previous one.
It adds gfp mask into cn_netlink_send() call also.
If you need updated CBUS sources, feel free to ask, 
I will send updated sources with Andrew's comments resolved too.

I do not know exactly your connector version, 
so patch will probably be applied with fuzz.

feel free to contact if it does not apply, I will send
the whole sources.

Thank you.

* looking for [EMAIL PROTECTED]/connector--main--0--patch-38 to compare with
* comparing to [EMAIL PROTECTED]/connector--main--0--patch-38
M  connector.c
M  connector.h
M  cbus.c

* modified files

--- orig/drivers/connector/connector.c
+++ mod/drivers/connector/connector.c
@@ -70,7 +70,7 @@
  * then it is new message.
  *
  */
-void cn_netlink_send(struct cn_msg *msg, u32 __groups)
+void cn_netlink_send(struct cn_msg *msg, u32 __groups, int gfp_mask)
 {
struct cn_callback_entry *n, *__cbq;
unsigned int size;
@@ -102,7 +102,7 @@
 
size = NLMSG_SPACE(sizeof(*msg) + msg-len);
 
-   skb = alloc_skb(size, GFP_ATOMIC);
+   skb = alloc_skb(size, gfp_mask);
if (!skb) {
printk(KERN_ERR Failed to allocate new skb with size=%u.\n, 
size);
return;
@@ -119,11 +119,11 @@
 #endif

NETLINK_CB(skb).dst_groups = groups;
-
-   uskb = skb_clone(skb, GFP_ATOMIC);
-   if (uskb)
+#if 0
+   uskb = skb_clone(skb, gfp_mask);
+   if (uskb  0)
netlink_unicast(dev-nls, uskb, 0, 0);
-   
+#endif 
netlink_broadcast(dev-nls, skb, 0, groups, GFP_ATOMIC);
 
return;
@@ -158,7 +158,7 @@
}
spin_unlock_bh(dev-cbdev-queue_lock);
 
-   return found;
+   return (found)?0:-ENODEV;
 }
 
 /*
@@ -181,7 +181,6 @@
requested msg-len=%u[%u], nlh-nlmsg_len=%u, 
skb-len=%u.\n,
msg-len, NLMSG_SPACE(msg-len + sizeof(*msg)),
nlh-nlmsg_len, skb-len);
-   kfree_skb(skb);
return -EINVAL;
}
 #if 0
@@ -215,17 +214,18 @@
   skb-len, skb-data_len, skb-truesize, skb-protocol,
   skb_cloned(skb), skb_shared(skb));
 #endif
-   while (skb-len = NLMSG_SPACE(0)) {
+   if (skb-len = NLMSG_SPACE(0)) {
nlh = (struct nlmsghdr *)skb-data;
+
if (nlh-nlmsg_len  sizeof(struct cn_msg) ||
skb-len  nlh-nlmsg_len ||
nlh-nlmsg_len  CONNECTOR_MAX_MSG_SIZE) {
-#if 0
+#if 1
printk(KERN_INFO nlmsg_len=%u, sizeof(*nlh)=%u\n,
   nlh-nlmsg_len, sizeof(*nlh));
 #endif
kfree_skb(skb);
-   break;
+   goto out;
}
 
len = NLMSG_ALIGN(nlh-nlmsg_len);
@@ -233,22 +233,11 @@
len = skb-len;
 
err = __cn_rx_skb(skb, nlh);
-   if (err) {
-#if 0
-   if (err  0  (nlh-nlmsg_flags  NLM_F_ACK))
-   netlink_ack(skb, nlh, -err);
-#endif
-   break;
-   } else {
-#if 0
-   if (nlh-nlmsg_flags  NLM_F_ACK)
-   netlink_ack(skb, nlh, 0);
-#endif
-   break;
-   }
-   skb_pull(skb, len);
+   if (err  0)
+   kfree_skb(skb);
}
-   
+
+out:
kfree_skb(__skb);
 }
 
@@ -310,7 +299,7 @@
m.ack = notify_event;
 
memcpy(m.id, id, sizeof(m.id));
-   cn_netlink_send(m, ctl-group);
+   cn_netlink_send(m, ctl-group, GFP_ATOMIC);
}
}
spin_unlock_bh(notify_lock);


--- orig/include/linux/connector.h
+++ mod/include/linux/connector.h
@@ -148,7 +148,7 @@
 
 int cn_add_callback(struct cb_id *, char *, void (* callback)(void *));
 void cn_del_callback(struct cb_id *);
-void cn_netlink_send(struct cn_msg *, u32);
+void cn_netlink_send(struct cn_msg *, u32, int);
 
 int cn_queue_add_callback(struct cn_queue_dev *dev, struct cn_callback *cb);
 void cn_queue_del_callback(struct cn_queue_dev *dev, struct cb_id *id);





-- 
Evgeniy Polyakov

Crash is better than data corruption -- Arthur Grabowski


signature.asc
Description: This is a digitally signed message part


Re: [PATCH] Updated: Dynamic Tick version 050408-1

2005-04-08 Thread Tony Lindgren
* Pavel Machek [EMAIL PROTECTED] [050408 03:30]:
 Hi!
 
   I think I have an idea on what's going on; Your system does not wake to
   APIC interrupt, and the system timer updates time only on other 
   interrupts.
   I'm experiencing the same on a loaner ThinkPad T30.
   
   I'll try to do another patch today. Meanwhile it now should work
   without lapic in cmdline.
  
  Following is an updated patch. Anybody having trouble, please try
  disabling CONFIG_DYN_TICK_USE_APIC Kconfig option.
  
  I'm hoping this might work on Pavel's machine too?
 
 The volume hang was explained: I was using CPU frequency scaling, it
 probably did not like that. After disabling CPU frequency scaling, it
 seems to work ok:

OK, good. I assume this was the same machine that did not work with
any of the earlier patches?

Tony
-
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] ds1337 4/4

2005-04-08 Thread Jean Delvare

Hi Ladislav,

 Add support for DS1339. The only difference against DS1337 is Trickle
 Charge register at address 10h, which is used to enable battery or gold
 cap charging. Please note that value may vary for different batteries,
 so it should be made module parameter. 0xaa is sane default and also
 matches my board ;-)

Sane default is a non-sense here. A sane default is that loading a
real-time clock driver should not affect the battery at all IMHO.

Can you tell us more on that battery thing? I admit I don't exatcly get
what it is. Which type of battery are we talking about? Are there
similar drivers in the kernel tree already?

Sounds weird to me that loading a driver would enable charging of a
battery, and removing it wouldn't disable it. And since the driver
might not be removed, it would possibly make more sense to have an entry
in /sys to enable and disable this thing.

Also, arbitrarily picking one of the 6 possible charging modes just
because it matches your board is a bad idea. It looks like a value which
should be set on a per-board basis, rather than picked randomly by the
user, so as to avoid accidental hardware breakage.

 +static int ds1339_charge = 0xaa;

I see little reason why this would be a global variable rather than a
define (let alone the fact that this shouldn't be hardcoded at all
IMHO, as I just explained).

 +/*
 + * DS1339 has Trickle Charge register at address 10h. During a multibyte
 + * access, when the address pointer reaches the end of the register space,
 + * it wraps around to location 00h.
 + * We read 17 bytes from device and compare first and last one. If they
 + * are same it is most likely DS1337 chip.
 + */
 +static int ds1337_is_ds1339(struct i2c_client *client)
 +{
 + char buf[17], addr = 0;
 + struct i2c_msg msg[2];
 + int result;
 +
 + msg[0].addr = client-addr;
 + msg[0].flags = 0;
 + msg[0].len = 1;
 + msg[0].buf = addr;
 +
 + msg[1].addr = client-addr;
 + msg[1].flags = I2C_M_RD;
 + msg[1].len = sizeof(buf);
 + msg[1].buf = buf;
 +
 + result = i2c_transfer(client-adapter, msg, 2);
 + if (result  0) {
 + dev_err(client-dev, error reading data! %d\n, result);
 + return 0;
 + } else
 + return (buf[0] == buf[16]) ? 0 : 1;
 +}

This will fail eventually. The first register is the seconds count, which
by definition is changing. I2C is slow, by the time you wrap over the
register range, the value could have changed. The datasheet explicitely
says that the register cache will refresh on address wrapping.

Also, 0x00 is a possible value for both the seconds count and the battery
register, so you could miss a DS1339 at times.

One possible check to start with would be on the value of the additional
register itself. It has only 7 possible values. But of course it would
be better if we could default to a DS1337 and find a way to identify the
DS1339, rather than the (unsafe) other way around. I also don't know
what a DS1337 will answer for this missing register. Maybe James can
help?

One possibility would be to start reading at 0x0E instead of 0x00,
because register 0x00 is the control register and is the only one which
will not change in our back as far as I can see. Oh, and the additional
battery register too. But this still doesn't sound like a bulletproof
method to me (we depend on the seconds and possibly minutes count
again). So it would be better to additionally perform the same tests
that were done on the non-wrapped registers for the regular DS1337
detection, but on the wrapped area.

The problem here is that all this will significantly increase the
detection delay.

Yet another method would be to write a non-significant value to the
battery register, such as 0x80. If we can read it back then it has to be
a DS1339. But what effect will it have on the DS1337? I'd hope none,
but this better be verified. And in general I don't much like using
register writes in detection methods.

Could you please provide the output of i2cdump in b and c modes for your
DS1339 chip? This might help finding an detection method. A similar dump
for the DS1337 would help too.

 - const char *name = ;
 + const char *name;
(...)
 + default:
 + name = ;
 + }

This is noise.

Thanks,
--
Jean Delvare
-
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: non-free firmware in kernel modules, aggregation and unclear copyright notice.

2005-04-08 Thread Jörn Engel
On Fri, 8 April 2005 09:22:00 +0200, Josselin Mouette wrote:
 Le jeudi 07 avril 2005 à 23:07 +0200, Adrian Bunk a écrit :
 
  As a contrast, read the discussion between Christoph and Arjan in a part 
  of this thread how to move firmware out of kernel drivers without 
  problems for the users. This might not happen today, but it's better for 
  the users.
 
 Some Debian developers have been writing such patches so that we can
 still run Linux on this hardware, long before the topic was raised on
 the LKML.

I can point you to dozens of patches I have written that were never
merged.  Not because Linus is a d*ckhead (he's not), but because they
were not good enough then and I didn't spend the time to improve them,
so far.

Someone's written some patches is a long way from we have a good
solution.

Jörn

-- 
You cannot suppose that Moliere ever troubled himself to be original in the
matter of ideas. You cannot suppose that the stories he tells in his plays
have never been told before. They were culled, as you very well know.
-- Andre-Louis Moreau in Scarabouche
-
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] Updated: Dynamic Tick version 050408-1

2005-04-08 Thread Thomas Renninger
Frank Sorenson wrote:
 Tony Lindgren wrote:
 | * Tony Lindgren [EMAIL PROTECTED] [050407 23:28]:
 |
 |I think I have an idea on what's going on; Your system does not wake to
 |APIC interrupt, and the system timer updates time only on other
 interrupts.
 |I'm experiencing the same on a loaner ThinkPad T30.
 |
 |I'll try to do another patch today. Meanwhile it now should work
 |without lapic in cmdline.
 |
 |
 | Following is an updated patch. Anybody having trouble, please try
 | disabling CONFIG_DYN_TICK_USE_APIC Kconfig option.
 |
 | I'm hoping this might work on Pavel's machine too?
 |
 | Tony
 
 This updated patch seems to work just fine on my machine with lapic on
 the cmdline and CONFIG_DYN_TICK_USE_APIC disabled.
 
 Also, you were correct that removing lapic from the cmdline allowed the
 previous version to run at full speed.
 
 Now, how can I tell if the patch is doing its thing?  What should I be
 seeing? :)
 
 Functionally, it looks like it's working.  There were a number of
 compiler warnings you might wish to fix before calling it good.  Such as
 initialization from incompatible pointer type several times in
 dyn-tick-timer.c and a too many arguments for format in
 dyn_tick_late_init.
 

Here are some figures about idle/C-states:

Passing bm_history=0xF to processor module makes it going into C3 and deeper.
Passing lower values, deeper states are reached more often, but system could 
freeze:

bm_activity=0x4
bus master activity: fefd
states:
C1:  type[C1] promotion[C2] demotion[--] latency[001] 
usage[0010]
   *C2:  type[C2] promotion[C3] demotion[C1] latency[001] 
usage[7183]
C3:  type[C3] promotion[C4] demotion[C2] latency[085] 
usage[0515]
C4:  type[C3] promotion[--] demotion[C3] latency[185] 
usage[0330]

bm_activity=0x1
bus master activity: 7ffd
states:
C1:  type[C1] promotion[C2] demotion[--] latency[001] 
usage[0010]
   *C2:  type[C2] promotion[C3] demotion[C1] latency[001] 
usage[5495]
C3:  type[C3] promotion[C4] demotion[C2] latency[085] 
usage[0537]
C4:  type[C3] promotion[--] demotion[C3] latency[185] 
usage[0472]


Figures NO_IDLE_HZ disabled, HZ=1000 (max sleep 1ms)
(Don't trust the figures too much, there probably are little bugs...):

Active C0/C1 state:
Total(ms):145
Usage:20205
Failures: 0
Maximum(us):  1967
Average(us):  7
Sleep  C2 state:
Total(ms):19306
Usage:20074
Failures: 0
Maximum(us):  1275(- strange max should be 1000us)
Average(us):  961
Sleep  C3 state:
Total(ms):34
Usage:131
Failures: 0
Maximum(us):  984
Average(us):  259
Measures based on ACPI PM timer reads

Total switches between C-states:  20205
Switches between C-states per second:  1063 per second
Total measure time (s):  19
Total measure time (based on starting measures) (s):  20


Figures NO_IDLE_HZ enabled, processor.bm_history=0xF HZ=1000:
(Don't trust the figures too much, there probably are little bugs...):

Active C0/C1 state:
Total(ms):81
Usage:4659
Failures: 0
Maximum(us):  1608
Average(us):  17
Sleep  C2 state:
Total(ms):71108
Usage:4241
Failures: 0
Maximum(us):  49921
Average(us):  16766
Sleep  C3 state:
Total(ms):219
Usage:167
Failures: 0
Maximum(us):  28296
Average(us):  1311
Sleep  C4 state:
Total(ms):374
Usage:251
Failures: 0
Maximum(us):  18870
Average(us):  1490
Measures based on ACPI PM timer reads

Total switches between C-states:  4659
Switches between C-states per second:  65 per second
Total measure time (s):  71
Total measure time (based on starting measures) (s):  75


I buffer C-state times in an array and write them to /dev/cstX.
From there I calc the stats from userspace.

Tony: If you like I can send you the patch and dump prog for
http://www.muru.com/linux/dyntick/ ?

I try to find a better algorithm (directly adjust slept time to
C-state latency or something) for NO_IDLE_HZ (hints are very welcome)
and try to come up with new figures soon.


 Thomas
-
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: Kernel SCM saga..

2005-04-08 Thread Catalin Marinas
Chris Wedgwood [EMAIL PROTECTED] wrote:
 I'm playing with monotone right now.  Superficially it looks like it
 has tons of gee-whiz neato stuff...  however, it's *agonizingly* slow.
 I mean glacial.  A heavily sedated sloth with no legs is probably
 faster.

I tried some time ago to import the BKCVS revisions since Linux 2.6.9
into a monotone-0.16 repository. I later tried to upgrade the database
(repository) to monotone version 0.17. The result - converting ~3500
revisions would have taken more than *one year*, fact confirmed by the
monotone developers. The bottleneck seemed to be the big size of the
manifest (which stores the file names and the corresponding SHA1
values) and all the validation performed when converting. The
solution, unsafe, is to disable the revision checks in monotone but
you can end up with an inconsistent repository (haven't tried this).

-- 
Catalin

-
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-rc2-mm2

2005-04-08 Thread Rafael J. Wysocki
On Friday, 8 of April 2005 12:08, Andrew Morton wrote:
 
 ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.12-rc2/2.6.12-rc2-mm2/
 
 
 - Although small, bk-audit.patch was causing conflits with a couple of
   other projects.  Dropped for now.
 
 - Greg is not using bk now, so bk-pci.patch, bk-i2c.patch,
   bk-driver-core.patch and bk-usb.patch have been replaced with gregkh-*.patch
   in -mm.
 
 - Largeish x86_64 update

It does not compile on a uniprocessor x86-64:

  CC  arch/x86_64/kernel/process.o
  CC  arch/x86_64/kernel/semaphore.o
  CC  arch/x86_64/kernel/signal.o
  AS  arch/x86_64/kernel/entry.o
  CC  arch/x86_64/kernel/traps.o
  CC  arch/x86_64/kernel/irq.o
  CC  arch/x86_64/kernel/ptrace.o
  CC  arch/x86_64/kernel/time.o
  CC  arch/x86_64/kernel/ioport.o
  CC  arch/x86_64/kernel/ldt.o
  CC  arch/x86_64/kernel/setup.o
arch/x86_64/kernel/setup.c: In function `amd_detect_cmp':
arch/x86_64/kernel/setup.c:759: error: `cpu_core_id' undeclared (first use in 
this function)
arch/x86_64/kernel/setup.c:759: error: (Each undeclared identifier is reported 
only once
arch/x86_64/kernel/setup.c:759: error: for each function it appears in.)
make[1]: *** [arch/x86_64/kernel/setup.o] Error 1
make: *** [arch/x86_64/kernel] Error 2

Greets,
Rafael


-- 
- Would you tell me, please, which way I ought to go from here?
- That depends a good deal on where you want to get to.
-- Lewis Carroll Alice's Adventures in Wonderland
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.12-rc2-mm2

2005-04-08 Thread Michael Thonke
Hello Andrew,

along the 2.6.12-rcX-mmX PCI-Express is not usable at all with
mm-patchsets. I posted some days ago the problem taht
the IRQs get not regonized by the kernel also with pci=routeirq nothing
helped.
The problem still the same and some new problems now with 2.6.12-rc2-mm2
in addition.

This computer has an Intel Pentium 4 630 with HT,EIST and EMT64 enabled.
In 2.6.12-rc2 everything works perfect.
So I post my dmesg output maybe you can see some interesting things
there. I hope you'll find the issue or bug..whatever hope that
its possible to sort the problems out.

Thanks in Advanced

Now I post the 2.6.12-rc2-mm2 and after that the 2.6.12-rc2 vanilla
kernel output

2.6.12-rc2-mm2 output:

Bootdata ok (command line is root=/dev/md1 vga=794 quiet)
Linux version 2.6.12-rc2-mm2-md1 ([EMAIL PROTECTED]) (gcc-Version 3.4.3
20041125 (Gentoo Linux 3.4.3-r1, ssp-3.4.3-0, pie-8.7.7)) #2 SMP PREEMPT
Fri Apr 8 13:35:42 CEST 2005
BIOS-provided physical RAM map:
 BIOS-e820:  - 0009fc00 (usable)
 BIOS-e820: 0009fc00 - 000a (reserved)
 BIOS-e820: 000e4000 - 0010 (reserved)
 BIOS-e820: 0010 - 3ffb (usable)
 BIOS-e820: 3ffb - 3ffbe000 (ACPI data)
 BIOS-e820: 3ffbe000 - 3fff (ACPI NVS)
 BIOS-e820: 3fff - 4000 (reserved)
 BIOS-e820: ffb0 - 0001 (reserved)
ACPI: RSDP (v002 ACPIAM) @
0x000fafa0
ACPI: XSDT (v001 A M I  OEMXSDT  0x02000503 MSFT 0x0097) @
0x3ffb0100
ACPI: FADT (v003 A M I  OEMFACP  0x02000503 MSFT 0x0097) @
0x3ffb0290
ACPI: MADT (v001 A M I  OEMAPIC  0x02000503 MSFT 0x0097) @
0x3ffb0390
ACPI: OEMB (v001 A M I  AMI_OEM  0x02000503 MSFT 0x0097) @
0x3ffbe040
ACPI: MCFG (v001 A M I  OEMMCFG  0x02000503 MSFT 0x0097) @
0x3ffb6c40
ACPI: DSDT (v001  A0144 A0144000 0x INTL 0x02002026) @
0x
On node 0 totalpages: 262064
  DMA zone: 4096 pages, LIFO batch:1
  Normal zone: 257968 pages, LIFO batch:16
  HighMem zone: 0 pages, LIFO batch:1
ACPI: Local APIC address 0xfee0
ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
Processor #0 15:4 APIC version 16
ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)
Processor #1 15:4 APIC version 16
ACPI: IOAPIC (id[0x02] address[0xfec0] gsi_base[0])
IOAPIC[0]: apic_id 2, version 32, address 0xfec0, GSI 0-23
ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
ACPI: IRQ0 used by override.
ACPI: IRQ2 used by override.
ACPI: IRQ9 used by override.
Setting APIC routing to flat
Using ACPI (MADT) for SMP configuration information
Allocating PCI resources starting at 4000 (gap: 4000:bfb0)
Built 1 zonelists
Initializing CPU#0
Kernel command line: root=/dev/md1 vga=794 quiet console=tty0
PID hash table entries: 4096 (order: 12, 131072 bytes)
time.c: Using 1.193182 MHz PIT timer.
time.c: Detected 3527.408 MHz processor.
Console: colour dummy device 80x25
Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes)
Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes)
Memory: 1024964k/1048256k available (3240k kernel code, 22664k reserved,
1218k data, 212k init)
Calibrating delay loop... 6963.20 BogoMIPS (lpj=3481600)
Security Framework v1.0.0 initialized
Capability LSM initialized
Mount-cache hash table entries: 256
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 2048K
using mwait in idle threads.
CPU: Physical Processor ID: 0
CPU0: Thermal monitoring enabled (TM1)
Using IO APIC NMI watchdog
activating NMI Watchdog ... done.
Using local APIC timer interrupts.
Detected 13.778 MHz APIC timer.
Booting processor 1/1 rip 6000 rsp 81003ff35f58
Initializing CPU#1
Calibrating delay loop... 7045.12 BogoMIPS (lpj=3522560)
CPU: Trace cache: 12K uops, L1 D cache: 16K
CPU: L2 cache: 2048K
CPU: Physical Processor ID: 0
CPU1: Thermal monitoring enabled (TM1)
  Intel(R) Pentium(R) 4 CPU 3.20GHz stepping 03
Synced TSC of CPU 1 difference 107374180328
APIC error on CPU1: 00(40)
Brought up 2 CPUs
time.c: Using PIT/TSC based timekeeping.
CPU0 attaching sched-domain:
 domain 0: span 3
  groups: 1 2
CPU1 attaching sched-domain:
 domain 0: span 3
  groups: 2 1
NET: Registered protocol family 16
PCI: Using configuration type 1
PCI: Using MMCONFIG at e000
mtrr: v2.0 (20020519)
ACPI: Subsystem revision 20050309
ACPI: Interpreter enabled
ACPI: Using IOAPIC for interrupt routing
ACPI: PCI Root Bridge [PCI0] (:00)
PCI: Probing PCI hardware (bus 00)
ACPI: Assume root bridge [\_SB_.PCI0] segment is 0
PCI: Ignoring BAR0-3 of IDE controller :00:1f.1
Boot video device is :04:00.0
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: Can't get handler for 

Re: [PATCH] Updated: Dynamic Tick version 050408-1

2005-04-08 Thread Tony Lindgren
* Thomas Renninger [EMAIL PROTECTED] [050408 04:34]:
 
 Here are some figures about idle/C-states:
 
 Passing bm_history=0xF to processor module makes it going into C3 and deeper.
 Passing lower values, deeper states are reached more often, but system could 
 freeze:

Hmm, I wonder why it freezes? Is it ACPI issue or related to dyn-tick?
 
 Figures NO_IDLE_HZ disabled, HZ=1000 (max sleep 1ms)
...
 Total switches between C-states:  20205
 Switches between C-states per second:  1063 per second
 
 Figures NO_IDLE_HZ enabled, processor.bm_history=0xF HZ=1000:
...
 Total switches between C-states:  4659
 Switches between C-states per second:  65 per second

The reduction in C state changes should produce some power savings,
assuming the C states do something...

 I buffer C-state times in an array and write them to /dev/cstX.
 From there I calc the stats from userspace.
 
 Tony: If you like I can send you the patch and dump prog for
 http://www.muru.com/linux/dyntick/ ?

Yeah, that would nice to have!

 I try to find a better algorithm (directly adjust slept time to
 C-state latency or something) for NO_IDLE_HZ (hints are very welcome)
 and try to come up with new figures soon.

I suggest we modify idle so we can call it with the estimated sleep
length in usecs. Then the idle loop can directly decide when to go to
C2 or C3 depening on the estimated sleep length.

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


[BUG] 2.6.12-rc1/rc2 mouse0 became mouse1

2005-04-08 Thread Ali Akcaagac
Hello,

This doesn't sound right to me. After upgrading from 2.6.11.5/6 to
2.6.12-rc1/rc2 I detected that my mouse didn't operate anymore when
loading up XOrg, I realized that /dev/input/mouse0 (which worked for
years) had to be changed to /dev/input/mouse1. Anyone care to explain
why this had to be changed or what the intention behind this was ?

greetings,

Ali Akcaagac


-
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: Kernel SCM saga..

2005-04-08 Thread Matthias Andree
Andrea Arcangeli schrieb am 2005-04-08:

 On Thu, Apr 07, 2005 at 09:42:04PM -0700, Linus Torvalds wrote:
  play with something _really_ nasty (but also very _very_ fast), take a
  look at kernel.org:/pub/linux/kernel/people/torvalds/.
 
 Why not to use sql as backend instead of the tree of directories? That solves
 userland journaling too (really one still has to be careful to know the
 read-committed semantics of sql, which is not obvious stuff, but 99% of
 common cases like this one just works safe automatically since all
 inserts/delete/update are always atomic).
 
 You can keep the design of your db exactly the same and even the command line
 of your script the same, except you won't have deal with the implementation of
 it anymore, and the end result may run even faster with proper btrees and you
 won't have scalability issues if the directory of hashes fills up, and it'll
 get userland journaling, live backups, runtime analyses of your queries with
 genetic algorithms (pgsql 8 seems to have it) etc...
 
 I seem to recall there's a way to do delayed commits too, so you won't
 be sychronous, but you'll still have journaling. You clearly don't care
 to do synchronous writes, all you care about is that the commit is
 either committed completely or not committed at all (i.e. not an half
 write of the patch that leaves your db corrupt).
 
 Example:
 
 CREATE TABLE patches (
   patch   BIGSERIAL   PRIMARY KEY,
 
   commiter_name   VARCHAR(32) NOT NULL CHECK(commiter_name != 
 ''),
   commiter_email  VARCHAR(32) NOT NULL CHECK(commiter_email 
 != ''),

The length is too optimistic and insufficient to import the current BK
stuff.  I'd vote for 64 or at least 48 for each, although 48 is going to
be a tight fit.  It costs a bit but considering the expected payload
size it's irrelevant.

Committer (double t) email is up to 36 characters at the moment and the
name up to 43 characters when analyzing the shortlog script with this
little Perl snippet:


while (($k, $v) = each %addresses) {
$lk = length $k;
$lv = length $v;
if ($lk  $mk) { $mk = $lk; }
if ($lv  $mv) { $mv = $lv; }
}
print max key len $mk, max val len $mv\n;


which prints: (key is the email, val the name)

max key len 43, max val len 36

-- 
Matthias Andree
-
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] pm_message_t corrections still missing from 2.6.12-rc2

2005-04-08 Thread Nigel Cunningham
Hi.

Here, for your consideration, are fixups I still have in my tree after
updating to rc2.

(USB  Framebuffer lists copied because a reasonable number apply
there).

Regards,

Nigel

diff -ruNp 
840-combined-pm_message_t-patch.patch-old/drivers/base/power/resume.c 
840-combined-pm_message_t-patch.patch-new/drivers/base/power/resume.c
--- 840-combined-pm_message_t-patch.patch-old/drivers/base/power/resume.c   
2004-12-10 14:26:51.0 +1100
+++ 840-combined-pm_message_t-patch.patch-new/drivers/base/power/resume.c   
2005-04-08 13:41:41.0 +1000
@@ -41,7 +41,7 @@ void dpm_resume(void)
list_add_tail(entry, dpm_active);
 
up(dpm_list_sem);
-   if (!dev-power.prev_state)
+   if (!dev-power.prev_state.event)
resume_device(dev);
down(dpm_list_sem);
put_device(dev);
diff -ruNp 
840-combined-pm_message_t-patch.patch-old/drivers/base/power/runtime.c 
840-combined-pm_message_t-patch.patch-new/drivers/base/power/runtime.c
--- 840-combined-pm_message_t-patch.patch-old/drivers/base/power/runtime.c  
2005-02-03 22:33:23.0 +1100
+++ 840-combined-pm_message_t-patch.patch-new/drivers/base/power/runtime.c  
2005-04-08 13:41:41.0 +1000
@@ -13,10 +13,10 @@
 static void runtime_resume(struct device * dev)
 {
dev_dbg(dev, resuming\n);
-   if (!dev-power.power_state)
+   if (!dev-power.power_state.event)
return;
if (!resume_device(dev))
-   dev-power.power_state = 0;
+   dev-power.power_state = PMSG_ON;
 }
 
 
@@ -49,10 +49,10 @@ int dpm_runtime_suspend(struct device * 
int error = 0;
 
down(dpm_sem);
-   if (dev-power.power_state == state)
+   if (dev-power.power_state.event == state.event)
goto Done;
 
-   if (dev-power.power_state)
+   if (dev-power.power_state.event)
runtime_resume(dev);
 
if (!(error = suspend_device(dev, state)))
diff -ruNp 
840-combined-pm_message_t-patch.patch-old/drivers/base/power/shutdown.c 
840-combined-pm_message_t-patch.patch-new/drivers/base/power/shutdown.c
--- 840-combined-pm_message_t-patch.patch-old/drivers/base/power/shutdown.c 
2004-11-03 21:54:14.0 +1100
+++ 840-combined-pm_message_t-patch.patch-new/drivers/base/power/shutdown.c 
2005-04-08 13:41:41.0 +1000
@@ -29,7 +29,8 @@ int device_detach_shutdown(struct device
dev-driver-shutdown(dev);
return 0;
}
-   return dpm_runtime_suspend(dev, dev-detach_state);
+   /* FIXME */
+   return dpm_runtime_suspend(dev, PMSG_FREEZE);
 }
 
 
diff -ruNp 
840-combined-pm_message_t-patch.patch-old/drivers/base/power/suspend.c 
840-combined-pm_message_t-patch.patch-new/drivers/base/power/suspend.c
--- 840-combined-pm_message_t-patch.patch-old/drivers/base/power/suspend.c  
2005-04-08 12:35:14.0 +1000
+++ 840-combined-pm_message_t-patch.patch-new/drivers/base/power/suspend.c  
2005-04-08 13:41:41.0 +1000
@@ -43,7 +43,7 @@ int suspend_device(struct device * dev, 
 
dev-power.prev_state = dev-power.power_state;
 
-   if (dev-bus  dev-bus-suspend  !dev-power.power_state)
+   if (dev-bus  dev-bus-suspend  (!dev-power.power_state.event))
error = dev-bus-suspend(dev, state);
 
return error;
diff -ruNp 840-combined-pm_message_t-patch.patch-old/drivers/base/power/sysfs.c 
840-combined-pm_message_t-patch.patch-new/drivers/base/power/sysfs.c
--- 840-combined-pm_message_t-patch.patch-old/drivers/base/power/sysfs.c
2004-11-03 21:55:04.0 +1100
+++ 840-combined-pm_message_t-patch.patch-new/drivers/base/power/sysfs.c
2005-04-08 13:41:41.0 +1000
@@ -26,19 +26,20 @@
 
 static ssize_t state_show(struct device * dev, char * buf)
 {
-   return sprintf(buf, %u\n, dev-power.power_state);
+   return sprintf(buf, %u\n, dev-power.power_state.event);
 }
 
 static ssize_t state_store(struct device * dev, const char * buf, size_t n)
 {
-   u32 state;
+   pm_message_t state;
char * rest;
int error = 0;
 
-   state = simple_strtoul(buf, rest, 10);
+   state.event = simple_strtoul(buf, rest, 10);
+   state.flags = PFL_RUNTIME;
if (*rest)
return -EINVAL;
-   if (state)
+   if (state.event)
error = dpm_runtime_suspend(dev, state);
else
dpm_runtime_resume(dev);
diff -ruNp 840-combined-pm_message_t-patch.patch-old/drivers/ide/ide.c 
840-combined-pm_message_t-patch.patch-new/drivers/ide/ide.c
--- 840-combined-pm_message_t-patch.patch-old/drivers/ide/ide.c 2005-04-08 
16:46:36.0 +1000
+++ 840-combined-pm_message_t-patch.patch-new/drivers/ide/ide.c 2005-04-08 
13:41:41.0 +1000
@@ -1385,7 +1385,7 @@ static int generic_ide_suspend(struct de
rq.special = args;
rq.pm = rqpm;

Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.

2005-04-08 Thread Humberto Massa
Adrian Bunk wrote:
Debian doesn't seem to care much about the possible legal problems of 
patents.
 

The possible legal problem of software patents is, up to the present 
time, AFAICT, not producing effects yet in Europe, and is a non-problem 
in jurisdictions like mine (down here neither business methods nor 
software are patentable).

The firmware issues are an urgent real problem?
 

OTOH, the firmware issues *is* a legal real problem (copyright 
infringement is even a criminal offense in a lot of juristictions -- 
down here, 6 months to 2 years of soft jail + fine for non-commercial 
and 2 to 4 years of hard-jail + fine for commercial intents).

Debian should define how much legal risk they are willing to impose on 
their mirrors and distributors and should act accordingly in all areas.
 

You are right, but as I told you, the mirrors are really worse when 
there is a chance of copyrights infringement than of patents 
infringement -- even on those jurisdictions that *have* software 
patents, things are more difficult to prosecute in the patent field.

But ignoring some areas while being more religious than RMS in other 
areas is simply silly.
 

Conceded. You are right on this.
HTH,
Massa
-
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/


buggy ia64_fls() ? (was Re: /dev/random problem on 2.6.12-rc1)

2005-04-08 Thread Simon Derr
On Fri, 8 Apr 2005, Matt Mackall wrote:

 On Fri, Apr 08, 2005 at 08:56:51AM +0200, Simon Derr wrote:
  On Thu, 7 Apr 2005, Matt Mackall wrote:
  
   On Thu, Apr 07, 2005 at 05:36:59PM +0200, Simon Derr wrote:


  I run:
  # dd if=/dev/random bs=1 count=1 | od
 
 strace the dd process, please. This works fine here.

As expected, dd is waiting in:

read(0, 0x60014000, 1)

with fd 0 being /dev/random.

  About /proc/sys/kernel/random/entropy_avail:
  (5 second refresh interval)
 
 That may not be sufficient resolution. The upper layers will pull from
 it whenever it rises above 64 and bash it back down to within 7 bits
 of 0. What does it do when no one is reading from it?
Oh, you're right.

with 1/100 sec (or so) resolution, things look like:
(with nobody reading /dev/random, this time)

* usually zero, lots of zero
* sometimes things such as:
0 0 0 1 0 0 0 0 0 0 0 2 0 0 0 1 0 4 1 0 0 0 1 2 2 2 0 2 0 0 0 0 3 0 0 0 

or even

0 0 0 1 0 0 3 2 0 2 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 9 0 

Other values:

poolsize:4096
read_wakeup_threshold:64
write_wakeup_threshold:128

I enabled the debug messages in random.c and I think I found the problem 
lying in the IA64 version of fls().

It turns out that the generic and IA64 versions of fls() disagree:

(output from a small test program)

 x   ia64_fls(x)  generic_fls(x)

i=-1, t=0, ia64: -65535 et generic:0
i=0, t=1, ia64: 0 et generic:1
i=1, t=2, ia64: 1 et generic:2
i=2, t=4, ia64: 2 et generic:3
i=3, t=8, ia64: 3 et generic:4
i=4, t=16, ia64: 4 et generic:5
i=5, t=32, ia64: 5 et generic:6
i=6, t=64, ia64: 6 et generic:7
i=7, t=128, ia64: 7 et generic:8
i=8, t=256, ia64: 8 et generic:9
i=9, t=512, ia64: 9 et generic:10
i=10, t=1024, ia64: 10 et generic:11
i=11, t=2048, ia64: 11 et generic:12
i=12, t=4096, ia64: 12 et generic:13
i=13, t=8192, ia64: 13 et generic:14
i=14, t=16384, ia64: 14 et generic:15
i=15, t=32768, ia64: 15 et generic:16
i=16, t=65536, ia64: 16 et generic:17
i=17, t=131072, ia64: 17 et generic:18
i=18, t=262144, ia64: 18 et generic:19
i=19, t=524288, ia64: 19 et generic:20
i=20, t=1048576, ia64: 20 et generic:21
i=21, t=2097152, ia64: 21 et generic:22
i=22, t=4194304, ia64: 22 et generic:23
i=23, t=8388608, ia64: 23 et generic:24
i=24, t=16777216, ia64: 24 et generic:25
i=25, t=33554432, ia64: 25 et generic:26
i=26, t=67108864, ia64: 26 et generic:27
i=27, t=134217728, ia64: 27 et generic:28
i=28, t=268435456, ia64: 28 et generic:29
i=29, t=536870912, ia64: 29 et generic:30
i=30, t=1073741824, ia64: 30 et generic:31
i=31, t=-2147483648, ia64: 31 et generic:32
i=32, t=0, ia64: -65535 et generic:0
...

I tried to fix it with an ia64 version that would give the same result as 
the generic version, but the kernel did not boot, I guess some functions 
rely on the broken ia64_fls() behaviour.

So I just changed fls() to use generic_fls() instead of ia64_fls().

(Patch below).

And /dev/random seems to work again.


Simon.


Signed-Off-By: Simon Derr [EMAIL PROTECTED]

Index: linux-2.6.11/include/asm-ia64/bitops.h
===
--- linux-2.6.11.orig/include/asm-ia64/bitops.h 2005-04-08 14:07:46.826191877 
+0200
+++ linux-2.6.11/include/asm-ia64/bitops.h  2005-04-08 14:08:09.750996284 
+0200
@@ -327,11 +327,7 @@ ia64_fls (unsigned long x)
return exp - 0x;
 }
 
-static inline int
-fls (int x)
-{
-   return ia64_fls((unsigned int) x);
-}
+#define fls(x) generic_fls(x)
 
 /*
  * ffs: find first bit set. This is defined the same way as the libc and 
compiler builtin
-
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] sched: unlocked context-switches

2005-04-08 Thread Ingo Molnar

the scheduler still has a complex maze of locking in the *arch_switch() 
/ *lock_switch() code. Different arches do it differently, creating 
diverging context-switch behavior. There are now 3 variants: fully 
locked, unlocked but irqs-off, unlocked and irqs-on.

Nick has cleaned them up in sched-cleanup-context-switch-locking.patch, 
but i'm still not happy with the end result. So here's a more radical 
approach: do all context-switching without the runqueue lock held and 
with interrupts enabled.

the patch below (which is against Andrew's current scheduler queue) thus 
unifies all arches and greatly simplifies things:

 9 files changed, 83 insertions(+), 236 deletions(-)

other details:

- switched the order of stack/register-switching and MM-switching: we 
  now first switch the stack and registers, this further simplified
  things.

- introduced set_task_on_cpu/task_on_cpu to unify -oncpu and
  task_running naming and to simplify usage. Did s/oncpu/on_cpu.

- dropped rq-prev_mm - it's now all straight code in one function.

- moved Sparc/Sparc64's prepare_arch_switch() code to the head of
  their switch_to() macros, and s390's finish_arch_switch() to
  the tail of switch_to().

tested on x86, and all other arches should work as well, but if an 
architecture has irqs-off assumptions in its switch_to() logic it might 
break. (I havent found any but there may such assumptions.)

i've measured no regressions in context-switch performance (lat_ctx,
hackbench), on a UP x86 and an 8-way SMP x86 box. Tested it on
PREEMPT/!PREEMPT/SMP/!SMP, on x86 and x64.

Ingo

Signed-off-by: Ingo Molnar [EMAIL PROTECTED]

--- linux/kernel/sched.c.orig
+++ linux/kernel/sched.c
@@ -222,7 +222,6 @@ struct runqueue {
unsigned long expired_timestamp;
unsigned long long timestamp_last_tick;
task_t *curr, *idle;
-   struct mm_struct *prev_mm;
prio_array_t *active, *expired, arrays[2];
int best_expired_prio;
atomic_t nr_iowait;
@@ -276,71 +275,25 @@ static DEFINE_PER_CPU(struct runqueue, r
 #define task_rq(p) cpu_rq(task_cpu(p))
 #define cpu_curr(cpu)  (cpu_rq(cpu)-curr)
 
-#ifndef prepare_arch_switch
-# define prepare_arch_switch(next) do { } while (0)
-#endif
-#ifndef finish_arch_switch
-# define finish_arch_switch(prev)  do { } while (0)
-#endif
-
-#ifndef __ARCH_WANT_UNLOCKED_CTXSW
-static inline int task_running(runqueue_t *rq, task_t *p)
-{
-   return rq-curr == p;
-}
-
-static inline void prepare_lock_switch(runqueue_t *rq, task_t *next)
-{
-}
-
-static inline void finish_lock_switch(runqueue_t *rq, task_t *prev)
-{
-   spin_unlock_irq(rq-lock);
-}
-
-#else /* __ARCH_WANT_UNLOCKED_CTXSW */
-static inline int task_running(runqueue_t *rq, task_t *p)
+/*
+ * We can optimise this out completely for !SMP, because the
+ * SMP rebalancing from interrupt is the only thing that cares:
+ */
+static inline void set_task_on_cpu(struct task_struct *p, int val)
 {
 #ifdef CONFIG_SMP
-   return p-oncpu;
-#else
-   return rq-curr == p;
+   p-on_cpu = val;
 #endif
 }
 
-static inline void prepare_lock_switch(runqueue_t *rq, task_t *next)
+static inline int task_on_cpu(runqueue_t *rq, task_t *p)
 {
 #ifdef CONFIG_SMP
-   /*
-* We can optimise this out completely for !SMP, because the
-* SMP rebalancing from interrupt is the only thing that cares
-* here.
-*/
-   next-oncpu = 1;
-#endif
-#ifdef __ARCH_WANT_INTERRUPTS_ON_CTXSW
-   spin_unlock_irq(rq-lock);
+   return p-on_cpu;
 #else
-   spin_unlock(rq-lock);
-#endif
-}
-
-static inline void finish_lock_switch(runqueue_t *rq, task_t *prev)
-{
-#ifdef CONFIG_SMP
-   /*
-* After -oncpu is cleared, the task can be moved to a different CPU.
-* We must ensure this doesn't happen until the switch is completely
-* finished.
-*/
-   smp_wmb();
-   prev-oncpu = 0;
-#endif
-#ifndef __ARCH_WANT_INTERRUPTS_ON_CTXSW
-   local_irq_enable();
+   return rq-curr == p;
 #endif
 }
-#endif /* __ARCH_WANT_UNLOCKED_CTXSW */
 
 /*
  * task_rq_lock - lock the runqueue a given task resides on and disable
@@ -855,7 +808,7 @@ static int migrate_task(task_t *p, int d
 * If the task is not on a runqueue (and not running), then
 * it is sufficient to simply update the task's cpu field.
 */
-   if (!p-array  !task_running(rq, p)) {
+   if (!p-array  !task_on_cpu(rq, p)) {
set_task_cpu(p, dest_cpu);
return 0;
}
@@ -885,9 +838,9 @@ void wait_task_inactive(task_t * p)
 repeat:
rq = task_rq_lock(p, flags);
/* Must be off runqueue entirely, not preempted. */
-   if (unlikely(p-array || task_running(rq, p))) {
+   if (unlikely(p-array || task_on_cpu(rq, p))) {
/* If it's preempted, we yield.  It could be a while. */
-   preempted = !task_running(rq, p);
+   preempted = !task_on_cpu(rq, 

Re: non-free firmware in kernel modules, aggregation and unclear copyright notice.

2005-04-08 Thread Bernd Petrovitsch
On Fri, 2005-04-08 at 09:08 -0300, Humberto Massa wrote:
 Adrian Bunk wrote:
 Debian doesn't seem to care much about the possible legal problems of 
 patents.

You have lots of possible legal problems of any kind. Basically
everyone can sue you for (almost) whatever he wants almost all ofth
time.

 The possible legal problem of software patents is, up to the present 
 time, AFAICT, not producing effects yet in Europe, and is a non-problem 

It is starting now. Basically the corporations with the masses of
software patents and patent lawyers are probably waiting for the
settling of the discussion and the ratification of the relevant
to-be-accepted laws. And the war is not over yet ...
In fact software patents are real in EUrope and they exist (though
illegally). Up to now it was a question of whether you can succeed in
court with them and which courts to go 

 in jurisdictions like mine (down here neither business methods nor 
 software are patentable).

I suspect that .br is commercially not relevant enough for this ATM. Or
the legislation is already USPTO-conform in place and nobody knows .

Bernd
-- 
Firmix Software GmbH   http://www.firmix.at/
mobil: +43 664 4416156 fax: +43 1 7890849-55
  Embedded Linux Development and Services



-
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: Kernel SCM saga..

2005-04-08 Thread Florian Weimer
* Matthias Andree:

  commiter_name   VARCHAR(32) NOT NULL CHECK(commiter_name != 
 ''),
  commiter_email  VARCHAR(32) NOT NULL CHECK(commiter_email 
 != ''),

 The length is too optimistic and insufficient to import the current BK
 stuff.  I'd vote for 64 or at least 48 for each, although 48 is going to
 be a tight fit.  It costs a bit but considering the expected payload
 size it's irrelevant.

You should also check your database documentation if VARCHAR(n) is
actually implemented implemented in the same way as TEXT (or what the
unbounded string type is called), plus an additional length check.  It
doesn't make much sense to use VARCHAR if there isn't a performance
(or disk space) benefit, IMHO, especially for such data.
-
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] Updated: Dynamic Tick version 050408-1

2005-04-08 Thread Pavel Machek
Hi!

I think I have an idea on what's going on; Your system does not wake to
APIC interrupt, and the system timer updates time only on other 
interrupts.
I'm experiencing the same on a loaner ThinkPad T30.

I'll try to do another patch today. Meanwhile it now should work
without lapic in cmdline.
   
   Following is an updated patch. Anybody having trouble, please try
   disabling CONFIG_DYN_TICK_USE_APIC Kconfig option.
   
   I'm hoping this might work on Pavel's machine too?
  
  The volume hang was explained: I was using CPU frequency scaling, it
  probably did not like that. After disabling CPU frequency scaling, it
  seems to work ok:
 
 OK, good. I assume this was the same machine that did not work with
 any of the earlier patches?

I do not have *that* machine near me just now, but I'll try it.

Pavel

-- 
Boycott Kodak -- for their patent abuse against Java.
-
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-rc2-mm2

2005-04-08 Thread Indrek Kruusa
Andrew Morton wrote:
ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.12-rc2/2.6.12-rc2-mm2/
 

Wow... it responds despite the load average of 83.63 :)
http://www.tuleriit.ee/progs/img/pic1.png
http://www.tuleriit.ee/progs/img/pic2.png
http://www.tuleriit.ee/progs/img/pic3.png
dmesg is not clean though:
TCP: time wait bucket table overflow
TCP: time wait bucket table overflow
TCP: time wait bucket table overflow
printk: 392 messages suppressed.
TCP: time wait bucket table overflow
printk: 290 messages suppressed.
TCP: time wait bucket table overflow
TCP: time wait bucket table overflow
TCP: time wait bucket table overflow
TCP: time wait bucket table overflow
TCP: time wait bucket table overflow
TCP: time wait bucket table overflow
TCP: time wait bucket table overflow
TCP: time wait bucket table overflow
TCP: time wait bucket table overflow
TCP: time wait bucket table overflow
printk: 295 messages suppressed.
TCP: time wait bucket table overflow
What I did:
- bombing httpd with JMeter (from another computer)
- copying files from USB memory device to harddisk
- copying file with scp
Indrek
-
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: non-free firmware in kernel modules, aggregation and unclear copyright notice.

2005-04-08 Thread Raul Miller
On Fri, Apr 08, 2005 at 09:41:35AM +0200, Sven Luther wrote:
 BTW, have any of you read the analysis i made, where i claim, rooted
 in the GPL FAQ and with examples, why i believe that the firmware can
 be considerated a non derivative of the linux kernel.

I hadn't.  I did just now.  Here's my opinions, after reading it:

[1a] It's pretty long, and some of the redundancy is not really relevant
to the issue at hand.  This might be less of an issue, except

[1b] It has some grammar problems that should be fixed.

[2] The presented arguments all look plausible.  Maybe I should study
it more, but I didn't see any significant logical flaws.

[3] It focuses on debian issues more than kernel issues (though a
dedicated reader could see some issues relevant to the linux-kernel
mailing list).

I agree with both you and the gpl faq writers that communicates at arms
length is probably a good measure of whether or not the kernel and the
module are the same program.  I can think of cases where this wouldn't
hold (GPLed documentation, for example), but those kinds of issues don't
seem to be relevant here.

 I further argumented that taking any different stance would bring us worlds of
 hurt as we would consider the bios as being a derivative work of the kernel
 they are running, or the bootloader, or the firmware present in proms on
 devices loaded into the system and so on.

Here, you've confused two issues:  Are A and B part of the same program?
and  Are A and B together part of a derivative work under copyright law?
Sometimes one is true, sometimes the other is true.  You have a GPL
issue when both are true.

One question has to do with the function of A and B.  The other question
is whether the combination is eligible for copyright protection.
Copyright protection is not granted or denied because of functionality.
The functional issues are relevant only because they're written into
the license.

Of course there can be other GPL issues (e.g. it's bad to put a GPL
notice on something which isn't GPLed).

And, of course, there can be non-GPL issues (pulling the blobs out of
the kernel lets people update their firmware without having to compile
the kernel or a kernel module).

 I think only the fact that if you consider firmware as being a derivative
 work, you should consider it a derivative work also when it is flashed on the
 prom of a pci card or what not, is decisive enough to make those firmware
 blobs not derivative works of the kernel they are under.

Uh... not precisely.  You have your facts straight, but your logic is bad.
This fact alone isn't enough to decide whether or not firmware is a
derivative work.

Fortunately this thought isn't a big deal for the cases we're currently
talking about.

-- 
Raul
-
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] pm_message_t corrections still missing from 2.6.12-rc2

2005-04-08 Thread Pavel Machek
Hi!

 Here, for your consideration, are fixups I still have in my tree after
 updating to rc2.
 
 (USB  Framebuffer lists copied because a reasonable number apply
 there).
 
 Regards,
 
 Nigel
 
 diff -ruNp 
 840-combined-pm_message_t-patch.patch-old/drivers/base/power/resume.c 
 840-combined-pm_message_t-patch.patch-new/drivers/base/power/resume.c
 --- 840-combined-pm_message_t-patch.patch-old/drivers/base/power/resume.c 
 2004-12-10 14:26:51.0 +1100
 +++ 840-combined-pm_message_t-patch.patch-new/drivers/base/power/resume.c 
 2005-04-08 13:41:41.0 +1000
 @@ -41,7 +41,7 @@ void dpm_resume(void)
   list_add_tail(entry, dpm_active);
  
   up(dpm_list_sem);
 - if (!dev-power.prev_state)
 + if (!dev-power.prev_state.event)
   resume_device(dev);
   down(dpm_list_sem);
   put_device(dev);

We do not want these to go anywhere for now. These depend on switching
pm_message_t to struct, and that's 2.6.13 material.

Except that, there are some good fixes (u32-pm_message_t), but they
should be in -mm kernel already.

...except USB. I'm talking with David Brownell about those.

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


  1   2   3   4   5   6   7   >