Re: [2.6 patch] x86: make dump_pagetable() static

2008-02-13 Thread Andi Kleen
Adrian Bunk wrote:
> On Wed, Feb 13, 2008 at 02:27:47PM -0800, Harvey Harrison wrote:
>> On Wed, 2008-02-13 at 23:31 +0200, Adrian Bunk wrote:
>>> dump_pagetable() can now become static.
>>>
>>> Signed-off-by: Adrian Bunk <[EMAIL PROTECTED]>
>>>
>> I believe Andi Kleen wanted this kept global to make it easy to use when
>> adding debugging code elsewhere.
> 
> That's not a reason as long as his code isn't in the tree (and he anyway 
> has to patch the kernel for using it).

It was originally needed for the old cpa patchkit which dumped
the page tables when it detected an internal inconsistency
with the reference counts.

I think something like this would still make sense in a few
cases, although there are no reference counts to check anymore
currently.

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


Re: 2.6.25-rc1 xen pvops regression

2008-02-13 Thread Jeremy Fitzhardinge

Joel Becker wrote:

On Wed, Feb 13, 2008 at 10:59:33PM +1100, Jeremy Fitzhardinge wrote:
  

I thought I'd try out 2.6.25-rc1 as a xen 32-bit pae domU the other day.
Unfortunately, I didn't get very far very fast, as the domain just crashed
immediately upon booting, without any direct feedback (I did have messages
on the xen message buffer, which helped). This even with earlyprintk turned on.

After a long, arduous journey, I managed to track this down to the following:

--
commit  551889a6e2a24a9c06fd453ea03b57b7746ffdc0
  


I'm seeing the same problem, with no messages at all from xen
other than "domain crashed, restart disabled" in xend.log.  I got a
different commit in my bisect, 0947b2f31ca1ea1211d3cde2dbd8fcec579ef395
(i386 boot: replace boot_ioremap with enhanced bt_ioremap - enhance
bt_ioremap).  I started from yesterday's
96b5a46e2a72dc1829370c87053e0cd558d58bc0 (WMI: initialize
wmi_blocks.list even if ACPI is disabled) and a known good
9b73e76f3cf63379dcf45fcd4f112f5812418d0a (Merge
git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6).

  
Although I'm on vacation, I happened to download a recent copy of  
x86.git and found that it crashes early.  Here's a couple of patches to  
apply; I don't know if they apply to current git, but I hope it helps.



  

Subject: x86/early_ioremap: don't assume we're using swapper_pg_dir
Subject: xen: unpin initial Xen pagetable once we're finished with it



After my bisect was done, I re-pulled from Linus and discovered
these patches.  Searching for these emails, they certainly sound like my
problem.  But the kernel does not boot, commit
10270d4838bdc493781f5a1cf2e90e9c34c9142f (acpi: fix
acpi_os_read_pci_configuration() misuse of raw_pci_read()).  Still no
output from Xen - pygrub selects the kernel, and then the domain just
dies back to the dom0 shell.
Attached are my latest .config and my bisect log.
  


Is the domain ending up in the crashed state?  Do you get a register 
dump with xm dmesg?  That would be very useful in determining what went 
wrong.  You may need to compile Xen with debug=y in Config.mk.


   J
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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 patch] make mtd/nand/cs553x_nand.c:part_probes[] static

2008-02-13 Thread Mart Raudsepp

Ühel kenal päeval, K, 2008-02-13 kell 23:30, kirjutas Adrian Bunk:
> This patch makes the needlessly global part_probes[] static.
> 
> Signed-off-by: Adrian Bunk <[EMAIL PROTECTED]>

Acked-by: Mart Raudsepp <[EMAIL PROTECTED]>

Note that many other drivers in mtd/nand have the same part_probes array
global instead of static.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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: stuck with 2.6.23.14 on x86_64

2008-02-13 Thread Fabio Coatti
Alle mercoledì 13 febbraio 2008, Andrew Morton ha scritto:

> > > Hardware: x86_64 AMD 2216HE
> > > SCSI controller: HP Smart Array E200i Controller
> > > Compiler: gcc (GCC) 4.1.1
> > > binutils: 2.16.1
> > >
> > > On a x86 machine, Intel(R) Xeon(TM) CPU 3.20GHz
> > > with a cciss0: HP Smart Array 6i Controller,
> > > the 2.6.24.2 compiles just fine and works, so the cciss problems seems
> > > related only to E200i controller.

> > Fabio, Can you please post your boot messages in bug 9859.
>
> Let's cc him..


No problem, I'm subscribed to the list so I've already posted boot messages; 
thanks anyway :)




-- 
Fabio "Cova" Coattihttp://members.ferrara.linux.it/cova 
Ferrara Linux Users Group   http://ferrara.linux.it
GnuPG fp:9765 A5B6 6843 17BC A646  BE8C FA56 373A 5374 C703
Old SysOps never die... they simply forget their password.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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: [GIT PULL?] Create and populate toplevel tests/ for kernel tests

2008-02-13 Thread Ingo Molnar

* Sam Ravnborg <[EMAIL PROTECTED]> wrote:

>  {kernel => tests}/backtracetest.c   |0 
>  {drivers/misc => tests}/lkdtm.c |   12 ++--
>  {lib => tests}/locking-selftest-hardirq.h   |0 
>  {lib => tests}/locking-selftest-mutex.h |0 
>  {lib => tests}/locking-selftest-rlock-hardirq.h |0 
>  {lib => tests}/locking-selftest-rlock-softirq.h |0 
>  {lib => tests}/locking-selftest-rlock.h |0 
>  {lib => tests}/locking-selftest-rsem.h  |0 
>  {lib => tests}/locking-selftest-softirq.h   |0 
>  {lib => tests}/locking-selftest-spin-hardirq.h  |0 
>  {lib => tests}/locking-selftest-spin-softirq.h  |0 
>  {lib => tests}/locking-selftest-spin.h  |0 
>  {lib => tests}/locking-selftest-wlock-hardirq.h |0 
>  {lib => tests}/locking-selftest-wlock-softirq.h |0 
>  {lib => tests}/locking-selftest-wlock.h |0 
>  {lib => tests}/locking-selftest-wsem.h  |0 
>  {lib => tests}/locking-selftest.c   |0 
>  {kernel => tests}/rcutorture.c  |0 
>  {kernel => tests}/rtmutex-tester.c  |2 +-
>  {kernel => tests}/test_kprobes.c|0 
>  27 files changed, 99 insertions(+), 82 deletions(-)

Acked-by: Ingo Molnar <[EMAIL PROTECTED]>

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: [discuss] pci_get_device_reverse(), why does Calgary need this?

2008-02-13 Thread Andreas Jaeger
Greg KH <[EMAIL PROTECTED]> writes:

> How does the patch below look?  I didn't want to remove the whole config
> option, as there is more to the logic than just the "reverse order"
> stuff there.

I think you miss Documentation - it's mentioned in ide.txt and
kernel-parameters.txt,

Andreas
-- 
 Andreas Jaeger, Director Platform / openSUSE, [EMAIL PROTECTED]
  SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nürnberg)
   Maxfeldstr. 5, 90409 Nürnberg, Germany
GPG fingerprint = 93A3 365E CE47 B889 DF7F  FED1 389A 563C C272 A126


pgpnl8pXxObM5.pgp
Description: PGP signature


Re: vmsplice exploits, stack protector and Makefiles

2008-02-13 Thread Sam Ravnborg
> --- linux-2.6.24.2/arch/x86/kernel/Makefile_642008-01-24 
> 23:58:37.0 
> +0100
> +++ linux-2.6.24.2-pax/arch/x86/kernel/Makefile_642008-02-13 
> 11:36:14.0 +0100
> @@ -42,4 +42,6 @@ obj-$(CONFIG_PCI)   += early-quirks.o
>  obj-y+= topology.o
>  obj-y+= pcspeaker.o
>  
> -CFLAGS_vsyscall_64.o := $(PROFILING) -g0
> +CFLAGS_vsyscall_64.o := $(PROFILING) -g0 -fno-stack-protector
> +CFLAGS_hpet.o:= -fno-stack-protector
> +CFLAGS_tsc_64.o  := -fno-stack-protector

We should use:
nostackp := $(call cc-option, -fno-stack-protector)
+CFLAGS_vsyscall_64.o   := $(PROFILING) -g0 $(nostackp)
+CFLAGS_hpet.o  := $(nostackp)
+CFLAGS_tsc_64.o:= $(nostackp)

(or somthing similar)

because we cannot rely on that all gcc versions has support
for -fno-stack-protector

Sam
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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.25-rc1: volanoMark 45% regression

2008-02-13 Thread Zhang, Yanmin
On Wed, 2008-02-13 at 17:37 +0530, Srivatsa Vaddagiri wrote:
> On Wed, Feb 13, 2008 at 03:15:16PM +0530, Balbir Singh wrote:
> > Zhang, Yanmin wrote:
> > > volanoMark has 45% regression with kernel 2.6.25-rc1 on my both 8-core
> > > stoakley and 16-core Tigerton.
> > > 
> > > I used bisect to locate below patch.
> > > 
> > > commit 58e2d4ca581167c2a079f4ee02be2f0bc52e8729
> > > Author: Srivatsa Vaddagiri <[EMAIL PROTECTED]>
> > > Date:   Fri Jan 25 21:08:00 2008 +0100
> > > 
> > > sched: group scheduling, change how cpu load is calculated
> > > 
> > > 
> > > 
> > > hackbench has about 30% regression on 16-core tigerton, but has about 10% 
> > > improvement
> > > on 8-core stoakley.
> > > 
> > > In addition, tbench has about 6% regression on my 8-core stoakley and
> > > 25% regression on 16-core stoakley.
I verified tbench regression is not caused by the same patch. I am digging 
tbench now.

>  Some other benchmarks, like netperf/aim7
> > > also have some regression. I will verify if they are all related to the
> > > patch.
> > > 
> > > -yanmin
> > 
> > Hi, Yamin,
> > 
> > Thanks for reporting the issue? Any chance we could getthe Oprofile output 
> > for
> > the run?
I got oprofile data but it didn't show clear evidence.

When doing volanoMark testing, vmstat showed the good kernel's context switch
is about 110, but the bad kernel's context switch is 72. Good kernel's
idle is about 1%, and bad kernel's idle is about 5%.

>  The exact commandline and .config being used would also help.
I used some scripts to start volanoMark.

Netperf loop UDP-RR-1/512's 10% regression on 16-core tigerton is also related 
to the patch.
If I set CONFIG_FAIR_GROUP_SCHED=n, there is no the netperf regression. I bind 
the netserver
process to a core and bind the client to another core in another processor.

It's hard to debug into netperf regression if it's caused by scheduler.

> 
> Yamin,
>   I would also like to know against which previous version is this
> regression being compared with. Is it 2.6.24?
Yes.

>  Did you have
> CONFIG_FAIR_USER_SCHED enabled in both cases?
Yes.

CONFIG_FAIR_GROUP_SCHED=y
CONFIG_FAIR_USER_SCHED=y

>  It would also help to know if you
> see the same regression with FAIR_GROUP_SCHED turned off.
No regression if CONFIG_FAIR_GROUP_SCHED=n.

-yanmin



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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 -mm v4 6/9] atmel_serial: Split the interrupt handler

2008-02-13 Thread michael

Hi,
Remy Bohmer wrote:

Hello All,

  

All works now for me with preempt-rt. The problem is using hrtimer.
I think that hrtimer are executed with interrupts disabled so, if
this happen when I must receive a char, i have an overrun.



No, they share the same interrupt line...
  
I think that the hrtimer use and other interrupt line. The 
AT91SAM9260_ID_TC2.

So, while the timer interrupt handler is running, the serial handler
has to wait until the timer interrupt handler has finished.
Notice that the HRT interrupt handler is quite heavy and takes a long
time to complete.
  

The problem is the heavy of HRT interrupt handler of course.

And, as I already mentioned, related to the 1 byte FIFO and a
interrupt latency of about 85us (without HRT), it is logical that you
can get an overrun at the higher serial speeds... (>=115200bps)

  
I don't have the same problem without the hrtimer, I suppose the the 
timer latency

is not so heavy.

The only solution was the dma support to serial device.



Or, use flow control?


  

Yes :)

Michael

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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: vmsplice exploits, stack protector and Makefiles

2008-02-13 Thread Ingo Molnar

* Ingo Molnar <[EMAIL PROTECTED]> wrote:

> > was removed from arch/x86/kernel/process_64.c:__switch_to? that's 
> > the only reason i can think of that would trigger this trace.
> 
> I hand-ported your fixes [the patch was whitespace damaged] so i'm 
> quite sure i got every bit of it - but find it below for reference. I 
> think the percpu changes in .25 might have interfered somewhere. Will 
> investigate.

ok, Arjan found the bug: it was that idle threads didnt have their 
canary set up right.

[ note that this is still not complete because the initial idle thread
  still has a zero canary. But it at least boots now. ]

Ingo

->
Subject: x86: setup stack canary for the idle threads
From: Arjan van de Ven <[EMAIL PROTECTED]>

The idle threads for non-boot CPUs are a bit special in how they
are created; the result is that these don't have the stack canary
set up properly in their PDA. Easiest fix is to just always set
the PDA up correctly when entering the idle thread; this is a NOP
for the boot cpu.

Signed-off-by: Arjan van de Ven <[EMAIL PROTECTED]>
Signed-off-by: Ingo Molnar <[EMAIL PROTECTED]>
---
 arch/x86/kernel/process_64.c |9 +
 1 file changed, 9 insertions(+)

Index: linux-x86.q/arch/x86/kernel/process_64.c
===
--- linux-x86.q.orig/arch/x86/kernel/process_64.c
+++ linux-x86.q/arch/x86/kernel/process_64.c
@@ -166,6 +166,15 @@ static inline void play_dead(void)
 void cpu_idle(void)
 {
current_thread_info()->status |= TS_POLLING;
+
+#ifdef CONFIG_CC_STACKPROTECTOR
+   /*
+* If we're the non-boot CPU, nothing set the PDA stack
+* canary up for us. This is as good a place as any for
+* doing that.
+*/
+   write_pda(stack_canary, current->stack_canary);
+#endif
/* endless idle loop with no priority at all */
while (1) {
tick_nohz_stop_sched_tick();
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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] net: xfrm statistics depend on INET.

2008-02-13 Thread Paul Mundt
net/built-in.o: In function `xfrm_policy_init':
/home/pmundt/devel/git/sh-2.6.25/net/xfrm/xfrm_policy.c:2338: undefined 
reference to `snmp_mib_init'

snmp_mib_init() is only built in if CONFIG_INET is set.

Signed-off-by: Paul Mundt <[EMAIL PROTECTED]>

---

 net/xfrm/Kconfig |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/xfrm/Kconfig b/net/xfrm/Kconfig
index 8f9dbec..9201ef8 100644
--- a/net/xfrm/Kconfig
+++ b/net/xfrm/Kconfig
@@ -38,7 +38,7 @@ config XFRM_MIGRATE
 
 config XFRM_STATISTICS
bool "Transformation statistics (EXPERIMENTAL)"
-   depends on XFRM && PROC_FS && EXPERIMENTAL
+   depends on INET && XFRM && PROC_FS && EXPERIMENTAL
---help---
  This statistics is not a SNMP/MIB specification but shows
  statistics about transformation error (or almost error) factor
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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] markers: Fix build for MODULES=n.

2008-02-13 Thread Paul Mundt
  CC  kernel/marker.o
kernel/marker.c: In function 'marker_update_probes':
kernel/marker.c:627: error: too few arguments to function 
'module_update_markers'
make[1]: *** [kernel/marker.o] Error 1
make: *** [kernel] Error 2

module_update_markers() doesn't take any arguments, update the MODULES=n
version of it to reflect that.

Signed-off-by: Paul Mundt <[EMAIL PROTECTED]>

---

 include/linux/module.h |3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/include/linux/module.h b/include/linux/module.h
index 330bec0..819c4e8 100644
--- a/include/linux/module.h
+++ b/include/linux/module.h
@@ -567,8 +567,7 @@ static inline void print_modules(void)
 {
 }
 
-static inline void module_update_markers(struct module *probe_module,
-   int *refcount)
+static inline void module_update_markers(void)
 {
 }
 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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] media: tuner-xc2028 depends on FW_LOADER.

2008-02-13 Thread Paul Mundt
ERROR: "release_firmware" [drivers/media/video/tuner-xc2028.ko] undefined!
ERROR: "request_firmware" [drivers/media/video/tuner-xc2028.ko] undefined!

Signed-off-by: Paul Mundt <[EMAIL PROTECTED]>

---

 drivers/media/Kconfig |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/media/Kconfig b/drivers/media/Kconfig
index 8f4a453..cb0b3fb 100644
--- a/drivers/media/Kconfig
+++ b/drivers/media/Kconfig
@@ -93,7 +93,7 @@ if VIDEO_TUNER_CUSTOMIZE
 
 config TUNER_XC2028
tristate "XCeive xc2028/xc3028 tuners"
-   depends on I2C
+   depends on I2C && FW_LOADER
default m if VIDEO_TUNER_CUSTOMIZE
help
  Say Y here to include support for the xc2028/xc3028 tuners.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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 menuconfig for CONFIG_UIO

2008-02-13 Thread Hans-Jürgen Koch
Am Wed, 13 Feb 2008 23:28:19 +0100
schrieb Alessandro Guido <[EMAIL PROTECTED]>:

> Signed-off-by: Alessandro Guido <[EMAIL PROTECTED]>

Hi Alessandro,
thanks, but this was already done by Denis Cheng:

http://lkml.org/lkml/2008/2/2/60

I signed-off his patch, but AFAICS it hasn't been applied yet.
BTW, please CC Greg Kroah-Hartman as well if you send patches for UIO.

Thanks,
Hans

> 
> ---
> 
>  drivers/uio/Kconfig |8 ++--
>  1 files changed, 2 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/uio/Kconfig b/drivers/uio/Kconfig
> index b778ed7..dce4cae 100644
> --- a/drivers/uio/Kconfig
> +++ b/drivers/uio/Kconfig
> @@ -1,8 +1,6 @@
> -menu "Userspace I/O"
> - depends on !S390
> -
> -config UIO
> +menuconfig UIO
>   tristate "Userspace I/O drivers"
> + depends on !S390
>   default n
>   help
> Enable this to allow the userspace driver core code to be
> @@ -25,5 +23,3 @@ config UIO_CIF
>  
> To compile this driver as a module, choose M here: the
> module will be called uio_cif.
> -
> -endmenu
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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] spufs support multiple probes markers

2008-02-13 Thread Christoph Hellwig
On Tue, Feb 12, 2008 at 06:56:50PM -0500, Mathieu Desnoyers wrote:
> Update spufs to the new linux kernel markers API, which supports connecting
> more than one probe to a single marker.

Compiles and works for me.  But saying I like the odd API would be lying.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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] correct inconsistent ntp interval/tick_length usage

2008-02-13 Thread john stultz
On Tue, 2008-02-12 at 15:36 +0100, Roman Zippel wrote:
> On Mon, 11 Feb 2008, john stultz wrote:
> > This fine grained error accounting is where the bug I'm trying to
> > address is cropping up from. In order to have the comparison we need to
> > have two values:
> >  A: The clocksource's notion of how long the fixed interval is.
> >  B: NTP's notion of how long the fixed interval is.
> > 
> > When no NTP adjustment is being made, these two values should be equal,
> > but currently they are not. This is what causes the 280ppm error seen on
> > my test system.
> > 
> > Part A is calculated in the following fashion:
> > #define NTP_INTERVAL_LENGTH (NSEC_PER_SEC/NTP_INTERVAL_FREQ)
> > 
> > Which is then functionally shifted up by TICK_LENGTH_SHIFT, but for the
> > course of this discussion, lets ignore that.
> > 
> > Part B is calculated in ntp_update_frequency() as:
> > 
> > u64 second_length = (u64)(tick_usec * NSEC_PER_USEC * USER_HZ)
> > << TICK_LENGTH_SHIFT;
> > second_length += (s64)CLOCK_TICK_ADJUST << TICK_LENGTH_SHIFT;
> > second_length += (s64)time_freq << (TICK_LENGTH_SHIFT - SHIFT_NSEC);
> > 
> > tick_length_base = second_length;
> > do_div(tick_length_base, NTP_INTERVAL_FREQ);
> > 
> > 
> > If we're assuming there is no NTP adjustment, and avoiding the
> > TICK_LENGTH_SHIFT, this can be shorted to:
> > B = ((TICK_USEC * NSEC_PER_USEC * USER_HZ)
> > + CLOCK_TICK_ADJUST)/NTP_ITNERVAL_FREQ
> > 
> > 
> > The A vs B comparison can be shortened further to:
> > NSEC_PER_SEC != (TICK_USEC * NSEC_PER_USEC * USER_HZ)
> > + CLOCK_TICK_ADJUST
> > 
> > So now on to what seems to be the point of contention:
> > If A != B, which side do we fix?
> > 
> > 
> > My patches fix the A side so that it matches B, which on its face isn't
> > terribly complicated, but you seem to be suggesting we fix the B side
> > instead (Now I'm assuming here, because there's no patch. So I can only
> > speak to your emails, which were not clear to me).
> 
> If we go from your base assumption above "there is no NTP adjustment", I 
> would actually agree with you and it wouldn't matter much on which side 
> to correct the equation.
> 
> The question is now what happens, if there are NTP adjustments, i.e. when 
> the time_freq value isn't zero. Based on this initialization we tell the 
> NTP daemon the base frequency, although not directly but it knows the 
> length freq1 == 1 sec. If the clock now needs adjustment, the NTP daemon 
> tells the kernel via time_freq how to change the speed so that freq1 == 
> 1 sec + time_freq.
> 
> The problem is now that by using CLOCK_TICK_ADJUST we are cheating and we 
> don't tell the NTP daemon the real frequency. We define 1 sec as freq2 + 
> tick_adjust and with the NTP adjustment we have freq2 + tick_adj == 1 sec 
> + time_freq. Above initialization now calcalutes the base time length for 
> an update interval of freq2 / NTP_INTERVAL_FREQ, this means the requested 
> time_freq adjustment isn't applied to (freq2 + tick_adj) cycles but to 
> freq2 cycles, so this finally means any adjustment made by the NTP daemon 
> is slightly off.

Oh! So your issue is that since time_freq is stored in ppm, or in effect
a usecs per sec offset, when we add it to something other then 1 second
we mis-apply what NTP tells us to. Is that right?


> To demonstrate this let's look at some real values and let's use the PIT 
> for it (as this is where this originated and on which CLOCK_TICK_ADJUST is 
> based on). With freq1=1193182 and HZ=1000 we program the timer with 1193 
> cycles and the actual update frequency is freq2=1193000. To adjust for 
> this difference we change the length of a timer tick:
> 
>   (NSEC_PER_SEC + CLOCK_TICK_ADJUST) / NTP_INTERVAL_FREQ
> 
> or
> 
>   (10^9 nsec - 152533 nsec) / 1000
> 
> This way every 1000 interrupts or 1193000 cycles the clock is advanced by 
> 999847467 nsec, so that we advance time according to freq1, but any 
> further adjustments aren't applied to an interval of what the NTP daemon 
> thinks is 1 sec but 999847467 nsec instead.

Right, so if NTP has us apply a 10ppm adjustment, instead of doing:
NSEC_PER_SEC + 10,000

We're doing:
NSEC_PER_SEC + CLOCK_TICK_ADJUST + 10,000

Which, if I'm doing my math right, results in a 10.002ppm adjustment
(using the 999847467ns number above), instead of just a 10ppm
adjustment.

Now, true, this is an error, but it is a pretty small one. Even at the
maximum 500ppm value, it only results in an error of 76 parts per
billion. As you'll see below, that tends to be less error then what we
get from the clock granularity. Is there something else I'm missing here
or is this really the core issue you're concerned with?

If not, I'll agree that we may need to tune the "B" side of the
equation, but can we also agree that the very large error caused, even
without NTP adjustments, being involved by the A != B can be 

Re: [REGRESSION] 2.6.25-rc1 does not boot on Alpha

2008-02-13 Thread Bob Tracy
Ivan Kokshaysky wrote:
> On Wed, Feb 13, 2008 at 11:14:43AM -0600, Bob Tracy wrote:
> > Ivan Kokshaysky wrote:
> > > No SMP, no PRINTK_TIMESTAMPS in my case. Looks like it dies trying to
> > > to switch to vga console, but I had no time to debug this yet...
> > 
> > Same basic configuration as Ivan.  Concur with the observation that
> > death seems to happen during the console switch.  Using the radeonfb
> > driver (built-in, default graphics mode 80x30).
> 
> As Peter pointed out in other mail, this is fixed by
> 
> http://lkml.org/lkml/2008/1/28/100

Confirmed.  This fixes 2.6.25-rc1 for me.  I'm running on it as I type
this.

-- 

Bob Tracy  |  "I was a beta tester for dirt.  They never did
[EMAIL PROTECTED]   |   get all the bugs out." - Steve McGrew on /.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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: Module loading/unloading and "The Stop Machine"

2008-02-13 Thread Tejun Heo
Hello, Max.

Max Krasnyansky wrote:
> I was hopping you could answer a couple of questions about module 
> loading/unloading
> and the stop machine.
> There was a recent discussion on LKML about CPU isolation patches I'm working 
> on.
> One of the patches makes stop machine ignore the isolated CPUs. People of 
> course had
> questions about that. So I started looking into more details and got this 
> silly, crazy 
> idea that maybe we do not need the stop machine any more :)
> 
> As far as I can tell the stop machine is basically a safety net in case some 
> locking
> and recounting mechanisms aren't bullet proof. In other words if a subsystem 
> can actually
> handle registration/unregistration in a robust way, module loader/unloader 
> does not 
> necessarily have to halt entire machine in order to load/unload a module that 
> belongs
> to that subsystem. I may of course be completely wrong on that.

Nope, it's integral part of module reference counting.  When using
refcnt for object lifetime management, the last put should be atomic
against initial get of the object.  This is usually achieved by
acquiring the lock used for object lookup before putting or using
atomic_dec_and_lock().

For module reference counts, this means that try_module_get() and
try_stop_module() should be atomic.  Note that modules don't use simple
refcnt so the latter part isn't module_put() but the analogy still
works.  There are two ways to synchronize try_module_get() against
try_stop_module() - the traditional is to grab lock in try_module_get()
and use atomic_dec_and_lock() in try_stop_module(), which works but
performance-wise bad because try_module_get() is used way much more than
try_stop_module() is.  For example, an IO command can go through several
try_module_get()'s.

So, all the burden of synchronization is put onto try_stop_module().
Because all of the cpus on the machine are stopped and none of them has
been stopped in the middle of non-preemptible code, __try_stop_module()
is synchronized from try_module_get() even though all the
synchronization try_module_get() does is get_cpu().

> The problem with the stop machine is that it's a very very big gun :). In a 
> sense that 
> it totally kills all the latencies and stuff since the entire machine gets 
> halted while
> module is being (un)loaded. Which is a major issue for any realtime apps. 
> Specifically 
> for CPU isolation the issue is that high-priority rt user-space thread 
> prevents stop 
> machine threads from running and entire box just hangs waiting for it. 
> I'm kind of surprised that folks who use monster boxes with over 100 CPUs 
> have not 
> complained. It's must be a huge hit for those machines to halt the entire 
> thing. 
> 
> It seems that over the last few years most subsystems got much better at 
> locking and 
> refcounting. And I'm hopping that we can avoid halting the entire machine 
> these days.
> For CPU isolation in particular the solution is simple. We can just ignore 
> isolated CPUs. 
> What I'm trying to figure out is how safe it is and whether we can avoid full 
> halt 
> altogether.

Without the stop_machine call, there's no synchronization between
initial get and final put.  Things will break.

Thanks.

-- 
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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] sysv: [bl]e*_add_cpu conversion

2008-02-13 Thread Christoph Hellwig
On Wed, Feb 13, 2008 at 12:06:21AM +0100, [EMAIL PROTECTED] wrote:
> From: Marcin Slusarz <[EMAIL PROTECTED]>
> 
> replace all:
> big/little_endian_variable = 
> cpu_to_[bl]eX([bl]eX_to_cpu(big/little_endian_variable) +
>   expression_in_cpu_byteorder);
> with:
>   [bl]eX_add_cpu(/little_endian_variable, 
> expression_in_cpu_byteorder);
> generated with semantic patch

The patch looks correct to me, so ACK.

> diff --git a/fs/sysv/sysv.h b/fs/sysv/sysv.h
> index 42d51d1..38ebe3f 100644
> --- a/fs/sysv/sysv.h
> +++ b/fs/sysv/sysv.h
> @@ -217,9 +217,9 @@ static inline __fs32 fs32_add(struct sysv_sb_info *sbi, 
> __fs32 *n, int d)
>   if (sbi->s_bytesex == BYTESEX_PDP)
>   *(__u32*)n = PDP_swab(PDP_swab(*(__u32*)n)+d);
>   else if (sbi->s_bytesex == BYTESEX_LE)
> - *(__le32*)n = cpu_to_le32(le32_to_cpu(*(__le32*)n)+d);
> + le32_add_cpu((__le32 *)n, d);
>   else
> - *(__be32*)n = cpu_to_be32(be32_to_cpu(*(__be32*)n)+d);
> + be32_add_cpu((__be32 *)n, d);
>   return *n;

but now that you've named the be and le primitives *_add_cpu it would
be nice if you could submit a second patch to sysv to rename fs*_add
to fs*_add_cpu aswell.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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: [BUGFIX 2/2] gdth: bugfix for the Timer at exit crash

2008-02-13 Thread Christoph Hellwig
On Wed, Feb 13, 2008 at 11:03:45AM -0600, James Bottomley wrote:
> > I don't understand please explain. 
> > What does a driver need to do if it needs a consistent shutdown retine?
> > module or built in? unload or shutdown?
> 
> It needs to register a reboot notifier, which gdth does.

Well, for crappy legacy driver that's the way, but it's not really
recommended.  As soon as a driver uses the proper driver models,
e.g. gdth for pci using Jeff's pci hotplug patches it can just
implement the ->shutdown method that is called before shutdown/kexec
and can do the right thing.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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.25-rc1 panics on boot

2008-02-13 Thread Dhaval Giani
On Thu, Feb 14, 2008 at 12:06:31PM +0530, Dhaval Giani wrote:
> On Wed, Feb 13, 2008 at 10:32:02PM -0800, Yinghai Lu wrote:
> > On Wed, Feb 13, 2008 at 10:20 PM, Dhaval Giani
> > <[EMAIL PROTECTED]> wrote:
> > > On Wed, Feb 13, 2008 at 01:08:42PM -0500, Chris Snook wrote:
> > >  > Dhaval Giani wrote:
> > >  >> I am getting the following oops on bootup on 2.6.25-rc1
> > >  > ...
> > >  >> I am booting using kexec with maxcpus=1. It does not have any problems
> > >  >> with maxcpus=2 or higher.
> > >  >
> > >  > Sounds like another (the same?) kexec cpu numbering bug.  Can you 
> > > post/link
> > >  > the entire dmesg from both a cold boot and a kexec boot so we can 
> > > compare?
> > >  >
> > >
> > >  Don't think its a kexec bug. Get the same on cold boot. dmesg from kexec 
> > > boot.
> > 
> > how about without "[EMAIL PROTECTED] nmi_watchdog=2"
> > 
> > also does intel cpu support nmi_watchdog=2?
> > 
> 
> Yes it does. I've used it to get some useful debug information. I will try
> that out.
> 

Panics at same point.

-- 
regards,
Dhaval
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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.25-rc1 panics on boot

2008-02-13 Thread Dhaval Giani
On Wed, Feb 13, 2008 at 10:32:02PM -0800, Yinghai Lu wrote:
> On Wed, Feb 13, 2008 at 10:20 PM, Dhaval Giani
> <[EMAIL PROTECTED]> wrote:
> > On Wed, Feb 13, 2008 at 01:08:42PM -0500, Chris Snook wrote:
> >  > Dhaval Giani wrote:
> >  >> I am getting the following oops on bootup on 2.6.25-rc1
> >  > ...
> >  >> I am booting using kexec with maxcpus=1. It does not have any problems
> >  >> with maxcpus=2 or higher.
> >  >
> >  > Sounds like another (the same?) kexec cpu numbering bug.  Can you 
> > post/link
> >  > the entire dmesg from both a cold boot and a kexec boot so we can 
> > compare?
> >  >
> >
> >  Don't think its a kexec bug. Get the same on cold boot. dmesg from kexec 
> > boot.
> 
> how about without "[EMAIL PROTECTED] nmi_watchdog=2"
> 
> also does intel cpu support nmi_watchdog=2?
> 

Yes it does. I've used it to get some useful debug information. I will try
that out.

> YH

-- 
regards,
Dhaval
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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.25-rc1 panics on boot

2008-02-13 Thread Yinghai Lu
On Wed, Feb 13, 2008 at 10:20 PM, Dhaval Giani
<[EMAIL PROTECTED]> wrote:
> On Wed, Feb 13, 2008 at 01:08:42PM -0500, Chris Snook wrote:
>  > Dhaval Giani wrote:
>  >> I am getting the following oops on bootup on 2.6.25-rc1
>  > ...
>  >> I am booting using kexec with maxcpus=1. It does not have any problems
>  >> with maxcpus=2 or higher.
>  >
>  > Sounds like another (the same?) kexec cpu numbering bug.  Can you post/link
>  > the entire dmesg from both a cold boot and a kexec boot so we can compare?
>  >
>
>  Don't think its a kexec bug. Get the same on cold boot. dmesg from kexec 
> boot.

how about without "[EMAIL PROTECTED] nmi_watchdog=2"

also does intel cpu support nmi_watchdog=2?

YH
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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] ide-floppy: merge callbacks

2008-02-13 Thread Borislav Petkov
On Wed, Feb 13, 2008 at 11:04:23PM +0100, Bartlomiej Zolnierkiewicz wrote:
> On Wednesday 13 February 2008, Borislav Petkov wrote:
> > commit d1f1f84f413ab00cb2fec48170d022fcd900e214
> > Author: Borislav Petkov <[EMAIL PROTECTED]>
> > Date:   Wed Feb 13 20:26:56 2008 +0100
> > 
> > ide-floppy: merge callbacks
> > 
> > The appropriate functionality of the callback is established through 
> > querying
> > the ATAPI packet command in pc->c[0].
> > 
> > While at it, simplify if (floppy->failed_pc)-branch to be found in the 
> > original
> > idefloppy_request_sense_callback().
> > 
> > Signed-off-by: Borislav Petkov <[EMAIL PROTECTED]>
> > 
> > diff --git a/drivers/ide/ide-floppy.c b/drivers/ide/ide-floppy.c
> > index 5f133df..1365310 100644
> > --- a/drivers/ide/ide-floppy.c
> > +++ b/drivers/ide/ide-floppy.c
> > @@ -313,50 +313,39 @@ static struct request 
> > *idefloppy_next_rq_storage(ide_drive_t *drive)
> > return (>rq_stack[floppy->rq_stack_index++]);
> >  }
> >  
> > -static void idefloppy_request_sense_callback(ide_drive_t *drive)
> > +static void ide_floppy_callback(ide_drive_t *drive)
> >  {
> > idefloppy_floppy_t *floppy = drive->driver_data;
> > -   u8 *buf = floppy->pc->buf;
> >  
> > debug_log("Reached %s\n", __func__);
> >  
> > -   if (!floppy->pc->error) {
> > -   floppy->sense_key = buf[2] & 0x0F;
> > -   floppy->asc = buf[12];
> > -   floppy->ascq = buf[13];
> > -   floppy->progress_indication = buf[15] & 0x80 ?
> > -   (u16)get_unaligned((u16 *)[16]) : 0x1;
> > +   if (floppy->pc->c[0] == GPCMD_REQUEST_SENSE) {
> > +   u8 *buf = floppy->pc->buf;
> >  
> > -   if (floppy->failed_pc)
> > -   debug_log("pc = %x, sense key = %x, asc = %x,"
> > -   " ascq = %x\n",
> > -   floppy->failed_pc->c[0],
> > -   floppy->sense_key,
> > -   floppy->asc,
> > -   floppy->ascq);
> > -   else
> > -   debug_log("sense key = %x, asc = %x, ascq = %x\n",
> > -   floppy->sense_key,
> > -   floppy->asc,
> > -   floppy->ascq);
> > -
> > -
> > -   idefloppy_end_request(drive, 1, 0);
> > -   } else {
> > -   printk(KERN_ERR "Error in REQUEST SENSE itself - Aborting"
> > -   " request!\n");
> > -   idefloppy_end_request(drive, 0, 0);
> > -   }
> > -}
> > +   if (!floppy->pc->error) {
> > +   floppy->sense_key = buf[2] & 0x0F;
> > +   floppy->asc = buf[12];
> > +   floppy->ascq = buf[13];
> > +   floppy->progress_indication = buf[15] & 0x80 ?
> > +   (u16)get_unaligned((u16 *)[16]) : 0x1;
> >  
> > -/* General packet command callback function. */
> > -static void idefloppy_pc_callback(ide_drive_t *drive)
> > -{
> > -   idefloppy_floppy_t *floppy = drive->driver_data;
> > +   if (floppy->failed_pc)
> > +   debug_log("pc = %x, ", floppy->failed_pc->c[0]);
> >  
> > -   debug_log("Reached %s\n", __func__);
> > +   debug_log("sense key = %x, asc = %x, ascq = %x\n",
> > +   floppy->sense_key, floppy->asc, floppy->ascq);
> >  
> > -   idefloppy_end_request(drive, floppy->pc->error ? 0 : 1, 0);
> > +   idefloppy_end_request(drive, 1, 0);
> > +   } else {
> > +   printk(KERN_ERR "Error in REQUEST SENSE itself - "
> > +   "Aborting request!\n");
> > +   idefloppy_end_request(drive, 0, 0);
> > +   }
> > +   } else if (floppy->pc->c[0] == GPCMD_READ_10 ||
> > +   floppy->pc->c[0] == GPCMD_WRITE_10)
> > +   idefloppy_end_request(drive, 1, 0);
> > +   else
> > +   idefloppy_end_request(drive, floppy->pc->error ? 0 : 1, 0);
> >  }
> >  
> >  static void idefloppy_init_pc(struct ide_atapi_pc *pc)
> > @@ -367,7 +356,7 @@ static void idefloppy_init_pc(struct ide_atapi_pc *pc)
> > pc->req_xfer = 0;
> > pc->buf = pc->pc_buf;
> > pc->buf_size = IDEFLOPPY_PC_BUFFER_SIZE;
> > -   pc->idefloppy_callback = _pc_callback;
> > +   pc->idefloppy_callback = _floppy_callback;
> >  }
> >  
> >  static void idefloppy_create_request_sense_cmd(struct ide_atapi_pc *pc)
> > @@ -376,7 +365,6 @@ static void idefloppy_create_request_sense_cmd(struct 
> > ide_atapi_pc *pc)
> > pc->c[0] = GPCMD_REQUEST_SENSE;
> > pc->c[4] = 255;
> > pc->req_xfer = 18;
> > -   pc->idefloppy_callback = _request_sense_callback;
> >  }
> >  
> >  /*
> > @@ -697,14 +685,6 @@ static ide_startstop_t idefloppy_issue_pc(ide_drive_t 
> > *drive,
> > }
> >  }
> >  
> > -static void idefloppy_rw_callback(ide_drive_t 

Re: [RFC PATCH] PCI: remove initial bios sort of PCI devices on x86

2008-02-13 Thread Greg KH
On Wed, Feb 13, 2008 at 11:07:53PM -0600, Matt Domsch wrote:
> On Wed, Feb 13, 2008 at 03:40:29PM -0800, Greg KH wrote:
> 
> Good plan.  I'll be glad when the vestigal internal PCI device list is
> gone too.

With this patch, it's the last major step, I have a series of follow-up
patches that will remove it entirely.  I'll post them when they've been
tested better.

thanks,

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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: IDE cdrom problem with PLEXTOR DVDR PX-608AL

2008-02-13 Thread Borislav Petkov
On Thu, Feb 14, 2008 at 12:37:50AM +0100, Hans-Peter Jansen wrote:

[Added Bart to CC]

> Am Dienstag, 12. Februar 2008 schrieb Borislav Petkov:
> > On Tue, Feb 12, 2008 at 10:26:17AM +0100, Hans-Peter Jansen wrote:
> > > Hi,
> > >
> > > I suffer from unreliable cdrom operations (failing DAE and burn
> > > sessions) with the openSUSE 2.6.18.8-0.7-bigsmp kernel.
> >
> > 
> > Hi,
> >
> > can please you test this with a more recent kernel. Yours is almost
> > ancient - from Sep. 2006.
> 
> Sure, sorry. Here we go:
> 
> Feb 14 00:18:18 kernel: hde: cdrom_pc_intr: The drive appears confused 
> (ireason = 0x01).
>  Trying to recover by ending request.
> Feb 14 00:27:27 kernel: hdc: cdrom_pc_intr: The drive appears confused 
> (ireason = 0x01). 
>  Trying to recover by ending request.
> 
> ~> uname -a
> Linux xrated 2.6.24.1-35-pae #1 SMP 2008/02/12 01:00:18 UTC i686 athlon i386 
> GNU/Linux

Actually the interrupt handler in ide-cd got rewritten and you're still using 
the
old one (cdrom_pc_intr vs cdrom_newpc_intr). Those changes went into mainline 
before
the 2.6.25-rc1 so we'll be able to test the new one only when you try out 
2.6.25-rc1
or wait until 2.6.25 is released in case you don't want to try hazardous 
materials
such as an -rc kernel[*] :).

Bart?

*. As a matter of fact it runs quite smoothly on my machines.

-- 
Regards/Gruß,
Boris.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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.25-rc1 panics on boot

2008-02-13 Thread Dhaval Giani
On Wed, Feb 13, 2008 at 01:08:42PM -0500, Chris Snook wrote:
> Dhaval Giani wrote:
>> I am getting the following oops on bootup on 2.6.25-rc1
> ...
>> I am booting using kexec with maxcpus=1. It does not have any problems
>> with maxcpus=2 or higher.
>
> Sounds like another (the same?) kexec cpu numbering bug.  Can you post/link 
> the entire dmesg from both a cold boot and a kexec boot so we can compare?
>

Don't think its a kexec bug. Get the same on cold boot. dmesg from kexec boot.

[0.00] Linux version 2.6.25-rc1 ([EMAIL PROTECTED]) (gcc version 3.4.4 
20050721 (Red Hat 3.4.4-2)) #5 SMP Thu Feb 14 06:46:02 IST 2008
[0.00] BIOS-provided physical RAM map:
[0.00]  BIOS-e820: 0100 - 0009dc00 (usable)
[0.00]  BIOS-e820: 0009dc00 - 000a (reserved)
[0.00]  BIOS-e820: 0010 - e97f5f00 (usable)
[0.00]  BIOS-e820: e97f5f00 - e97ff800 (ACPI data)
[0.00]  BIOS-e820: e97ff800 - e980 (reserved)
[0.00]  BIOS-e820: fec0 - 0001 (reserved)
[0.00]  BIOS-e820: 0001 - 00014000 (usable)
[0.00] 4224MB HIGHMEM available.
[0.00] 896MB LOWMEM available.
[0.00] Scan SMP from c000 for 1024 bytes.
[0.00] Scan SMP from c009fc00 for 1024 bytes.
[0.00] Scan SMP from c00f for 65536 bytes.
[0.00] Scan SMP from c009dc00 for 1024 bytes.
[0.00] found SMP MP-table at [c009dd40] 0009dd40
[0.00] Reserving 64MB of memory at 16MB for crashkernel (System RAM: 
5111MB)
[0.00] Zone PFN ranges:
[0.00]   DMA 0 -> 4096
[0.00]   Normal   4096 ->   229376
[0.00]   HighMem229376 ->  1310720
[0.00] Movable zone start PFN for each node
[0.00] early_node_map[1] active PFN ranges
[0.00] 0:0 ->  1310720
[0.00] DMI 2.3 present.
[0.00] Using APIC driver default
[0.00] ACPI: RSDP 000FDD90, 0014 (r0 IBM   )
[0.00] ACPI: RSDT E97FF780, 0030 (r1 IBMSERONYXP 1000 IBM  
45444F43)
[0.00] ACPI: FACP E97FF700, 0074 (r1 IBMSERONYXP 1000 IBM  
45444F43)
[0.00] ACPI: DSDT E97F5F00, 962E (r1 IBMSERAVATR 1000 MSFT  
10B)
[0.00] ACPI: FACS E97FF5C0, 0040
[0.00] ACPI: APIC E97FF600, 00CA (r1 IBMSERONYXP 1000 IBM  
45444F43)
[0.00] ACPI: ASF! E97FF540, 004B (r16 IBMSERONYXP1 IBM  
45444F43)
[0.00] ACPI: PM-Timer IO Port: 0x488
[0.00] ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
[0.00] Processor #0 15:2 APIC version 20
[0.00] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x02] enabled)
[0.00] Processor #2 15:2 APIC version 20
[0.00] WARNING: maxcpus limit of 1 reached. Processor ignored.
[0.00] ACPI: LAPIC (acpi_id[0x02] lapic_id[0x04] enabled)
[0.00] Processor #4 15:2 APIC version 20
[0.00] WARNING: maxcpus limit of 1 reached. Processor ignored.
[0.00] ACPI: LAPIC (acpi_id[0x03] lapic_id[0x06] enabled)
[0.00] Processor #6 15:2 APIC version 20
[0.00] WARNING: maxcpus limit of 1 reached. Processor ignored.
[0.00] ACPI: LAPIC (acpi_id[0x04] lapic_id[0x01] enabled)
[0.00] Processor #1 15:2 APIC version 20
[0.00] WARNING: maxcpus limit of 1 reached. Processor ignored.
[0.00] ACPI: LAPIC (acpi_id[0x05] lapic_id[0x03] enabled)
[0.00] Processor #3 15:2 APIC version 20
[0.00] WARNING: maxcpus limit of 1 reached. Processor ignored.
[0.00] ACPI: LAPIC (acpi_id[0x06] lapic_id[0x05] enabled)
[0.00] Processor #5 15:2 APIC version 20
[0.00] WARNING: maxcpus limit of 1 reached. Processor ignored.
[0.00] ACPI: LAPIC (acpi_id[0x07] lapic_id[0x07] enabled)
[0.00] Processor #7 15:2 APIC version 20
[0.00] WARNING: maxcpus limit of 1 reached. Processor ignored.
[0.00] ACPI: LAPIC_NMI (acpi_id[0x00] dfl dfl lint[0x1])
[0.00] ACPI: LAPIC_NMI (acpi_id[0x02] dfl dfl lint[0x1])
[0.00] ACPI: LAPIC_NMI (acpi_id[0x04] dfl dfl lint[0x1])
[0.00] ACPI: LAPIC_NMI (acpi_id[0x06] dfl dfl lint[0x1])
[0.00] ACPI: LAPIC_NMI (acpi_id[0x01] dfl dfl lint[0x1])
[0.00] ACPI: LAPIC_NMI (acpi_id[0x03] dfl dfl lint[0x1])
[0.00] ACPI: LAPIC_NMI (acpi_id[0x05] dfl dfl lint[0x1])
[0.00] ACPI: LAPIC_NMI (acpi_id[0x07] dfl dfl lint[0x1])
[0.00] ACPI: IOAPIC (id[0x0e] address[0xfec0] gsi_base[0])
[0.00] IOAPIC[0]: apic_id 14, version 17, address 0xfec0, GSI 0-15
[0.00] ACPI: IOAPIC (id[0x0d] address[0xfec01000] gsi_base[16])
[0.00] IOAPIC[1]: apic_id 13, version 17, address 0xfec01000, GSI 16-31
[0.00] ACPI: IOAPIC (id[0x0c] address[0xfec02000] gsi_base[32])
[0.00] IOAPIC[2]: apic_id 12, version 17, address 0xfec02000, GSI 32-47
[

Re: [PATCH 2/2] tc1100-wmi - Fail gracefully if ACPI is disabled

2008-02-13 Thread Len Brown
never mind -- linus fixed this in a more elegant way.

-len

On Thursday 14 February 2008 01:11, Len Brown wrote:
> applied.
> 
> thanks,
> -len
> 
> On Monday 11 February 2008 14:55, Carlos Corbacho wrote:
> > tc1100-wmi - Fail gracefully if ACPI is disabled
> > 
> > From: Carlos Corbacho <[EMAIL PROTECTED]>
> > 
> > WMI drivers, like their ACPI counterparts, should also check if ACPI is
> > disabled or not, and bail out if so, otherwise we cause a crash.
> > 
> > Spotted by Ingo Molnar.
> > 
> > Signed-off-by: Carlos Corbacho <[EMAIL PROTECTED]>
> > CC: Ingo Molnar <[EMAIL PROTECTED]>
> > CC: Linus Torvalds <[EMAIL PROTECTED]>
> > CC: Andrew Morton <[EMAIL PROTECTED]>
> > CC: Len Brown <[EMAIL PROTECTED]>
> > ---
> > 
> >  drivers/misc/tc1100-wmi.c |3 +++
> >  1 files changed, 3 insertions(+), 0 deletions(-)
> > 
> > 
> > diff --git a/drivers/misc/tc1100-wmi.c b/drivers/misc/tc1100-wmi.c
> > index f25e4c9..cb8f79f 100644
> > --- a/drivers/misc/tc1100-wmi.c
> > +++ b/drivers/misc/tc1100-wmi.c
> > @@ -263,6 +263,9 @@ static int __init tc1100_init(void)
> >  {
> > int result = 0;
> >  
> > +   if (acpi_disabled)
> > +   return -ENODEV;
> > +
> > if (!wmi_has_guid(GUID))
> > return -ENODEV;
> >  
> > 
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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: vmsplice exploits, stack protector and Makefiles

2008-02-13 Thread Ingo Molnar

* [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:

> > hm, had to pull it again because it crashed in testing:
> 
> i've only tested .24, not .25 so maybe something changed. did you make 
> sure that
> 
>   write_pda(stack_canary, next_p->stack_canary);
> 
> was removed from arch/x86/kernel/process_64.c:__switch_to? that's the 
> only reason i can think of that would trigger this trace.

I hand-ported your fixes [the patch was whitespace damaged] so i'm quite 
sure i got every bit of it - but find it below for reference. I think 
the percpu changes in .25 might have interfered somewhere. Will 
investigate.

Ingo

--->
Subject: x86: fix stack protector and Makefiles
From: [EMAIL PROTECTED]
Date: Wed, 13 Feb 2008 15:38:45 +0200

there're so many problems with ssp here and in general.

1. despite the nice analysis in LWN, it unfortunately stopped half way where
   Jon declared that:

 And this turns the failure to read-verify the source array into a buffer
 overflow vulnerability within the kernel. Once that is in place, it is a
 relatively straightforward exercise for any suitably 31337 hacker to
 cause the kernel to jump into the code of his or her choice. Game over.

   fact of the matter is, it's far from game over at this point. and that's
   because despite all appearances, this is far from your run-of-the-mill
   stack buffer overflow. in particular, the overflow does *not* rely on
   overwriting any saved return address on the stack.

   the trickery with the fake compound page set up should have been a sign
   that something else is going on here and the lesson ain't over until you
   understand that part as well.

2. so why isn't this exploit about an overflowed return address? because
   before any potentially overflowed return address would be dereferenced,
   the kernel will attempt to release the page refcounts it acquired in
   get_user_pages (check splice_to_pipe, called from vmsplice_to_pipe
   where the overflowed buffer is). normally that wouldn't be a problem
   since even though the pages[PIPE_BUFFERS] array was overflowed, it was
   overflowed with valid struct page pointers, so releasing them should
   be fine. except there's a trick in the exploit that will cause a userland
   controlled struct page pointer to be released as well at which point
   the exploit takes matters into its own hands:

   previous to calling vmsplice, the exploit has prepared a specially
   constructed struct page array to fake a compound page. the point in
   using a compound page is that such a page has a destructor (read:
   function pointer) which is now under the direct control of the exploit
   and will result in ring-0 code execution of exploit code. *this* is
   the point where it becomes a trivial exercise to escalate privileges.

3. what's ssp got to do with all this? Arjan would have you believe that
   it would have caught this exploit in action, preventing the privilege
   escalation. nothing could be further from the truth though.

   for one if ssp were to kick into action, it could at most be at the
   time vmsplice_to_pipe returns. except it doesn't as explained above.

   but imagine for a second that vmsplice_to_pipe does return. would ssp
   detect anything? at least gentoo's gcc 4.2.2 doesn't at all instrument
   vmsplice_to_pipe with -fstack-protector, so no dice.

   let's go further and imagine we enable CONFIG_CC_STACKPROTECTOR_ALL
   (which in turn makes gcc use -fstack-protector-all). this will now
   properly instrument vmsplice_to_pipe. problem is, such a kernel doesn't
   boot. probably noone has ever tried it (why does it have a config option?).
   the fix isn't trivial and possibly incomplete, see the patches at the end.

   finally just imagine that ssp somehow caught this or another exploit in
   action. what will we learn about it? nothing. that's right, due to bad
   decisions made by certain developers (both gcc and kernel),__stack_chk_fail
   doesn't get passed any extra info (unlike Etoh's original ssp), nor does
   the kernel's version produce any actually useful output that, pray tell,
   could help identify the attacked function. instead it just panic's. a truly
   useful experience.

   it also bears a note here that the way ssp is currently implemented in
   the kernel is quite useless, a per-task static cookie is trivial to learn
   in a kernel info-leak exploit that in turn can be built into the actual
   attack payload to bypass any detection (a case that ssp was designed to
   protect against, this particular bug/exploit doesn't give direct control
   over the overflow content, hence even the current cookie method would have
   been fine, were it not irrelevant for reasons explained above).

[...]
> It would have made this exploit not possible for those kernels that
> enable this feature (and that includes distros like Fedora)

sadly for all those users living in a false sense of security, this has
never been true. but long live 

Re: vmsplice exploits, stack protector and Makefiles

2008-02-13 Thread Ingo Molnar

* Sam Ravnborg <[EMAIL PROTECTED]> wrote:

> > > if you're merging this, please do the independent parts really 
> > > independenrly. For example, the above is a patch in its own right, 
> > > and probably worth doing regardless of anything else.
> > 
> > yes. I wanted to have it tested for a bit, because the lack of use 
> > of the gcc flag means complete lack of testing coverage. The 
> > obligatory "please add a stackprotector self-test" debug feature 
> > request went to Arjan two days ago already.
> 
> Do you think that the top-lvel Makefile change is OK to merge? I would 
> like to merge it separatly to have maximum bisectability.

sure.

Acked-by: Ingo Molnar <[EMAIL PROTECTED]>

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: [PATCH 2/2] tc1100-wmi - Fail gracefully if ACPI is disabled

2008-02-13 Thread Len Brown
applied.

thanks,
-len

On Monday 11 February 2008 14:55, Carlos Corbacho wrote:
> tc1100-wmi - Fail gracefully if ACPI is disabled
> 
> From: Carlos Corbacho <[EMAIL PROTECTED]>
> 
> WMI drivers, like their ACPI counterparts, should also check if ACPI is
> disabled or not, and bail out if so, otherwise we cause a crash.
> 
> Spotted by Ingo Molnar.
> 
> Signed-off-by: Carlos Corbacho <[EMAIL PROTECTED]>
> CC: Ingo Molnar <[EMAIL PROTECTED]>
> CC: Linus Torvalds <[EMAIL PROTECTED]>
> CC: Andrew Morton <[EMAIL PROTECTED]>
> CC: Len Brown <[EMAIL PROTECTED]>
> ---
> 
>  drivers/misc/tc1100-wmi.c |3 +++
>  1 files changed, 3 insertions(+), 0 deletions(-)
> 
> 
> diff --git a/drivers/misc/tc1100-wmi.c b/drivers/misc/tc1100-wmi.c
> index f25e4c9..cb8f79f 100644
> --- a/drivers/misc/tc1100-wmi.c
> +++ b/drivers/misc/tc1100-wmi.c
> @@ -263,6 +263,9 @@ static int __init tc1100_init(void)
>  {
>   int result = 0;
>  
> + if (acpi_disabled)
> + return -ENODEV;
> +
>   if (!wmi_has_guid(GUID))
>   return -ENODEV;
>  
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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: Latency issues with x86.git

2008-02-13 Thread Ingo Molnar

* Kevin Winchester <[EMAIL PROTECTED]> wrote:

> Hi Ingo,
> 
> I have encountered (a handful of times in the past few months) some 
> real interactivity problems on my system.  Moving the mouse or typing 
> a key on the keyboard takes around a second to show any response.  
> Once I perform a reboot, the problem is gone again.  I am currently 
> running x86.git mm branch, but I switch between that branch, mainline 
> git, and mm kernels, so I cannot guarantee on which trees I have or 
> have not seen the problem.

please try sched-devel.git, which has both the latest scheduler fixes, 
and also the new "ftrace" latency tracing framework that can be used to 
trace various latency problems. You can pick up sched-devel.git via:

   http://people.redhat.com/mingo/sched-devel.git/README

firstly, there's a chance that sched-devel.git solves the problem - in 
that case please report it.

if it doesnt, then you can trace various latencies via these:

 CONFIG_FTRACE=y
 CONFIG_IRQSOFF_TRACER=y
 CONFIG_SCHED_TRACER=y
 CONFIG_CONTEXT_SWITCH_TRACER=y
 CONFIG_DYNAMIC_FTRACE=y

just enable them, boot into the new kernel and mount debugfs:

   mount -t debugfs nodev /debug

and then you can select one of the tracers (that have been enabled in 
the .config) via /debug/tracing/* files. The usage of these files should 
be self-explaining - if any of them wasnt then please let us know and 
we'll make the "first quick glance experience" better :)

the one interesting to you would be the "wakeup" tracer. Enable it, and 
if you echo 0 into /debug/tracing/tracing_max_latency it starts tracking 
the worst-case delay experienced on your system and should start 
reporting them to the syslog.

if you encounter any problems during these steps then please let us know 
- this code is quite fresh so expect some rough edges.

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: [PATCH] Add MS_BIND_FLAGS mount flag

2008-02-13 Thread Christoph Hellwig
On Tue, Feb 12, 2008 at 09:45:15PM -0800, Paul Menage wrote:
> From: Paul Menage <[EMAIL PROTECTED]>
>
> Add a new mount() flag, MS_BIND_FLAGS.
>
> MS_BIND_FLAGS indicates that a bind mount should take its per-mount flags
> from the arguments passed to mount() rather than from the source
> mountpoint.
>
> This flag allows you to create a bind mount with the desired per-mount
> flags in a single operation, rather than having to do a bind mount
> followed by a remount, which is fiddly and can block for non-trivial
> periods of time (on sb->s_umount?).
>
> For recursive bind mounts, only the root of the tree being bound
> inherits the per-mount flags from the mount() arguments; sub-mounts
> inherit their per-mount flags from the source tree as usual.

I think this concept is reasonable, but I don't think MS_BIND_FLAGS
is a descriptive name for this flag.  MS_EXPLICIT_FLAGS might be better
but still isn't optimal.

> +static struct vfsmount *
> +__copy_tree(struct vfsmount *mnt, struct dentry *dentry,
> + int flag, int mnt_flags)

> +struct vfsmount *copy_tree(struct vfsmount *mnt, struct dentry *dentry,
> +int flag)
> +{
> + return __copy_tree(mnt, dentry, flag, mnt->mnt_flags);
> +}

Please just change copy_tree to have an additional parameter.  There's
just four callers of it in the tree, and three of them want the new
parameter.

> + /* Use the source mount flags unless the user passed MS_BIND_FLAGS */

I think this comment could be made a little more explicit.

/*
 * If MS_EXPLICIT_FLAGS is passed in we will take the paramters
 * the user has specified.  The default behaviour for bind
 * mounts is however to take the flags from existing mount
 * instances for the same superblock.
 */
 
> #define MS_RELATIME   (1<<21) /* Update atime relative to mtime/ctime. */
> #define MS_KERNMOUNT  (1<<22) /* this is a kern_mount call */
> #define MS_I_VERSION  (1<<23) /* Update inode I_version field */
> +#define MS_BIND_FLAGS(1<<24) /* For MS_BIND, take mnt_flags from
> +  * args, not from source mountpoint */
> #define MS_ACTIVE (1<<30)
> #define MS_NOUSER (1<<31)

this looks like whitespace damage to me.

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


[GIT PULL] sh updates for 2.6.25-rc2

2008-02-13 Thread Paul Mundt
Please pull from:

master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6.git

Which contains:

Adrian McMenamin (4):
  maple: fix up whitespace damage.
  maple: more robust device detection.
  maple: Drop unused prototypes from linux/maple.h.
  maple: improve detection of attached peripherals

Alan Cox (1):
  sh: termios ioctl definitions

Hideo Saito (1):
  sh: Fix multiple UTLB hit on UP SH-4.

Kristoffer Ericson (1):
  sh: Tidy include/asm-sh/hp6xx.h

Magnus Damm (18):
  sh: declared coherent memory support V2 fix
  sh: add sh7722 support to EARLY_SCIF_CONSOLE
  sh: add probe support for new sh7722 cut
  sh: break out unaligned sign extension code
  sh: migor board support
  sh: make copy_to/from_user() static inline
  sh: add byte support to the sign extension code
  sh: use opcode_t and enable unaligned code for sh2a
  sh: update r2d defconfigs with usb, spi and rtc
  sh: trapped io support V2
  sh: trapped io support for r2d V2
  sh: trapped io support for highlander V2
  sh: fix ptrace copy_from/to_user() compilation error
  sh: remove maskreg irq code
  sh: add support for sh7366 processor
  sh: use ctrl_in/out for on chip pci access
  sh: fix ioreadN_rep and iowriteN_rep
  sh: fix pci io access for r2d boards

Paul Mundt (19):
  sh: Wire up new timerfd syscalls.
  sh: Add mach-type entries for MigoR and SDK7780.
  sh: Use max_t in io_trapped.
  sh: Clean up whitespace damage in Kconfig.debug.
  sh: Symbol exports for trapped I/O.
  sh: Handle SH7366 CPU in check_bugs().
  sh: Disable big endian for SH-5.
  sh: Fix up pte_mkhuge() build breakage for SH-5.
  sh: Fix up set_fixmap_nocache() for SH-5.
  sh: Update SH-5 flush_cache_sigtramp() for API changes.
  sh: Shut up some trivial build warnings.
  sh: asm/tlb.h needs linux/pagemap.h for CONFIG_SWAP=n.
  sh: Kill off bogus SH_SDK7780_STANDALONE symbol.
  maple: Fix up maple build failure.
  sh: Get SH-5 caches working again post-unification.
  serial: sh-sci: Fix up SH-5 build.
  sh: asm/irq.h needs asm/cpu/irq.h.
  sh: __uncached_start only on sh32.
  sh: Kill off more dead symbols.

Peter Zijlstra (1):
  sh: fix xtime_lock deadlocking.

Stephen Rothwell (1):
  sh: remove unneeded cast

 arch/sh/Kconfig   |   19 +
 arch/sh/Kconfig.cpu   |4 +-
 arch/sh/Kconfig.debug |3 +-
 arch/sh/Makefile  |1 +
 arch/sh/boards/renesas/migor/Makefile |1 +
 arch/sh/boards/renesas/migor/setup.c  |   61 ++
 arch/sh/boards/renesas/r7780rp/setup.c|   47 +-
 arch/sh/boards/renesas/rts7751r2d/setup.c |   45 +-
 arch/sh/boards/renesas/sdk7780/Kconfig|7 -
 arch/sh/cchips/hd6446x/hd64465/setup.c|   47 +-
 arch/sh/configs/migor_defconfig   |  824 +++
 arch/sh/configs/rts7751r2d1_defconfig |  340 ---
 arch/sh/configs/rts7751r2dplus_defconfig  |  340 ---
 arch/sh/configs/se7705_defconfig  |1 -
 arch/sh/drivers/dma/dma-api.c |2 +-
 arch/sh/drivers/pci/fixups-lboxre2.c  |4 +-
 arch/sh/drivers/pci/fixups-rts7751r2d.c   |4 +-
 arch/sh/drivers/pci/ops-dreamcast.c   |   44 +-
 arch/sh/drivers/pci/ops-rts7751r2d.c  |3 +-
 arch/sh/drivers/pci/pci-sh4.h |4 +-
 arch/sh/drivers/pci/pci-sh7751.c  |   16 +-
 arch/sh/drivers/pci/pci-sh7780.c  |2 +-
 arch/sh/kernel/Makefile_32|1 +
 arch/sh/kernel/Makefile_64|1 +
 arch/sh/kernel/cpu/irq/Makefile   |1 -
 arch/sh/kernel/cpu/irq/intc-sh5.c |   27 +-
 arch/sh/kernel/cpu/irq/maskreg.c  |   93 ---
 arch/sh/kernel/cpu/sh4/probe.c|8 +-
 arch/sh/kernel/cpu/sh4a/Makefile  |2 +
 arch/sh/kernel/cpu/sh4a/clock-sh7722.c|   10 +-
 arch/sh/kernel/cpu/sh4a/setup-sh7366.c|  177 +
 arch/sh/kernel/cpu/sh5/probe.c|   61 +-
 arch/sh/kernel/io.c   |8 +-
 arch/sh/kernel/io_generic.c   |   24 +-
 arch/sh/kernel/io_trapped.c   |  276 
 arch/sh/kernel/irq.c  |3 -
 arch/sh/kernel/process_64.c   |9 +-
 arch/sh/kernel/ptrace_32.c|4 +-
 arch/sh/kernel/setup.c|2 +-
 arch/sh/kernel/syscalls_32.S  |4 +-
 arch/sh/kernel/syscalls_64.S  |4 +-
 arch/sh/kernel/time_32.c  |   19 +-
 arch/sh/kernel/time_64.c  |   31 +-
 arch/sh/kernel/timers/timer-mtu2.c|1 -
 arch/sh/kernel/traps_32.c |  164 +++---
 arch/sh/kernel/traps_64.c |4 +-
 arch/sh/kernel/vmlinux_64.lds.S   |2 +-
 arch/sh/mm/cache-sh5.c| 1019 -
 

Re: [2.6 patch] make secmark_tg_destroy() static

2008-02-13 Thread David Miller
From: James Morris <[EMAIL PROTECTED]>
Date: Thu, 14 Feb 2008 10:41:19 +1100 (EST)

> On Wed, 13 Feb 2008, Paul Moore wrote:
> 
> > On Wednesday 13 February 2008 4:29:40 pm Adrian Bunk wrote:
> > > This patch makes the needlessly global secmark_tg_destroy() static.
> > >
> > > Signed-off-by: Adrian Bunk <[EMAIL PROTECTED]>
> > 
> > Thanks for catching this.
> > 
> > Acked-by: Paul Moore <[EMAIL PROTECTED]>
> > 
> 
> Applied -- will push to Linus unless the netfilter folk do it first.

I sucked it in, don't worry about 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/


[PATCH] video: Fix v4l2 build with CONFIG_I2C=n.

2008-02-13 Thread Paul Mundt
drivers/built-in.o: In function `v4l2_i2c_attach':
/home/pmundt/devel/git/sh-2.6.25/drivers/media/video/v4l2-common.c:1040: 
undefined reference to `i2c_attach_client'
make: *** [.tmp_vmlinux1] Error 1

The v4l2-common code contains a number of i2c helpers which are built in
unconditionally, despite the fact that the i2c routines it references are
not. Move these under a CONFIG_I2C.

Signed-off-by: Paul Mundt <[EMAIL PROTECTED]>

---

 drivers/media/video/v4l2-common.c |   12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/media/video/v4l2-common.c 
b/drivers/media/video/v4l2-common.c
index c056ff6..0e00531 100644
--- a/drivers/media/video/v4l2-common.c
+++ b/drivers/media/video/v4l2-common.c
@@ -973,6 +973,7 @@ u32 v4l2_ctrl_next(const u32 * const * ctrl_classes, u32 id)
return **ctrl_classes;
 }
 
+#ifdef CONFIG_I2C
 int v4l2_chip_match_i2c_client(struct i2c_client *c, u32 match_type, u32 
match_chip)
 {
switch (match_type) {
@@ -984,6 +985,7 @@ int v4l2_chip_match_i2c_client(struct i2c_client *c, u32 
match_type, u32 match_c
return 0;
}
 }
+EXPORT_SYMBOL(v4l2_chip_match_i2c_client);
 
 int v4l2_chip_ident_i2c_client(struct i2c_client *c, struct v4l2_chip_ident 
*chip,
u32 ident, u32 revision)
@@ -1000,6 +1002,7 @@ int v4l2_chip_ident_i2c_client(struct i2c_client *c, 
struct v4l2_chip_ident *chi
}
return 0;
 }
+EXPORT_SYMBOL(v4l2_chip_ident_i2c_client);
 
 int v4l2_chip_match_host(u32 match_type, u32 match_chip)
 {
@@ -1010,6 +1013,7 @@ int v4l2_chip_match_host(u32 match_type, u32 match_chip)
return 0;
}
 }
+EXPORT_SYMBOL(v4l2_chip_match_host);
 
 /* - */
 
@@ -1038,6 +1042,8 @@ int v4l2_i2c_attach(struct i2c_adapter *adapter, int 
address, struct i2c_driver
}
return err != -ENOMEM ? 0 : err;
 }
+EXPORT_SYMBOL(v4l2_i2c_attach);
+#endif /* CONFIG_I2C */
 
 /* - */
 
@@ -1062,12 +1068,6 @@ EXPORT_SYMBOL(v4l2_ctrl_query_menu);
 EXPORT_SYMBOL(v4l2_ctrl_query_fill);
 EXPORT_SYMBOL(v4l2_ctrl_query_fill_std);
 
-EXPORT_SYMBOL(v4l2_chip_match_i2c_client);
-EXPORT_SYMBOL(v4l2_chip_ident_i2c_client);
-EXPORT_SYMBOL(v4l2_chip_match_host);
-
-EXPORT_SYMBOL(v4l2_i2c_attach);
-
 /*
  * Local variables:
  * c-basic-offset: 8
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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] adfs: trivial sparse fix

2008-02-13 Thread Andrew Morton
On Wed, 13 Feb 2008 19:52:12 -0800 Harvey Harrison <[EMAIL PROTECTED]> wrote:

> On Wed, 2008-02-13 at 19:39 -0800, Andrew Morton wrote:
> > On Wed, 13 Feb 2008 18:07:48 -0800 Harvey Harrison <[EMAIL PROTECTED]> 
> > wrote:
> > 
> > > fs/adfs/dir_f.c:126:4: warning: do-while statement is not a compound 
> > > statement
> > > 
> > > Signed-off-by: Harvey Harrison <[EMAIL PROTECTED]>
> > > ---
> > >  fs/adfs/dir_f.c |4 ++--
> > >  1 files changed, 2 insertions(+), 2 deletions(-)
> > > 
> > > diff --git a/fs/adfs/dir_f.c b/fs/adfs/dir_f.c
> > > index b9b2b27..ea7df21 100644
> > > --- a/fs/adfs/dir_f.c
> > > +++ b/fs/adfs/dir_f.c
> > > @@ -122,9 +122,9 @@ adfs_dir_checkbyte(const struct adfs_dir *dir)
> > >   ptr.ptr8 = bufoff(bh, i);
> > >   end.ptr8 = ptr.ptr8 + last - i;
> > >  
> > > - do
> > > + do {
> > >   dircheck = *ptr.ptr8++ ^ ror13(dircheck);
> > > - while (ptr.ptr8 < end.ptr8);
> > > + } while (ptr.ptr8 < end.ptr8);
> > >   }
> > >  
> > 
> > eh?  It's sparse which needs fixing here, surely?
> 
> Well, I only 'fixed' it this way to match the surrounding code.  The
> warning is a little odd.
> 

Yup, well, I changed the title to something sufficiently rude to get a
reaction from Linus when it crosses his desk.  We'll see ;)

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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 patch] x86: make dump_pagetable() static

2008-02-13 Thread Ingo Molnar

* Adrian Bunk <[EMAIL PROTECTED]> wrote:

> On Wed, Feb 13, 2008 at 02:27:47PM -0800, Harvey Harrison wrote:
> > On Wed, 2008-02-13 at 23:31 +0200, Adrian Bunk wrote:
> > > dump_pagetable() can now become static.
> > > 
> > > Signed-off-by: Adrian Bunk <[EMAIL PROTECTED]>

thanks, applied.

> > I believe Andi Kleen wanted this kept global to make it easy to use 
> > when adding debugging code elsewhere.
> 
> That's not a reason as long as his code isn't in the tree (and he 
> anyway has to patch the kernel for using it).

correct. There's also a new CONFIG_X86_PTDUMP=y pagetable dumping debug 
feature now in x86.git#mm that produces much nicer output.

Arjan: i it might be nice to make the new pagetable dumper triggerable 
from a SysRq - could you try the kernel/time/timer_list.c's SEQ_printf() 
trick to make the dumping dual-purpose? [so that it printk()'s if it 
should dump to the console and seq_printf()'s if it should dump via 
/proc]

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: stuck with 2.6.23.14 on x86_64

2008-02-13 Thread Len Brown
On Wednesday 13 February 2008 04:21, Fabio Coatti wrote:
> Alle martedì 12 febbraio 2008, Rafael J. Wysocki ha scritto:
> > On Tuesday, 12 of February 2008, Fabio Coatti wrote:
> > > Alle martedì 12 febbraio 2008, Randy Dunlap ha scritto:
> > > > On Tue, 12 Feb 2008 15:03:41 +0100 Fabio Coatti wrote:
> > > > > Hi all,
> > > > > I'm stuck in a weird situation: I'm unable to go beyond 2.6.23.14, so
> > > > > to fix the splice bug I've had to apply by hand the patch. (x86_64)
> > > > >
> > > > > Basically, with 2.6.24.2 (the same with 2.6.24 and .1), tha machine
> > > > > won't boot due to a problem with cciss driver, that prevents to find
> > > > > the / partition. (bug described here: Kernel Bug Tracker Bug 9859
> > > > > http://bugzilla.kernel.org/show_bug.cgi?id=9859 );
> > > > >
> > > > > With kernels 2.6.23, the lastest that I can compile is 2.6.23.14;
> > > > > starting from .15 (and .16) I get this message:
> > > > >
> > > > > ==
> > > > >   UPD include/linux/compile.h
> > > > >   CC  init/version.o
> > > > >   LD  init/built-in.o
> > > > >   LD  .tmp_vmlinux1
> > > > > drivers/built-in.o: In function `acpi_init':
> > > > > bus.c:(.init.text+0x1713): undefined reference to `pm_flags'
> > > > > bus.c:(.init.text+0x1756): undefined reference to `pm_flags'
> > > > > ==
> > > > >
> > > > > All .config are the same, (make oldconfig) beside the obvious
> > > > > differences between .23 and .24
> > > > >
> > > > > Hardware: x86_64 AMD 2216HE
> > > > > SCSI controller: HP Smart Array E200i Controller
> > > > > Compiler: gcc (GCC) 4.1.1
> > > > > binutils: 2.16.1
> > > > >
> > > > > On a x86 machine, Intel(R) Xeon(TM) CPU 3.20GHz
> > > > > with a cciss0: HP Smart Array 6i Controller,
> > > > > the 2.6.24.2 compiles just fine and works, so the cciss problems
> > > > > seems related only to E200i controller.
> > > > >
> > > > > Right now, on AMD64 machines, I'm forced to patch by hand the kernel,
> > > > > that's quite uncomfortable :)
> > > > >
> > > > > Can someone point me in the right direction to get out of this
> > > > > situation? Of course I can provide any further information. (.config
> > > > > not inlcuded now to avoid cluttering  )
> > > > >
> > > > > Thanks for any answer.
> > > >
> > > > a/ send .config file for the build problem above
> > > > b/ How do you download and/or apply 2.6.23.{15,16} ?
> > > > Full tarball or base tarball + patches?
> > > > If patches, what base tree are they applied to?
> > >
> > > full tarball from kernel.org (.16), tried also applying patches to 2.6.23
> > > vanilla.(.15,.16) Same process leads to successful compilation for .14
> >
> > You're not supposed to have CONFIG_PM unset and CONFIG_ACPI set at the same
> > time.  The oldconfig generation must have gone wrong at one point.
> 
> Maybe it's not supposed to have this situation, but maybe you should tell 
> this 
> to the kernel itself :)
> 
> # zcat /proc/config.gz | egrep "PM|ACPI"
> CONFIG_X86_64_ACPI_NUMA=y
> # CONFIG_PM is not set
> CONFIG_ACPI=y
> # CONFIG_ACPI_PROCFS is not set
> 
> # uname -rv
> 2.6.23.12 #3 SMP Tue Feb 12 11:22:16 CET 2008
> 
> And you can easily get this situation from menuconfig: just fire up make 
> menuconfig without any .config, go to power management options and turn 
> off "Power Management support". exit and look at .config:
> 
> # CONFIG_PM is not set
> CONFIG_SUSPEND_SMP_POSSIBLE=y
> CONFIG_HIBERNATION_SMP_POSSIBLE=y
> CONFIG_ACPI=y
> 
> Maybe if this is not supposed to be the right situation, some dependencies 
> are 
> not respected... (tested on .16)

I think this got fixed in 2.6.24 by the X86_64_ACPI_NUMA dependencies.
(in 2.6.23 it used to select ACPI, in 2.6.24 it depends on ACPI).

So I think in 2.6.24 you should not have this trouble.

thanks,
-Len
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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: Module loading/unloading and "The Stop Machine"

2008-02-13 Thread Tejun Heo
Jike Song wrote:
> On 2/8/08, Max Krasnyansky <[EMAIL PROTECTED]> wrote:
>> Hi Rusty,
>>
>> I was hopping you could answer a couple of questions about module 
>> loading/unloading
>> and the stop machine.
> 
> I'm curious to know why it is called `stop machine', which is a queer
> name without any relationship with its function.

I guess it's "stop the rest of the machine" and run this.  Maybe it's
misnamed but stop_machine is kind of cool.  :-)

-- 
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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] ACPI suspend: Execute _WAK with the right argument

2008-02-13 Thread Len Brown
applied

thanks for quickly finding and fixing this 2.6.25-rc1 regression.

-len

On Tuesday 12 February 2008 18:32, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <[EMAIL PROTECTED]>
> 
> The _WAK global ACPI control method has to be called with the
> argument representing the sleep state being exited.  Make it happen.
> 
> Special thanks to Mirco Tischler <[EMAIL PROTECTED]> for reporting the
> problem and debugging.
> 
> Reported-by: Mirco Tischler <[EMAIL PROTECTED]>
> Signed-off-by: Rafael J. Wysocki <[EMAIL PROTECTED]>
> ---
>  drivers/acpi/hardware/hwsleep.c |1 +
>  1 file changed, 1 insertion(+)
> 
> Index: linux-2.6/drivers/acpi/hardware/hwsleep.c
> ===
> --- linux-2.6.orig/drivers/acpi/hardware/hwsleep.c
> +++ linux-2.6/drivers/acpi/hardware/hwsleep.c
> @@ -616,6 +616,7 @@ acpi_status acpi_leave_sleep_state(u8 sl
>   return_ACPI_STATUS(status);
>   }
>  
> + arg.integer.value = sleep_state;
>   status = acpi_evaluate_object(NULL, METHOD_NAME__WAK, _list, NULL);
>   if (ACPI_FAILURE(status) && status != AE_NOT_FOUND) {
>   ACPI_EXCEPTION((AE_INFO, status, "During Method _WAK"));
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [EMAIL PROTECTED]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


WARNING at x86 smp_32.c:561 native_smp_call_function_mask()

2008-02-13 Thread Jeff DeFouw
I noticed this WARNING fly by while booting 2.6.24.2.  Everything seems 
to be working though.

Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#1.
CPU1: Intel Pentium III (Katmai) stepping 02
Total of 2 processors activated (1805.98 BogoMIPS).
ExtINT not setup in hardware but reported by MP table
ENABLING IO-APIC IRQs
..TIMER: vector=0x31 apic1=0 pin1=2 apic2=0 pin2=0
WARNING: at arch/x86/kernel/smp_32.c:561 native_smp_call_function_mask()
Pid: 1, comm: swapper Not tainted 2.6.24.2 #1
 [] native_smp_call_function_mask+0x171/0x180
 [] common_interrupt+0x23/0x28
 [] enable_NMI_through_LVT0+0x0/0x30
 [] enable_NMI_through_LVT0+0x0/0x30
 [] smp_call_function+0x1c/0x20
 [] on_each_cpu+0x21/0x40
 [] setup_nmi+0x30/0x50
 [] setup_IO_APIC+0xe15/0xf40
 [] atomic_notifier_call_chain+0x17/0x20
 [] notify_update+0x1d/0x30
 [] native_smp_prepare_cpus+0x55e/0xac0
 [] task_rq_lock+0x39/0x70
 [] set_cpus_allowed+0x46/0xa0
 [] kernel_init+0x0/0x300
 [] kernel_init+0x52/0x300
 [] schedule_tail+0x17/0x60
 [] ret_from_fork+0x6/0x1c
 [] kernel_init+0x0/0x300
 [] kernel_init+0x0/0x300
 [] kernel_thread_helper+0x7/0x10
 ===
APIC timer registered as dummy, due to nmi_watchdog=1!
checking TSC synchronization [CPU#0 -> CPU#1]: passed.
Brought up 2 CPUs

560:/* Can deadlock when called with interrupts disabled */
561:WARN_ON(irqs_disabled());

-- 
Jeff DeFouw <[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: parisc compile error

2008-02-13 Thread Kyle McMartin
On Wed, Feb 13, 2008 at 01:42:10PM +0100, rubisher wrote:
> - some lake of changes of kset to kobj:

thanks, i don't build this driver, somehow it made its way out of my
configs. patch looks correct though. applied.

> --- ./drivers/parisc/pdc_stable.c.Orig2008-01-28 07:09:26.0 
> +
> +++ ./drivers/parisc/pdc_stable.c 2008-02-13 11:22:16.0 +
> @@ -829,7 +829,7 @@
>  struct kobj_attribute *attr,
>  const char *buf, size_t count)
>  {
> - return pdcs_auto_write(kset, attr, buf, count, PF_AUTOBOOT);
> + return pdcs_auto_write(kobj, attr, buf, count, PF_AUTOBOOT);
>  }
>  
>  /**
> @@ -845,7 +845,7 @@
>struct kobj_attribute *attr,
>const char *buf, size_t count)
>  {
> - return pdcs_auto_write(kset, attr, buf, count, PF_AUTOSEARCH);
> + return pdcs_auto_write(kobj, attr, buf, count, PF_AUTOSEARCH);
>  }
>  
>  /**
> @@ -1066,7 +1066,7 @@
>   }
>  
>   /* Don't forget the root entries */
> - error = sysfs_create_group(stable_kobj, pdcs_attr_group);
> + error = sysfs_create_group(stable_kobj, _attr_group);
>  
>   /* register the paths kset as a child of the stable kset */
>   paths_kset = kset_create_and_add("paths", NULL, stable_kobj);
> === <> ===
> 
> And the kernel build, but I don't yet try to boot it...
> 
> Hth,
> r.
> ---
> Scarlet One, ADSL 6 Mbps + Telephone, from EUR 29,95...
> http://www.scarlet.be/
> 
> -
> To unsubscribe from this list: send the line "unsubscribe linux-parisc" in
> the body of a message to [EMAIL PROTECTED]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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 11/11] ata: fix sparse warnings in pata_legacy.c

2008-02-13 Thread Harvey Harrison
Let's use ld for legacy_data instead of shadowing these static
int variables.

drivers/ata/pata_legacy.c:777:21: warning: symbol 'qdi' shadows an earlier one
drivers/ata/pata_legacy.c:128:12: originally declared here
drivers/ata/pata_legacy.c:811:21: warning: symbol 'qdi' shadows an earlier one
drivers/ata/pata_legacy.c:128:12: originally declared here
drivers/ata/pata_legacy.c:848:21: warning: symbol 'qdi' shadows an earlier one
drivers/ata/pata_legacy.c:128:12: originally declared here
drivers/ata/pata_legacy.c:882:21: warning: symbol 'qdi' shadows an earlier one
drivers/ata/pata_legacy.c:128:12: originally declared here
drivers/ata/pata_legacy.c:1040:21: warning: symbol 'winbond' shadows an earlier 
one
drivers/ata/pata_legacy.c:129:12: originally declared here

Signed-off-by: Harvey Harrison <[EMAIL PROTECTED]>
---
 drivers/ata/pata_legacy.c |   44 ++--
 1 files changed, 22 insertions(+), 22 deletions(-)

diff --git a/drivers/ata/pata_legacy.c b/drivers/ata/pata_legacy.c
index 6c59969..1c598e5 100644
--- a/drivers/ata/pata_legacy.c
+++ b/drivers/ata/pata_legacy.c
@@ -774,14 +774,14 @@ static struct ata_port_operations opti82c46x_port_ops = {
 static void qdi6500_set_piomode(struct ata_port *ap, struct ata_device *adev)
 {
struct ata_timing t;
-   struct legacy_data *qdi = ap->host->private_data;
+   struct legacy_data *ld = ap->host->private_data;
int active, recovery;
u8 timing;
 
/* Get the timing data in cycles */
ata_timing_compute(adev, adev->pio_mode, , 30303, 1000);
 
-   if (qdi->fast) {
+   if (ld->fast) {
active = 8 - FIT(t.active, 1, 8);
recovery = 18 - FIT(t.recover, 3, 18);
} else {
@@ -790,9 +790,9 @@ static void qdi6500_set_piomode(struct ata_port *ap, struct 
ata_device *adev)
}
timing = (recovery << 4) | active | 0x08;
 
-   qdi->clock[adev->devno] = timing;
+   ld->clock[adev->devno] = timing;
 
-   outb(timing, qdi->timing);
+   outb(timing, ld->timing);
 }
 
 /**
@@ -808,14 +808,14 @@ static void qdi6500_set_piomode(struct ata_port *ap, 
struct ata_device *adev)
 static void qdi6580dp_set_piomode(struct ata_port *ap, struct ata_device *adev)
 {
struct ata_timing t;
-   struct legacy_data *qdi = ap->host->private_data;
+   struct legacy_data *ld = ap->host->private_data;
int active, recovery;
u8 timing;
 
/* Get the timing data in cycles */
ata_timing_compute(adev, adev->pio_mode, , 30303, 1000);
 
-   if (qdi->fast) {
+   if (ld->fast) {
active = 8 - FIT(t.active, 1, 8);
recovery = 18 - FIT(t.recover, 3, 18);
} else {
@@ -824,12 +824,12 @@ static void qdi6580dp_set_piomode(struct ata_port *ap, 
struct ata_device *adev)
}
timing = (recovery << 4) | active | 0x08;
 
-   qdi->clock[adev->devno] = timing;
+   ld->clock[adev->devno] = timing;
 
-   outb(timing, qdi->timing + 2 * ap->port_no);
+   outb(timing, ld->timing + 2 * ap->port_no);
/* Clear the FIFO */
if (adev->class != ATA_DEV_ATA)
-   outb(0x5F, qdi->timing + 3);
+   outb(0x5F, ld->timing + 3);
 }
 
 /**
@@ -845,14 +845,14 @@ static void qdi6580dp_set_piomode(struct ata_port *ap, 
struct ata_device *adev)
 static void qdi6580_set_piomode(struct ata_port *ap, struct ata_device *adev)
 {
struct ata_timing t;
-   struct legacy_data *qdi = ap->host->private_data;
+   struct legacy_data *ld = ap->host->private_data;
int active, recovery;
u8 timing;
 
/* Get the timing data in cycles */
ata_timing_compute(adev, adev->pio_mode, , 30303, 1000);
 
-   if (qdi->fast) {
+   if (ld->fast) {
active = 8 - FIT(t.active, 1, 8);
recovery = 18 - FIT(t.recover, 3, 18);
} else {
@@ -860,11 +860,11 @@ static void qdi6580_set_piomode(struct ata_port *ap, 
struct ata_device *adev)
recovery = 15 - FIT(t.recover, 0, 15);
}
timing = (recovery << 4) | active | 0x08;
-   qdi->clock[adev->devno] = timing;
-   outb(timing, qdi->timing + 2 * adev->devno);
+   ld->clock[adev->devno] = timing;
+   outb(timing, ld->timing + 2 * adev->devno);
/* Clear the FIFO */
if (adev->class != ATA_DEV_ATA)
-   outb(0x5F, qdi->timing + 3);
+   outb(0x5F, ld->timing + 3);
 }
 
 /**
@@ -879,12 +879,12 @@ static unsigned int qdi_qc_issue_prot(struct 
ata_queued_cmd *qc)
 {
struct ata_port *ap = qc->ap;
struct ata_device *adev = qc->dev;
-   struct legacy_data *qdi = ap->host->private_data;
+   struct legacy_data *ld = ap->host->private_data;
 
-   if (qdi->clock[adev->devno] != qdi->last) {
+   if (ld->clock[adev->devno] != ld->last) {
if (adev->pio_mode) {
-   qdi->last = qdi->clock[adev->devno];
- 

Re: [2.6.25-rc1 regression] Suspend to RAM (bisected)

2008-02-13 Thread Len Brown
Applied.

thanks,
-Len

On Monday 11 February 2008 18:20, Venki Pallipadi wrote:
> On Mon, Feb 11, 2008 at 12:06:50PM -0800, Venki Pallipadi wrote:
> > On Mon, Feb 11, 2008 at 05:37:04PM -0200, Carlos R. Mafra wrote:
> > > Pallipadi, Venkatesh wrote:
> > > > 
> > > > Can you send me the output of acpidump and full dmesg to me. Looks like
> > > > it is a platform issue due to which we cannot use C1 mwait idle during
> > > > suspend resume, something similar to issue we had with using C2/C3 state
> > > > during idle.
> > > 
> > > Full dmesg and acpidump outputs are attached.
> > 
> > Above acpidump doesnt have all info, as it is loading some SSDT at run time.
> > Can you get the output of
> > 
> > # acpidump --addr 0x7F6D8709 --length 0x04B7
> > # acpidump --addr 0x7F6D8BC0 --length 0x0092
> > 
> 
> Thanks for sending the dumps Carlos.
> 
> The patch below (on top of rc1) should fix the problem. Can you please
> check it.
> 
> Thanks,
> Venki
> 
> 
> Earlier patch (bc71bec91f9875ef825d12104acf3bf4ca215fa4) broke
> suspend resume on many laptops. The problem was reported by
> Carlos R. Mafra and Calvin Walton, who bisected the issue to above patch.
> 
> The problem was because, C2 and C3 code were calling acpi_idle_enter_c1
> directly, with C2 or C3 as state parameter, while suspend/resume was in
> progress. The patch bc71bec started making use of that state information,
> assuming that it would always be referring to C1 state. This caused the
> problem with suspend-resume as we ended up using C2/C3 state indirectly.
> 
> Fix this by adding acpi_idle_suspend check in enter_c1.
> 
> Signed-off-by: Venkatesh Pallipadi <[EMAIL PROTECTED]>
> 
> Index: linux-2.6.25-rc1/drivers/acpi/processor_idle.c
> ===
> --- linux-2.6.25-rc1.orig/drivers/acpi/processor_idle.c
> +++ linux-2.6.25-rc1/drivers/acpi/processor_idle.c
> @@ -1420,6 +1420,14 @@ static int acpi_idle_enter_c1(struct cpu
>   return 0;
>  
>   local_irq_disable();
> +
> + /* Do not access any ACPI IO ports in suspend path */
> + if (acpi_idle_suspend) {
> + acpi_safe_halt();
> + local_irq_enable();
> + return 0;
> + }
> +
>   if (pr->flags.bm_check)
>   acpi_idle_update_bm_rld(pr, cx);
>  
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [EMAIL PROTECTED]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 09/11] ata: fix sparse warning in pata_marvell.c

2008-02-13 Thread Harvey Harrison
drivers/ata/pata_marvell.c:88:2: warning: returning void-valued expression

Signed-off-by: Harvey Harrison <[EMAIL PROTECTED]>
---
 drivers/ata/pata_marvell.c |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/ata/pata_marvell.c b/drivers/ata/pata_marvell.c
index 9afc8a3..a81f25d 100644
--- a/drivers/ata/pata_marvell.c
+++ b/drivers/ata/pata_marvell.c
@@ -85,8 +85,8 @@ static int marvell_cable_detect(struct ata_port *ap)
 
 static void marvell_error_handler(struct ata_port *ap)
 {
-   return ata_bmdma_drive_eh(ap, marvell_pre_reset, ata_std_softreset,
- NULL, ata_std_postreset);
+   ata_bmdma_drive_eh(ap, marvell_pre_reset, ata_std_softreset, NULL,
+  ata_std_postreset);
 }
 
 /* No PIO or DMA methods needed for this device */
-- 
1.5.4.1.1278.gc75be


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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 10/11] ata: fix sparse warning in pata_acpi.c

2008-02-13 Thread Harvey Harrison
drivers/ata/pata_acpi.c:80:2: warning: returning void-valued expression

Signed-off-by: Harvey Harrison <[EMAIL PROTECTED]>
---
 drivers/ata/pata_acpi.c |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/ata/pata_acpi.c b/drivers/ata/pata_acpi.c
index 244098a..bdc3b9d 100644
--- a/drivers/ata/pata_acpi.c
+++ b/drivers/ata/pata_acpi.c
@@ -77,8 +77,8 @@ static int pacpi_cable_detect(struct ata_port *ap)
 
 static void pacpi_error_handler(struct ata_port *ap)
 {
-   return ata_bmdma_drive_eh(ap, pacpi_pre_reset, ata_std_softreset,
- NULL, ata_std_postreset);
+   ata_bmdma_drive_eh(ap, pacpi_pre_reset, ata_std_softreset, NULL,
+  ata_std_postreset);
 }
 
 /**
-- 
1.5.4.1.1278.gc75be


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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 08/11] ata: fix sparse warning in pata_jmicron.c

2008-02-13 Thread Harvey Harrison
drivers/ata/pata_jmicron.c:118:2: warning: returning void-valued expression

Signed-off-by: Harvey Harrison <[EMAIL PROTECTED]>
---
 drivers/ata/pata_jmicron.c |3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/ata/pata_jmicron.c b/drivers/ata/pata_jmicron.c
index 5b8174d..00d 100644
--- a/drivers/ata/pata_jmicron.c
+++ b/drivers/ata/pata_jmicron.c
@@ -115,7 +115,8 @@ static int jmicron_pre_reset(struct ata_link *link, 
unsigned long deadline)
 
 static void jmicron_error_handler(struct ata_port *ap)
 {
-   return ata_bmdma_drive_eh(ap, jmicron_pre_reset, ata_std_softreset, 
NULL, ata_std_postreset);
+   ata_bmdma_drive_eh(ap, jmicron_pre_reset, ata_std_softreset, NULL,
+  ata_std_postreset);
 }
 
 /* No PIO or DMA methods needed for this device */
-- 
1.5.4.1.1278.gc75be


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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 06/11] ata: sparse fixes for pata_amd.c

2008-02-13 Thread Harvey Harrison
drop return statement.
drivers/ata/pata_amd.c:149:2: warning: returning void-valued expression

Commit ce54d1616302117fa98513ae916bbe1c02ea pata_amd: update mode selection 
for NV PATAs

added the initializer for nv_mode_filter but missed deleting the previously
set mode_filter

drivers/ata/pata_amd.c:509:3: warning: Initializer entry defined twice
drivers/ata/pata_amd.c:521:3:   also defined here
drivers/ata/pata_amd.c:544:3: warning: Initializer entry defined twice
drivers/ata/pata_amd.c:556:3:   also defined here

Signed-off-by: Harvey Harrison <[EMAIL PROTECTED]>
---
 drivers/ata/pata_amd.c |7 ++-
 1 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/ata/pata_amd.c b/drivers/ata/pata_amd.c
index ea567e2..4b8d9b5 100644
--- a/drivers/ata/pata_amd.c
+++ b/drivers/ata/pata_amd.c
@@ -146,9 +146,8 @@ static int amd_pre_reset(struct ata_link *link, unsigned 
long deadline)
 
 static void amd_error_handler(struct ata_port *ap)
 {
-   return ata_bmdma_drive_eh(ap, amd_pre_reset,
- ata_std_softreset, NULL,
- ata_std_postreset);
+   ata_bmdma_drive_eh(ap, amd_pre_reset, ata_std_softreset, NULL,
+  ata_std_postreset);
 }
 
 static int amd_cable_detect(struct ata_port *ap)
@@ -506,7 +505,6 @@ static struct ata_port_operations amd133_port_ops = {
 static struct ata_port_operations nv100_port_ops = {
.set_piomode= nv100_set_piomode,
.set_dmamode= nv100_set_dmamode,
-   .mode_filter= ata_pci_default_filter,
.tf_load= ata_tf_load,
.tf_read= ata_tf_read,
.check_status   = ata_check_status,
@@ -541,7 +539,6 @@ static struct ata_port_operations nv100_port_ops = {
 static struct ata_port_operations nv133_port_ops = {
.set_piomode= nv133_set_piomode,
.set_dmamode= nv133_set_dmamode,
-   .mode_filter= ata_pci_default_filter,
.tf_load= ata_tf_load,
.tf_read= ata_tf_read,
.check_status   = ata_check_status,
-- 
1.5.4.1.1278.gc75be


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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 07/11] ata: fix sparse warning in pata_cs5536.c

2008-02-13 Thread Harvey Harrison
Everybody passes in a u32...why fight it.

drivers/ata/pata_cs5536.c:124:26: warning: incorrect type in argument 3 
(different signedness)
drivers/ata/pata_cs5536.c:124:26:expected int *val
drivers/ata/pata_cs5536.c:124:26:got unsigned int *

Signed-off-by: Harvey Harrison <[EMAIL PROTECTED]>
---
 drivers/ata/pata_cs5536.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/ata/pata_cs5536.c b/drivers/ata/pata_cs5536.c
index d753e56..c71505e 100644
--- a/drivers/ata/pata_cs5536.c
+++ b/drivers/ata/pata_cs5536.c
@@ -85,7 +85,7 @@ static const u8 pci_reg[4] = {
PCI_IDE_CFG, PCI_IDE_DTC, PCI_IDE_CAST, PCI_IDE_ETC,
 };
 
-static inline int cs5536_read(struct pci_dev *pdev, int reg, int *val)
+static inline int cs5536_read(struct pci_dev *pdev, int reg, u32 *val)
 {
if (unlikely(use_msr)) {
u32 dummy;
-- 
1.5.4.1.1278.gc75be


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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 04/11] ata: fix sparse warnings in sata_mv.c

2008-02-13 Thread Harvey Harrison
pp is never used again in this function, no need to declare a
new one.

drivers/ata/sata_mv.c:1545:24: warning: symbol 'pp' shadows an earlier one
drivers/ata/sata_mv.c:1501:22: originally declared here
drivers/ata/sata_mv.c:1553:24: warning: symbol 'pp' shadows an earlier one
drivers/ata/sata_mv.c:1501:22: originally declared here

Signed-off-by: Harvey Harrison <[EMAIL PROTECTED]>
---
 drivers/ata/sata_mv.c |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/ata/sata_mv.c b/drivers/ata/sata_mv.c
index 04b5717..2ecd44d 100644
--- a/drivers/ata/sata_mv.c
+++ b/drivers/ata/sata_mv.c
@@ -1542,7 +1542,7 @@ static void mv_err_intr(struct ata_port *ap, struct 
ata_queued_cmd *qc)
eh_freeze_mask = EDMA_EH_FREEZE_5;
 
if (edma_err_cause & EDMA_ERR_SELF_DIS_5) {
-   struct mv_port_priv *pp = ap->private_data;
+   pp = ap->private_data;
pp->pp_flags &= ~MV_PP_FLAG_EDMA_EN;
ata_ehi_push_desc(ehi, "EDMA self-disable");
}
@@ -1550,7 +1550,7 @@ static void mv_err_intr(struct ata_port *ap, struct 
ata_queued_cmd *qc)
eh_freeze_mask = EDMA_EH_FREEZE;
 
if (edma_err_cause & EDMA_ERR_SELF_DIS) {
-   struct mv_port_priv *pp = ap->private_data;
+   pp = ap->private_data;
pp->pp_flags &= ~MV_PP_FLAG_EDMA_EN;
ata_ehi_push_desc(ehi, "EDMA self-disable");
}
-- 
1.5.4.1.1278.gc75be


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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 05/11] ata: replace macro with static inline in libata.h

2008-02-13 Thread Harvey Harrison
Avoid a metric ton of sparse warnings like:
drivers/ata/pata_ali.c:176:14: warning: symbol '__x' shadows an earlier one
drivers/ata/pata_ali.c:176:14: originally declared here

Due to nesting min_t macro inside max_t macro which both use a __x
identifier internally.

Signed-off-by: Harvey Harrison <[EMAIL PROTECTED]>
---
 include/linux/libata.h |6 +-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/include/linux/libata.h b/include/linux/libata.h
index bc5a8d0..2845983 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -764,7 +764,11 @@ struct ata_timing {
unsigned short udma;/* t2CYCTYP/2 */
 };
 
-#define FIT(v, vmin, vmax) max_t(short, min_t(short, v, vmax), vmin)
+static inline short FIT(short v, short vmin, short vmax)
+{
+   short tmp = min_t(short, v, vmax);
+   return max_t(short, tmp, vmin);
+}
 
 extern const unsigned long sata_deb_timing_normal[];
 extern const unsigned long sata_deb_timing_hotplug[];
-- 
1.5.4.1.1278.gc75be


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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 03/11] ata: fix sparse warning in sata_via.c

2008-02-13 Thread Harvey Harrison
drivers/ata/sata_via.c:336:2: warning: returning void-valued expression

Signed-off-by: Harvey Harrison <[EMAIL PROTECTED]>
---
 drivers/ata/sata_via.c |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/ata/sata_via.c b/drivers/ata/sata_via.c
index 30caa03..0d03f44 100644
--- a/drivers/ata/sata_via.c
+++ b/drivers/ata/sata_via.c
@@ -333,8 +333,8 @@ static int vt6420_prereset(struct ata_link *link, unsigned 
long deadline)
 
 static void vt6420_error_handler(struct ata_port *ap)
 {
-   return ata_bmdma_drive_eh(ap, vt6420_prereset, ata_std_softreset,
- NULL, ata_std_postreset);
+   ata_bmdma_drive_eh(ap, vt6420_prereset, ata_std_softreset, NULL,
+  ata_std_postreset);
 }
 
 static int vt6421_pata_cable_detect(struct ata_port *ap)
-- 
1.5.4.1.1278.gc75be


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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 02/11] ata: fix sparse warning in sata_promise.c

2008-02-13 Thread Harvey Harrison
drivers/ata/sata_promise.c:546:15: warning: symbol 'len' shadows an earlier one
drivers/ata/sata_promise.c:538:6: originally declared here

len is set again immediately after the loop, so this is safe.

Signed-off-by: Harvey Harrison <[EMAIL PROTECTED]>
---
 drivers/ata/sata_promise.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/ata/sata_promise.c b/drivers/ata/sata_promise.c
index a07d319..f251a5f 100644
--- a/drivers/ata/sata_promise.c
+++ b/drivers/ata/sata_promise.c
@@ -543,7 +543,7 @@ static void pdc_fill_sg(struct ata_queued_cmd *qc)
idx = 0;
for_each_sg(qc->sg, sg, qc->n_elem, si) {
u32 addr, offset;
-   u32 sg_len, len;
+   u32 sg_len;
 
/* determine if physical DMA addr spans 64K boundary.
 * Note h/w doesn't support 64-bit, so we unconditionally
-- 
1.5.4.1.1278.gc75be


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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 01/11] ata: fix sparse warning in ata_piix.c

2008-02-13 Thread Harvey Harrison
drivers/ata/ata_piix.c:1655:8: warning: symbol 'rc' shadows an earlier one
drivers/ata/ata_piix.c:1616:6: originally declared here

Signed-off-by: Harvey Harrison <[EMAIL PROTECTED]>
---
 drivers/ata/ata_piix.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/ata/ata_piix.c b/drivers/ata/ata_piix.c
index 9c2515f..752e7d2 100644
--- a/drivers/ata/ata_piix.c
+++ b/drivers/ata/ata_piix.c
@@ -1652,7 +1652,7 @@ static int __devinit piix_init_one(struct pci_dev *pdev,
u8 tmp;
pci_read_config_byte(pdev, PIIX_SCC, );
if (tmp == PIIX_AHCI_DEVICE) {
-   int rc = piix_disable_ahci(pdev);
+   rc = piix_disable_ahci(pdev);
if (rc)
return rc;
}
-- 
1.5.4.1.1278.gc75be


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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: parisc compile error

2008-02-13 Thread Kyle McMartin
On Wed, Feb 13, 2008 at 07:49:12AM +0100, rubisher wrote:
> --- include/asm-parisc/pgtable.h.Orig 2007-10-22 08:19:20.0 +
> +++ include/asm-parisc/pgtable.h  2008-02-12 16:28:36.0 +
> +extern  void *vmalloc_start;
> +#define PCXL_DMA_MAP_SIZE   (8*1024*1024)
> +#define VMALLOC_START   ((unsigned long)vmalloc_start)
> +/* this is a fixmap remnant, see fixmap.h */
> +#define VMALLOC_END  (KERNEL_MAP_END)
> +

i moved this to fixmap.h, since i think it makes more sense there,
really.

> static inline void pte_free_kernel(struct mm_struct *mm, struct page *pte)
> {
> pgtable_page_dtor(pte);
> pte_free_kernel(page_address((pte));
> }
> 

this is a stunning bit of ignorant patching courtesy of
2f569afd9ced9ebec9a6eb3dbf6f83429be0a7b4 which:

-#define pte_free(mm, page) pte_free_kernel(page_address(page))
+static inline void pte_free_kernel(struct mm_struct *mm, struct page
*pte)
+{
+   pgtable_page_dtor(pte);
+   pte_free_kernel(page_address((pte));
+}

only wrong on *two* counts.

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


Re: [RFC PATCH] PCI: remove initial bios sort of PCI devices on x86

2008-02-13 Thread Matt Domsch
On Wed, Feb 13, 2008 at 03:40:29PM -0800, Greg KH wrote:
> We currently keep 2 lists of PCI devices in the system, one in the
> driver core, and one all on its own.  This second list is sorted at boot
> time, in "BIOS" order, to try to remain compatible with older kernels
> (2.2 and earlier days).  There was also a "nosort" option to turn this
> sorting off, to remain compatible with even older kernel versions, but
> that just ends up being what we have been doing from 2.5 days...
> 
> Unfortunately, the second list of devices is not really ever used to
> determine the probing order of PCI devices or drivers[1].  That is done
> using the driver core list instead.  This change happened back in the
> early 2.5 days.
> 
> Relying on BIOS ording for the binding of drivers to specific device
> names is problematic for many reasons, and userspace tools like udev
> exist to properly name devices in a persistant manner if that is needed,
> no reliance on the BIOS is needed.
>
> Matt Domsch and others at Dell noticed this back in 2006, and added a
> boot option to sort the PCI device lists (both of them) in a
> breadth-first manner to help remain compatible with the 2.4 order, if
> needed for any reason.  This option is not going away, as some systems
> rely on them.
> 
> This patch removes the sorting of the internal PCI device list in "BIOS"
> mode, as it's not needed at all anymore, and hasn't for many years.
> I've also removed the PCI flags for this from some other arches that for
> some reason defined them, but never used them.
> 
> This should not change the ordering of any drivers or device probing.


Good plan.  I'll be glad when the vestigal internal PCI device list is
gone too.

Thanks,
Matt

-- 
Matt Domsch
Linux Technology Strategist, Dell Office of the CTO
linux.dell.com & www.dell.com/linux
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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: Module loading/unloading and "The Stop Machine"

2008-02-13 Thread Jike Song
On 2/8/08, Max Krasnyansky <[EMAIL PROTECTED]> wrote:
> Hi Rusty,
>
> I was hopping you could answer a couple of questions about module 
> loading/unloading
> and the stop machine.

I'm curious to know why it is called `stop machine', which is a queer
name without any relationship with its function.

Regards,
Jike
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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: pci_get_device_reverse(), why does Calgary need this?

2008-02-13 Thread Greg KH
On Thu, Feb 14, 2008 at 01:02:55AM +0100, Bartlomiej Zolnierkiewicz wrote:
> On Thursday 14 February 2008, Greg KH wrote:
> > On Wed, Feb 13, 2008 at 11:20:36PM +0100, Bartlomiej Zolnierkiewicz wrote:
> > > On Wednesday 13 February 2008, Greg KH wrote:
> > > > On Wed, Feb 13, 2008 at 09:28:24AM -0800, Greg KH wrote:
> > > > > On Wed, Feb 13, 2008 at 01:34:12PM +0100, Bartlomiej Zolnierkiewicz 
> > > > > wrote:
> > > > > > On Wednesday 13 February 2008, Greg KH wrote:
> > > > > > > On Wed, Feb 13, 2008 at 02:17:37AM +, Alan Cox wrote:
> > > > > > > > > Why does the calgary driver need this?  Can we just use 
> > > > > > > > > pci_get_device()
> > > > > > > > > instead?  Why do you need to walk the device list backwards?  
> > > > > > > > > Do you get
> > > > > > > > > false positives going forward?
> > > > > > > > 
> > > > > > > > It doesn't look to be performance critical so the driver can
> > > > > > > > pci_get_device until the end and use the final hit anyway.
> > > > > > > 
> > > > > > > That would make more sense.
> > > > > > > 
> > > > > > > > IDE reverse is more problematic but nobody seems to use it.
> > > > > > > 
> > > > > > > I've seen two posters say they use it.  I'm wondering what it is 
> > > > > > > really
> > > > > > > solving if they use it, and why if it's really needed, scsi never 
> > > > > > > had to
> > > > > > > implement such a hack...
> > > > > > 
> > > > > > It is no longer solving anything, just adds more pain. ;)
> > > > > > 
> > > > > > [ The option comes from 2.2.x (so long before LABEL=/ and 
> > > > > > /dev/disk/by-id/
> > > > > >   became popular).  Some "off-board" controllers integrated on 
> > > > > > motherboards
> > > > > >   used to appear before "on-board" IDE on PCI bus so this option 
> > > > > > was meant
> > > > > >   to preserve the legacy ordering. ]
> > > > > > 
> > > > > > Since it is valid only when "Probe IDE PCI devices in the PCI bus 
> > > > > > order
> > > > > > (DEPRECATED)" config option is used it is already on its way out 
> > > > > > (though
> > > > > > marking it as obsoleted would make it more explicit).
> > > > > > 
> > > > > > I think that removing "ide=reverse" in 2.6.26 would be OK...
> > > > > 
> > > > > Great, thanks for your blessing.  I'll make up a patch and send it to
> > > > > you for approval.
> > > > 
> > > > How does the patch below look?  I didn't want to remove the whole config
> > > > option, as there is more to the logic than just the "reverse order"
> > > > stuff there.
> > > 
> > > looks fine,
> > > 
> > > Signed-off-by: Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]>
> > 
> > Thanks.
> > 
> > > > If you don't mind, can I take this through the PCI tree so as to allow
> > > > the removal of this pci function afterwards?
> > > 
> > > [...]
> > > 
> > > great, could you also:
> > > - rebase it on top of the patch below
> > > - forward the patch below to Linus for 2.6.25
> > 
> > Sure, you want this to go in for .25, but not the one I just posted
> > removing this option, correct?  That should wait for .26?
> 
> Yes, lets give people the final call before actually removing this option
> (unless of course there is some urgent reason for removing it in .25).

No, no rush from me, I'll queue this up and send it to Linus in my next
batch.

thanks,

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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: Handshaking on USB serial devices

2008-02-13 Thread Greg KH
On Thu, Feb 14, 2008 at 01:15:37AM +1030, David Newall wrote:
> Consider a USB-attached serial port that is set to do RTS/CTS (or
> DSR/DTR) handshaking: What stops the kernel sending more data to it when
> the remote end lowers CTS (or DTR)?

The tty layer should look at the proper flags and not send data on to
the driver in this kind of instance.

Is this not happening properly for you?  If so, which USB serial driver?

thanks,

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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: [SCSI] gdth: update deprecated pci_find_device

2008-02-13 Thread Jeff Garzik

Linux Kernel Mailing List wrote:

Gitweb: 
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=99109301d103fbf0de43fc5a580a406c12a501e0
Commit: 99109301d103fbf0de43fc5a580a406c12a501e0
Parent: 61c92814dc324b541391757062ff02fbf3b08086
Author: Sergio Luis <[EMAIL PROTECTED]>
AuthorDate: Tue Feb 12 20:48:03 2008 -0300
Committer:  James Bottomley <[EMAIL PROTECTED]>
CommitDate: Wed Feb 13 09:33:10 2008 -0600

[SCSI] gdth: update deprecated pci_find_device

Fix compilation warning in gdth.c, which was using the deprecated

pci_find_device.

drivers/scsi/gdth.c:645: warning: 'pci_find_device' is deprecated (declared at include/linux/pci.h:495)

Changing it to use pci_get_device, instead.

Signed-off-by: Sergio Luis <[EMAIL PROTECTED]>

Signed-off-by: James Bottomley <[EMAIL PROTECTED]>
---
 drivers/scsi/Kconfig |2 +-
 drivers/scsi/gdth.c  |7 +--
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig
index a5f0aaa..a7a0813 100644
--- a/drivers/scsi/Kconfig
+++ b/drivers/scsi/Kconfig
@@ -722,7 +722,7 @@ config SCSI_FD_MCS
 
 config SCSI_GDTH

tristate "Intel/ICP (former GDT SCSI Disk Array) RAID Controller 
support"
-   depends on (ISA || EISA || PCI) && SCSI && ISA_DMA_API && PCI_LEGACY
+   depends on (ISA || EISA || PCI) && SCSI && ISA_DMA_API
---help---
  Formerly called GDT SCSI Disk Array Controller Support.
 
diff --git a/drivers/scsi/gdth.c b/drivers/scsi/gdth.c

index 7079fef..6d67f5c 100644
--- a/drivers/scsi/gdth.c
+++ b/drivers/scsi/gdth.c
@@ -642,12 +642,15 @@ static void __init gdth_search_dev(gdth_pci_str *pcistr, 
ushort *cnt,
   *cnt, vendor, device));
 
 pdev = NULL;
-while ((pdev = pci_find_device(vendor, device, pdev)) 
+while ((pdev = pci_get_device(vendor, device, pdev))

!= NULL) {
 if (pci_enable_device(pdev))
 continue;
-if (*cnt >= MAXHA)
+if (*cnt >= MAXHA) {
+pci_dev_put(pdev);
 return;
+}
+


Why no pci_dev_put() in the module cleanup path?

Jeff



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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: Strange hang on ia64 with CONFIG_PRINTK_TIME=y

2008-02-13 Thread Roland Dreier
 > I'll take a closer look at what is needed tomorrow.

Hi Tony,

Just curious -- can you reproduce the same problem with
CONFIG_PRINTK_TIME as I'm seeing?  If not I'm happy to test anything
you want to try.

The strange thing is that Ingo's patch to make cpu_clock() a NOP until
after sched_init() didn't fix things for me...

 - R.

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


dma engine drivers for 2.6.25?

2008-02-13 Thread Kumar Gala

Dan,

What's going on with the dma engine drivers for 2.6.25?  We had a  
Freescale dma driver from Zhang Wei queued up but seems to have been  
lost.


- k
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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] adfs: trivial sparse fix

2008-02-13 Thread Harvey Harrison
On Wed, 2008-02-13 at 19:39 -0800, Andrew Morton wrote:
> On Wed, 13 Feb 2008 18:07:48 -0800 Harvey Harrison <[EMAIL PROTECTED]> wrote:
> 
> > fs/adfs/dir_f.c:126:4: warning: do-while statement is not a compound 
> > statement
> > 
> > Signed-off-by: Harvey Harrison <[EMAIL PROTECTED]>
> > ---
> >  fs/adfs/dir_f.c |4 ++--
> >  1 files changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/fs/adfs/dir_f.c b/fs/adfs/dir_f.c
> > index b9b2b27..ea7df21 100644
> > --- a/fs/adfs/dir_f.c
> > +++ b/fs/adfs/dir_f.c
> > @@ -122,9 +122,9 @@ adfs_dir_checkbyte(const struct adfs_dir *dir)
> > ptr.ptr8 = bufoff(bh, i);
> > end.ptr8 = ptr.ptr8 + last - i;
> >  
> > -   do
> > +   do {
> > dircheck = *ptr.ptr8++ ^ ror13(dircheck);
> > -   while (ptr.ptr8 < end.ptr8);
> > +   } while (ptr.ptr8 < end.ptr8);
> > }
> >  
> 
> eh?  It's sparse which needs fixing here, surely?

Well, I only 'fixed' it this way to match the surrounding code.  The
warning is a little odd.

Harvey

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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] adfs: trivial sparse fix

2008-02-13 Thread Andrew Morton
On Wed, 13 Feb 2008 18:07:48 -0800 Harvey Harrison <[EMAIL PROTECTED]> wrote:

> fs/adfs/dir_f.c:126:4: warning: do-while statement is not a compound statement
> 
> Signed-off-by: Harvey Harrison <[EMAIL PROTECTED]>
> ---
>  fs/adfs/dir_f.c |4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/fs/adfs/dir_f.c b/fs/adfs/dir_f.c
> index b9b2b27..ea7df21 100644
> --- a/fs/adfs/dir_f.c
> +++ b/fs/adfs/dir_f.c
> @@ -122,9 +122,9 @@ adfs_dir_checkbyte(const struct adfs_dir *dir)
>   ptr.ptr8 = bufoff(bh, i);
>   end.ptr8 = ptr.ptr8 + last - i;
>  
> - do
> + do {
>   dircheck = *ptr.ptr8++ ^ ror13(dircheck);
> - while (ptr.ptr8 < end.ptr8);
> + } while (ptr.ptr8 < end.ptr8);
>   }
>  

eh?  It's sparse which needs fixing here, surely?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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/2] add rcu_assign_index() if ever needed

2008-02-13 Thread Andrew Morton
On Thu, 14 Feb 2008 09:02:09 +0530 Gautham R Shenoy <[EMAIL PROTECTED]> wrote:

> >  /**
> > + * rcu_assign_index - assign (publicize) a index of a newly
> > + * initialized array elementg that will be dereferenced by RCU
>    
> 
> I hope Andrew got that one while porting against the latest -mm :)

I don't actually read the comments - I just like to make sure they're
there ;)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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] samples: build fix

2008-02-13 Thread Roland McGrath

The samples/ subdirectory contains only modules.
But the only make run done there is in commands for vmlinux.
I can't see why this was ever done in this nonstandard fashion.
As things stand, the modules don't get built by 'make modules'.

I didn't make the addition of the directory use core-$(CONFIG_SAMPLES)
because there is no other conditional like that in the top-level Makefile
and samples/Makefile already uses obj-$(CONFIG_SAMPLES) as if it expects
always to be included.

Signed-off-by: Roland McGrath <[EMAIL PROTECTED]>
---
 Makefile |5 +
 1 files changed, 1 insertions(+), 4 deletions(-)

diff --git a/Makefile b/Makefile
index c162370..9e9ce33 100644
--- a/Makefile
+++ b/Makefile
@@ -602,7 +602,7 @@ export mod_strip_cmd
 
 
 ifeq ($(KBUILD_EXTMOD),)
-core-y += kernel/ mm/ fs/ ipc/ security/ crypto/ block/
+core-y += kernel/ mm/ fs/ ipc/ security/ crypto/ block/ samples/
 
 vmlinux-dirs   := $(patsubst %/,%,$(filter %/, $(init-y) $(init-m) \
 $(core-y) $(core-m) $(drivers-y) $(drivers-m) \
@@ -802,9 +802,6 @@ vmlinux: $(vmlinux-lds) $(vmlinux-init) $(vmlinux-main) 
vmlinux.o $(kallsyms.o)
 ifdef CONFIG_HEADERS_CHECK
$(Q)$(MAKE) -f $(srctree)/Makefile headers_check
 endif
-ifdef CONFIG_SAMPLES
-   $(Q)$(MAKE) $(build)=samples
-endif
$(call vmlinux-modpost)
$(call if_changed_rule,vmlinux__)
$(Q)rm -f .old_version
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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: Strange hang on ia64 with CONFIG_PRINTK_TIME=y

2008-02-13 Thread Tony Luck
> That's right.  I thought you guys had something that would handle that
> early on, but looking at how the trick works in the vmlinux.lds.S ia64
> uses that isn't the case.

We try to get things set up pertty early ... but I agree this is
fragile.  Adding code to printk() to not provide a timestamp
before some safe point in boot is a workaround to the
current problem.  But it may come back to haunt us if
other per-cpu data is added that needs to be accessed
early during boot.

There are some changes going on at the moment on how
we allocate the space for the per-cpu area.  It is likely that
for a non-boot cpu we might be able to get everything that
we need for per-cpu access to work done in head.S before
we can get to any C code.  Boot cpu may be harder unless
we statically allocate space for its per-cpu area in
vmlinux.lds.S

I'll take a closer look at what is needed tomorrow.

-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: [GIT PATCH] SCSI bug fixes for 2.6.25-rc1

2008-02-13 Thread Andrew Morton
On Wed, 13 Feb 2008 19:11:53 -0600 James Bottomley <[EMAIL PROTECTED]> wrote:

> > mptbase-reset-ioc-initiator-during-pci-resume.patch
> > 
> >   Fixes suspend/resume on all of Darrick's MPT cards.  I first merged it
> >   in September 2007.
> 
> Patch presented by LSI but has gone back with comments

Five months is too long to fix a bug when someone has already sent us a
patch.  If they insist on being this sluggish I'd suggest that you review
the patch yourself then just merge it.  That will get their attention. 
Maybe.

> > dell-cerc-support-for-megaraid_mbox.patch
> 
> I need megaraid to sign off (and test) this one.

Two months, same story.

> > scsi-qlogicptic-section-fixes.patch
> > 
> >   Fixes a reference from .text into .init.text and hence might fix a
> >   machine crash when this driver is build into vmlinux.  Merged a week ago.
> 
> This was the one we had the alternative fix for, wasn't it ... ?

In current mainline, __devinit qpti_sbus_probe() still is calling __init
qpti_chain_add() (for example).  So in a CONFIG_HOTPLUG kernel, hotplugging
a new device (on sbus, ok, bad example ;)) will crash.

But Adrian has fixed six such bugs in there, maybe one of them can hit.  I
don't think we've fixed these by alternative means, unless we've disabled
__devinit?


Still, we can discuss specific patches all day.  I think there is a
_general_ problem getting bugfixes, warning fixes and cleanups into scsi
drivers within reasonable amounts of 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: Feature Removals for 2.6.25

2008-02-13 Thread Stephen Hemminger

> 
> > Ping?
> > What:   sk98lin network driver
> > When:   Feburary 2008
> > Why:In kernel tree version of driver is unmaintained. Sk98lin driver
> > replaced by the skge driver. 
> > Who:Stephen Hemminger <[EMAIL PROTECTED]>
> > 
> > ---
> 
> We have been over this several times, and I thought someone had taken 
> over the driver and was providing patches to put it in. Both skge and 
> sky2 have been proposed as the replacement, people have reported 
> problems with each. Suggest leaving this alone until the sk98lin 
> actually needs work, then take it out. Problems in my problem system 
> have been intermittent, take 4-40 hours to show and generate no errors, 
> other than the driver thinks it's sending packets and the sniffer doesn't.

The vendor sk98lin driver will continue it's happy life out of tree.
The version in 2.6.25 is ancient and unmaintained and only supports older
hardware. There are no outstanding issues with skge driver (sky2 is 
prone to hardware problems, but then so is vendor driver).

Unfortunately, removing sk98lin seems to be the only way to make die
hard users report problems. The last time we removed it, some user's of
old Genesis boards showed with issues, but those are now fixed.

Jeff has scheduled sk98lin for removal in 2.6.26. (and it will probably 
be gone from -mm before that). 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [BUG] Problem with recording on hda-intel (sata_sil or hda-intel bug) - HP nx6325

2008-02-13 Thread Bill Davidsen

Grzegorz Chwesewicz wrote:
	Hi. 
Problem description:


I have a problem with recording on HP nx6325 notebook (hda-intel with AD1981HD 
codec). Playback works fine, but after 5-10 min. of recording microphone 
stops working (playback works all the time). Unloading and loading sound 
modules fixes problem, but only for another 5-10 minutes. This problem exists 
from more than a year (at least from 2.6.17.13 kernel). In [1] we came to 
conclusion that this problem is ralated to IRQ sharing [2] (HDA Intel is on 
the same IRQ as sata_sil). 


How to reproduce the problem:

1) on one console run arecord and see the output (You should see some garbage)
2) on another console run cat /etc/*
3) at once arecord on the first console gives no output

So, doing lot of hdd I/O occurs problem with mic.

I had problems a few years ago with USB stopping when the screen saver 
kicked in, just a wild thought.


--
Bill Davidsen <[EMAIL PROTECTED]>
  "We have more to fear from the bungling of the incompetent than from
the machinations of the wicked."  - from Slashdot
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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: [rft] s2ram wakeup moves to .c, could fix few machines

2008-02-13 Thread Bill Davidsen

H. Peter Anvin wrote:

Rafael J. Wysocki wrote:
The asm() for making beeps really need to be moved to a function and 
cleaned up (redone in C using inb()/outb()) if they are to be 
retained at all.


Yes, they are.  For some people they're the only tool to debug broken 
resume.


That's fine, but they should get cleaned up.

/me is tempted to provide a version which can send messages in Morse 
Code ;)



Thought someone did that a while ago. Alan Cox, maybe.

--
Bill Davidsen <[EMAIL PROTECTED]>
  "We have more to fear from the bungling of the incompetent than from
the machinations of the wicked."  - from Slashdot
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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: Feature Removals for 2.6.25

2008-02-13 Thread Bill Davidsen

Harvey Harrison wrote:

What:   CONFIG_FORCED_INLINING
When:   June 2006
Why:Config option is there to see if gcc is good enough. (in january
2006). If it is, the behavior should just be the default. If it's not,
the option should just go away entirely.
Who:Arjan van de Ven

Patch submitted to Arjan, maybe 2.6.25?
---


The "good enough" of gcc may be architecture dependent. Taking the 
option away where it works because somewhere else it doesn't may not be 
the optimal solution.




Ping?
What:   eepro100 network driver
When:   January 2007
Why:replaced by the e100 driver
Who:Adrian Bunk <[EMAIL PROTECTED]>

---


The last time we discussed this the team working on e100 said there were 
still issues (IIRC). Have they all been resolved?




Ping?
What:   sk98lin network driver
When:   Feburary 2008
Why:In kernel tree version of driver is unmaintained. Sk98lin driver
	replaced by the skge driver. 
Who:Stephen Hemminger <[EMAIL PROTECTED]>


---


We have been over this several times, and I thought someone had taken 
over the driver and was providing patches to put it in. Both skge and 
sky2 have been proposed as the replacement, people have reported 
problems with each. Suggest leaving this alone until the sk98lin 
actually needs work, then take it out. Problems in my problem system 
have been intermittent, take 4-40 hours to show and generate no errors, 
other than the driver thinks it's sending packets and the sniffer doesn't.



--
Bill Davidsen <[EMAIL PROTECTED]>
  "We have more to fear from the bungling of the incompetent than from
the machinations of the wicked."  - from Slashdot
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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][I/OAT]: Remove duplicate assignation in dma_skb_copy_datagram_iovec

2008-02-13 Thread Nelson, Shannon
>-Original Message-
>From: Brice Goglin [mailto:[EMAIL PROTECTED] 
>Sent: Wednesday, February 13, 2008 1:05 PM
>To: Nelson, Shannon; Williams, Dan J
>Cc: Leech, Christopher; LKML
>Subject: [PATCH][I/OAT]: Remove duplicate assignation in 
>dma_skb_copy_datagram_iovec
>
>[I/OAT]: Remove duplicate assignation in dma_skb_copy_datagram_iovec
>
>No need to compute copy twice in the frags loop in
>dma_skb_copy_datagram_iovec().
>
>Signed-off-by: Brice Goglin <[EMAIL PROTECTED]>
>---
> user_dma.c |2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
>diff --git a/net/core/user_dma.c b/net/core/user_dma.c
>index 0ad1cd5..c77aff9 100644
>--- a/net/core/user_dma.c
>+++ b/net/core/user_dma.c
>@@ -75,7 +75,7 @@ int dma_skb_copy_datagram_iovec(struct 
>dma_chan *chan,
> 
>   end = start + skb_shinfo(skb)->frags[i].size;
>   copy = end - offset;
>-  if ((copy = end - offset) > 0) {
>+  if (copy > 0) {
>   skb_frag_t *frag = _shinfo(skb)->frags[i];
>   struct page *page = frag->page;
> 

Acked-by: Shannon Nelson <[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] xtime_lock vs update_process_times

2008-02-13 Thread Paul Mundt
On Wed, Feb 13, 2008 at 09:33:16PM +0100, Peter Zijlstra wrote:
> Subject: xtime_lock vs update_process_times
> From: Peter Zijlstra <[EMAIL PROTECTED]>
> 
> ( repost from: http://lkml.org/lkml/2008/1/28/101 )
> 
> Commit: d3d74453c34f8fd87674a8cf5b8a327c68f22e99
> Subject: hrtimer: fixup the HRTIMER_CB_IRQSAFE_NO_SOFTIRQ fallback
> 
> Broke several archs, since only Russel bothered to merge the fix,
> and Greg to ACK his arch, I'm sending this for merger.
> 
> I have confirmation that the Alpha bit results in a booting kernel.
> That leaves: blackfin, frv, sh and sparc untested.
> 
> The deadlock in question was found by Russell:
> 
>   IRQ handle 
> -> timer_tick() - xtime seqlock held for write
>   -> update_process_times() 
> -> run_local_timers()
>   -> hrtimer_run_queues()
> -> hrtimer_get_softirq_time() - tries to get a read lock
> 
> Now, Thomas assures me the fix is trivial, only do_timer() needs to be
> done under the xtime_lock, and update_process_times() can savely be removed
> from under it.
> 
The SH bits also work fine. I've already merged that part in to my tree.
Thanks, Peter.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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.25-rc1 xen pvops regression

2008-02-13 Thread Joel Becker
On Wed, Feb 13, 2008 at 10:59:33PM +1100, Jeremy Fitzhardinge wrote:
>> I thought I'd try out 2.6.25-rc1 as a xen 32-bit pae domU the other day.
>> Unfortunately, I didn't get very far very fast, as the domain just crashed
>> immediately upon booting, without any direct feedback (I did have messages
>> on the xen message buffer, which helped). This even with earlyprintk turned 
>> on.
>>
>> After a long, arduous journey, I managed to track this down to the following:
>>
>> --
>> commit   551889a6e2a24a9c06fd453ea03b57b7746ffdc0

I'm seeing the same problem, with no messages at all from xen
other than "domain crashed, restart disabled" in xend.log.  I got a
different commit in my bisect, 0947b2f31ca1ea1211d3cde2dbd8fcec579ef395
(i386 boot: replace boot_ioremap with enhanced bt_ioremap - enhance
bt_ioremap).  I started from yesterday's
96b5a46e2a72dc1829370c87053e0cd558d58bc0 (WMI: initialize
wmi_blocks.list even if ACPI is disabled) and a known good
9b73e76f3cf63379dcf45fcd4f112f5812418d0a (Merge
git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6).

> Although I'm on vacation, I happened to download a recent copy of  
> x86.git and found that it crashes early.  Here's a couple of patches to  
> apply; I don't know if they apply to current git, but I hope it helps.

> Subject: x86/early_ioremap: don't assume we're using swapper_pg_dir
> Subject: xen: unpin initial Xen pagetable once we're finished with it

After my bisect was done, I re-pulled from Linus and discovered
these patches.  Searching for these emails, they certainly sound like my
problem.  But the kernel does not boot, commit
10270d4838bdc493781f5a1cf2e90e9c34c9142f (acpi: fix
acpi_os_read_pci_configuration() misuse of raw_pci_read()).  Still no
output from Xen - pygrub selects the kernel, and then the domain just
dies back to the dom0 shell.
Attached are my latest .config and my bisect log.

Joel

-- 

"The real reason GNU ls is 8-bit-clean is so that they can
 start using ISO-8859-1 option characters."
- Christopher Davis ([EMAIL PROTECTED])

Joel Becker
Principal Software Developer
Oracle
E-mail: [EMAIL PROTECTED]
Phone: (650) 506-8127
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.25-rc1
# Wed Feb 13 17:45:45 2008
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
# CONFIG_X86_64 is not set
CONFIG_X86=y
# CONFIG_GENERIC_LOCKBREAK is not set
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_SEMAPHORE_SLEEPERS=y
CONFIG_FAST_CMPXCHG_LOCAL=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
CONFIG_QUICKLIST=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_HWEIGHT=y
# CONFIG_GENERIC_GPIO is not set
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_DMI=y
# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
# CONFIG_GENERIC_TIME_VSYSCALL is not set
CONFIG_ARCH_HAS_CPU_RELAX=y
# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
# CONFIG_ZONE_DMA32 is not set
CONFIG_ARCH_POPULATES_NODE_MAP=y
# CONFIG_AUDIT_ARCH is not set
CONFIG_ARCH_SUPPORTS_AOUT=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_X86_SMP=y
CONFIG_X86_32_SMP=y
CONFIG_X86_HT=y
CONFIG_X86_BIOS_REBOOT=y
CONFIG_X86_TRAMPOLINE=y
CONFIG_KTIME_SCALAR=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"

#
# General setup
#
CONFIG_EXPERIMENTAL=y
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION="-bisectme"
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
CONFIG_BSD_PROCESS_ACCT=y
# CONFIG_BSD_PROCESS_ACCT_V3 is not set
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
# CONFIG_TASK_XACCT is not set
CONFIG_AUDIT=y
CONFIG_AUDITSYSCALL=y
CONFIG_AUDIT_TREE=y
# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=17
# CONFIG_CGROUPS is not set
CONFIG_GROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
# CONFIG_RT_GROUP_SCHED is not set
CONFIG_USER_SCHED=y
# CONFIG_CGROUP_SCHED is not set
CONFIG_SYSFS_DEPRECATED=y
CONFIG_RELAY=y
CONFIG_NAMESPACES=y
# CONFIG_UTS_NS is not set
# CONFIG_IPC_NS is not set
# CONFIG_USER_NS is not set
# CONFIG_PID_NS is not set
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_SYSCTL=y
# CONFIG_EMBEDDED is not set
CONFIG_UID16=y
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_ALL is not set
CONFIG_KALLSYMS_EXTRA_PASS=y
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_COMPAT_BRK=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_ANON_INODES=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y

Driver removals

2008-02-13 Thread Bill Davidsen
Just a general thought on removing drivers in general, when a driver is 
removed because there's a better one, it would be good to have either a 
message which shows up at "make oldconfig" time, or a file listing the 
driver(s) which replace it.


Half the resistance to removing drivers is finding what is supposed to 
replace the driver. For instance a list of all the drivers Adrian Bunk 
has suggested to replace sk98lin, so users have something better than 
searching the source code and/or LKML archive to find the next thing to try.


In general, if a driver works and is being used, until it *needs* 
attention I see no reason to replace it. I don't agree that "it forces 
people to try the new driver" is a valid reason, being unmaintained is 
only a problem if it needs maintenance. I am not going to reopen that 
topic, I'm simply noting a general opposition to unfunded mandates, and 
requiring changes to kernel, module and/or rc.local config is just that.


--
Bill Davidsen <[EMAIL PROTECTED]>
  "We have more to fear from the bungling of the incompetent than from
the machinations of the wicked."  - from Slashdot

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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: [GIT PATCH] SCSI bug fixes for 2.6.25-rc1

2008-02-13 Thread James Bottomley

On Wed, 2008-02-13 at 17:22 -0800, David Miller wrote:
> From: James Bottomley <[EMAIL PROTECTED]>
> Date: Wed, 13 Feb 2008 19:11:53 -0600
> 
> > 
> > On Wed, 2008-02-13 at 16:16 -0800, Andrew Morton wrote:
> > > kill-warnings-in-mptbaseh-on-parisc64.patch
> > 
> > >   Warning fixes.
> > 
> > Not sure ... LSI is supposed to be processing this.
> 
> James, please don't push build warning fixes and the like back to the
> driver maintainers.
> 
> This is your domain as SCSI maintainer, and you should integrate these
> kinds of things directly and as promptly as possible.
> 
> This is doubly true if the "driver maintainer" can't be bothered
> to ACK or fixup the patch for months.
> 
> Otherwise this kind of stuff rots, and diligent people like Andrew
> (and the patch submitter, whoever that might be) get extremely
> frustrated.

LSI did ask to merge through their patch process, but I agree this one's
been hanging around for a bit long.

James


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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] adfs: trivial sparse fix

2008-02-13 Thread Harvey Harrison
fs/adfs/dir_f.c:126:4: warning: do-while statement is not a compound statement

Signed-off-by: Harvey Harrison <[EMAIL PROTECTED]>
---
 fs/adfs/dir_f.c |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/fs/adfs/dir_f.c b/fs/adfs/dir_f.c
index b9b2b27..ea7df21 100644
--- a/fs/adfs/dir_f.c
+++ b/fs/adfs/dir_f.c
@@ -122,9 +122,9 @@ adfs_dir_checkbyte(const struct adfs_dir *dir)
ptr.ptr8 = bufoff(bh, i);
end.ptr8 = ptr.ptr8 + last - i;
 
-   do
+   do {
dircheck = *ptr.ptr8++ ^ ror13(dircheck);
-   while (ptr.ptr8 < end.ptr8);
+   } while (ptr.ptr8 < end.ptr8);
}
 
/*
-- 
1.5.4.1.1278.gc75be



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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 patch] x86: make struct efi_phys static

2008-02-13 Thread Huang, Ying

On Wed, 2008-02-13 at 23:29 +0200, Adrian Bunk wrote:
> Thuis patch makes the needlessly global struct efi_phys static.
> 
> Signed-off-by: Adrian Bunk <[EMAIL PROTECTED]>
> 
> ---
> 3002c1d384e748f2928823ff4b10ed4d6082dceb 
> diff --git a/arch/x86/kernel/efi.c b/arch/x86/kernel/efi.c
> index 1411324..1211ab2 100644
> --- a/arch/x86/kernel/efi.c
> +++ b/arch/x86/kernel/efi.c
> @@ -54,7 +54,7 @@ EXPORT_SYMBOL(efi);
>  
>  struct efi_memory_map memmap;
>  
> -struct efi efi_phys __initdata;
> +static struct efi efi_phys __initdata;
>  static efi_system_table_t efi_systab __initdata;
>  
>  static int __init setup_noefi(char *arg)

Reviewed-by: Huang Ying <[EMAIL PROTECTED]>

Best Regards,
Huang Ying

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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/4 resend] [x86] Add generic GPIO support to x86

2008-02-13 Thread David Brownell
On Wednesday 13 February 2008, Andrew Morton wrote:
> It would be more modern to have a  which takes care of
> cruddy details, but it's getting too late for that.

Sort of like this?  For drivers that don't want to list themselves
in Kconfig as depending on GENERIC_GPIO (e.g. one NAND driver I heard
about), this lets them use  ... existing code can't
break, and it won't hurt if new code uses this.

- Dave


== CUT HERE
Add a  defining fail/warn stubs for GPIO calls on
platforms that don't support the GPIO programming interface.  It
includes the arch-specific interface glue otherwise.

Signed-off-by: David Brownell <[EMAIL PROTECTED]>
---
 include/linux/gpio.h |   93 +++
 1 file changed, 93 insertions(+)

--- /dev/null   1970-01-01 00:00:00.0 +
+++ g26/include/linux/gpio.h2008-02-13 17:40:06.0 -0800
@@ -0,0 +1,93 @@
+#ifndef __LINUX_GPIO_H
+#define __LINUX_GPIO_H
+
+#ifdef CONFIG_GENERIC_GPIO
+#include 
+
+#else
+
+/*
+ * Some platforms don't support the GPIO programming interface.
+ *
+ * In case some driver uses it anyway (it should normally have
+ * depended on GENERIC_GPIO), these routines help the compiler
+ * optimize out much GPIO-related code ... or trigger a runtime
+ * warning when something is wrongly called.
+ */
+
+static inline int gpio_is_valid(int number)
+{
+   return 0;
+}
+
+static inline int gpio_request(unsigned gpio, const char *label)
+{
+   return -EINVAL;
+}
+
+static inline void gpio_free(unsigned gpio)
+{
+   /* GPIO can never have been requested */
+   WARN_ON(1);
+}
+
+static inline int gpio_direction_input(unsigned gpio)
+{
+   return -EINVAL;
+}
+
+static inline int gpio_direction_output(unsigned gpio, int value)
+{
+   return -EINVAL;
+}
+
+static inline int gpio_get_value(unsigned gpio)
+{
+   /* GPIO can never have been requested or set as {in,out}put */
+   WARN_ON(1);
+   return 0;
+}
+
+static inline void gpio_set_value(unsigned gpio, int value)
+{
+   /* GPIO can never have been requested or set as output */
+   WARN_ON(1);
+}
+
+static int gpio_cansleep(unsigned gpio)
+{
+   /* GPIO can never have been requested or set as {in,out}put */
+   WARN_ON(1);
+   return 0;
+}
+
+static inline int gpio_get_value_cansleep(unsigned gpio)
+{
+   /* GPIO can never have been requested or set as {in,out}put */
+   WARN_ON(1);
+   return 0;
+}
+
+static inline void gpio_set_value_cansleep(unsigned gpio, int value)
+{
+   /* GPIO can never have been requested or set as output */
+   WARN_ON(1);
+}
+
+static inline int gpio_to_irq(unsigned gpio)
+{
+   /* GPIO can never have been requested or set as input */
+   WARN_ON(1);
+   return -EINVAL;
+}
+
+static inline int irq_to_gpio(unsigned irq)
+{
+   /* irq can never have been returned from gpio_to_irq() */
+   WARN_ON(1);
+   return -EINVAL;
+}
+
+#endif
+
+#endif /* __LINUX_GPIO_H */

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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] inotify: make variables static in inotify_user.c

2008-02-13 Thread Harvey Harrison
inotify_max_user_instances, inotify_max_user_watches, inotify_max_queued_events
can all be made static.

Signed-off-by: Harvey Harrison <[EMAIL PROTECTED]>
---
 fs/inotify_user.c |6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/fs/inotify_user.c b/fs/inotify_user.c
index 3ab09a6..9ef4d21 100644
--- a/fs/inotify_user.c
+++ b/fs/inotify_user.c
@@ -41,9 +41,9 @@ static struct kmem_cache *event_cachep __read_mostly;
 static struct vfsmount *inotify_mnt __read_mostly;
 
 /* these are configurable via /proc/sys/fs/inotify/ */
-int inotify_max_user_instances __read_mostly;
-int inotify_max_user_watches __read_mostly;
-int inotify_max_queued_events __read_mostly;
+static int inotify_max_user_instances __read_mostly;
+static int inotify_max_user_watches __read_mostly;
+static int inotify_max_queued_events __read_mostly;
 
 /*
  * Lock ordering:
-- 
1.5.4.1.1278.gc75be



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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.24-rt1] SMC91x: Use special_lock when CONFIG_PREEMPT_[HARD|SOFT]IRQS

2008-02-13 Thread Kevin Hilman
The smc_special_locks should also be used when either softIRQs or hard
IRQs are preempted which may lead to the same problems as under SMP.

Signed-off-by: Kevin Hilman <[EMAIL PROTECTED]>

---
 drivers/net/smc91x.c |3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/net/smc91x.c b/drivers/net/smc91x.c
index f198c49..be62616 100644
--- a/drivers/net/smc91x.c
+++ b/drivers/net/smc91x.c
@@ -530,7 +530,8 @@ static inline void  smc_rcv(struct net_device *dev)
}
 }
 
-#ifdef CONFIG_SMP
+#if defined(CONFIG_SMP) || \
+defined(CONFIG_PREEMPT_SOFTIRQS) || defined(CONFIG_PREEMPT_HARDIRQS)
 /*
  * On SMP we have the following problem:
  *
-- 
1.5.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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] x86: EFI runtime code mapping enhancement

2008-02-13 Thread Huang, Ying
On Wed, 2008-02-13 at 12:32 +0100, Andi Kleen wrote:
> Huang, Ying wrote:
> > This patch enhances EFI runtime code memory mapping as following:
> > 
> > - Move __supported_pte_mask & _PAGE_NX checking before invoking
> >   runtime_code_page_mkexec(). This makes it possible for compiler to
> >   eliminate runtime_code_page_mkexec() on machine without NX support.
> > 
> > - Use set_memory_x/nx in early_mapping_set_exec(). This eliminates the
> >   duplicated implementation.
> 
> It's a inefficiency because you split up the 2MB (or 1GB) pages
> in the direct mapping, although that is not strictly needed. This
> means everybody who happens to use memory in same 2M/1G region
> will eat unnecessary TLB misses.
> 
> It would be generally better to only execute your code in
> ioremap_cache() because that won't affect anybody else.
> 
> Eventually set_memory_x() will work correctly for ioremap() too
> so that should work then.

For EFI runtime service in virtual mode, using direct mapping is mainly
for kexec, where EFI runtime memory area need to be mapped at same
virtual address across kexec. For performance reason, it may be better
to use fixmap only instead. But this will waste some fixmap space.

But this patch is for EFI runtime service in physical mode (in 64 mode,
this needs a direct mapping page table), there are two choice.

- Use direct mapping of kernel, clean NX bit from kernel page table
temporarily before/after EFI calling. This needs not split 2M page into
4K pages, because the region changed is aligned with 2M. And, because
the changing is temporary, a little larger region is not a big issue.

- Construct a direct mapping page table for EFI only. I think this is
not good too. The code will be duplicated with kernel page table
initialization code.


An issue of this patch is that it does not work with 1G page. Aligning
EFI runtime code region with 1G seems not a good idea too. I think a
better method is adding a non-split mode to c_p_a(), where the region
changed is enlarged if necessary to avoid page allocation. This can be
used to implement early_set_memory_xx(). The early_set_memory_xx()
instead of duplicated c_p_a() variant can be used by EFI code.

Best Regards,
Huang Ying

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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 patch] make secmark_tg_destroy() static

2008-02-13 Thread David Miller
From: Adrian Bunk <[EMAIL PROTECTED]>
Date: Wed, 13 Feb 2008 23:29:40 +0200

> This patch makes the needlessly global secmark_tg_destroy() static.
> 
> Signed-off-by: Adrian Bunk <[EMAIL PROTECTED]>

Applied.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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] printk: clean up recursion check related static variables

2008-02-13 Thread Tejun Heo
Make printk_recursion_bug_msg static, drop printk prefix from recurson
variables and move them into vprintk().

Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
---
This is slightly modified version of the clean up part.  I don't think
it's wise to pull out all static variables out of functions.  Thanks.

 kernel/printk.c |   22 ++
 1 file changed, 10 insertions(+), 12 deletions(-)

Index: work/kernel/printk.c
===
--- work.orig/kernel/printk.c
+++ work/kernel/printk.c
@@ -613,15 +613,13 @@ asmlinkage int printk(const char *fmt, .
return r;
 }
 
-/* cpu currently holding logbuf_lock */
-static volatile unsigned int printk_cpu = UINT_MAX;
-
-const char printk_recursion_bug_msg [] =
-   KERN_CRIT "BUG: recent printk recursion!\n";
-static int printk_recursion_bug;
-
 asmlinkage int vprintk(const char *fmt, va_list args)
 {
+   /* cpu currently holding logbuf_lock */
+   static volatile unsigned int printk_cpu = UINT_MAX;
+   static const char recursion_bug_msg [] =
+   KERN_CRIT "BUG: recent printk recursion!\n";
+   static int recursion_bug;
static int log_level_unknown = 1;
static char printk_buf[1024];
 
@@ -649,7 +647,7 @@ asmlinkage int vprintk(const char *fmt, 
 * it can be printed at the next appropriate moment:
 */
if (!oops_in_progress) {
-   printk_recursion_bug = 1;
+   recursion_bug = 1;
goto out_restore_irqs;
}
zap_locks();
@@ -659,10 +657,10 @@ asmlinkage int vprintk(const char *fmt, 
spin_lock(_lock);
printk_cpu = this_cpu;
 
-   if (printk_recursion_bug) {
-   printk_recursion_bug = 0;
-   strcpy(printk_buf, printk_recursion_bug_msg);
-   printed_len = sizeof(printk_recursion_bug_msg);
+   if (recursion_bug) {
+   recursion_bug = 0;
+   strcpy(printk_buf, recursion_bug_msg);
+   printed_len = sizeof(recursion_bug_msg);
}
/* Emit the output into the temporary buffer */
printed_len += vscnprintf(printk_buf + printed_len,
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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 patch] unexport __inet_hash_connect

2008-02-13 Thread David Miller
From: Adrian Bunk <[EMAIL PROTECTED]>
Date: Wed, 13 Feb 2008 23:29:46 +0200

> This patch removes the unused EXPORT_SYMBOL_GPL(__inet_hash_connect).
> 
> Signed-off-by: Adrian Bunk <[EMAIL PROTECTED]>

Applied.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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: Question on timekeeping subsystem

2008-02-13 Thread Roman Zippel
Hi,

On Wednesday 13. February 2008, Francis Moreau wrote:

> First I tried to find some documentation on the current implementation
> but haven't found any thing really usefull. Specially there's nothing about
> it in Documentation/ directory. Please correct me if I'm already wrong.
>
> Actually I read the implementation of update_wall_time() and I really fail
> to understand how it works. This is probably because I don't know
> what "xtime_nsec" and "error" fields in clocksource struct are for.
> These fields are not documented anywhere in the source code so it
> should be obvious but unfortunately not for me.

These mails should help to understand, what this code does:

http://lkml.org/lkml/2006/3/4/61
http://lkml.org/lkml/2006/4/3/205

bye, Roman
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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/2] remove rcu_assign_pointer(NULL) penalty with type/macro safety

2008-02-13 Thread Stephen Hemminger
On Wed, 13 Feb 2008 17:34:27 -0800
"Paul E. McKenney" <[EMAIL PROTECTED]> wrote:

> On Wed, Feb 13, 2008 at 04:53:56PM -0800, Stephen Hemminger wrote:
> > On Wed, 13 Feb 2008 16:42:53 -0800
> > "Paul E. McKenney" <[EMAIL PROTECTED]> wrote:
> > > On Wed, Feb 13, 2008 at 04:27:00PM -0800, Stephen Hemminger wrote:
> 
> [ . . . ]
> 
> > > > That is heading towards ugly...  Maybe not using the macro at all (for 
> > > > this case) would be best:
> > > > 
> > > > static inline void node_set_parent(struct node *node, struct tnode *ptr)
> > > > {
> > > > smp_wmb();
> > > > node->parent = (unsigned long)ptr | NODE_TYPE(node);
> > > > }
> > > 
> > > Or, alternatively, the rcu_assign_index() patch sent earlier to avoid
> > > the bare memory barrier?
> > > 
> > >   Thanx, Paul
> > 
> > I am fine with rcu_assign_index(), and add a comment in node_set_parent.
> 
> OK, how about the following?
> 
> Signed-off-by: Paul E. McKenney <[EMAIL PROTECTED]>
> ---
> 
>  fib_trie.c |   11 +--
>  1 file changed, 9 insertions(+), 2 deletions(-)
> 
> diff -urpNa -X dontdiff linux-2.6.25-rc1/net/ipv4/fib_trie.c 
> linux-2.6.25-rc1-fib_trie-warn.compile/net/ipv4/fib_trie.c
> --- linux-2.6.25-rc1/net/ipv4/fib_trie.c  2008-02-13 14:38:12.0 
> -0800
> +++ linux-2.6.25-rc1-fib_trie-warn.compile/net/ipv4/fib_trie.c
> 2008-02-13 17:31:16.0 -0800
> @@ -96,6 +96,14 @@ typedef unsigned int t_key;
>  #define IS_TNODE(n) (!(n->parent & T_LEAF))
>  #define IS_LEAF(n) (n->parent & T_LEAF)
>  
> +/*
> + * The "parent" fields in struct node and struct leaf are really pointers,
> + * but with the possibility that the T_LEAF bit is set.  Therefore, both
> + * the C compiler and RCU see them as integers rather than pointers.
> + * This in turn means that rcu_assign_index() must be used to assign
> + * values to these fields, rather than the usual rcu_assign_pointer().
> + */
> +
>  struct node {
>   unsigned long parent;
>   t_key key;
> @@ -179,8 +187,7 @@ static inline struct tnode *node_parent_
>  
>  static inline void node_set_parent(struct node *node, struct tnode *ptr)
>  {
> - rcu_assign_pointer(node->parent,
> -(unsigned long)ptr | NODE_TYPE(node));
> + rcu_assign_index(node->parent, (unsigned long)ptr | NODE_TYPE(node));
>  }
>  
>  static inline struct node *tnode_get_child(struct tnode *tn, unsigned int i)

Yes, thats great.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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 ELF_CORE_EFLAGS for kcore ELF header flags.

2008-02-13 Thread Yoshinori Sato
At Tue, 12 Feb 2008 14:34:23 +0100,
Edgar E. Iglesias wrote:
> 
> ELF_CORE_EFLAGS is already used by the binfmt_elf coredumper to set correct 
> arch specific ELF header flags on coredumps. Use it for kcore aswell.
> This corrects kcore files for the CRIS arch and I beleive it corrects 
> ordinary coredumps for the H8/300.
> 
> Signed-off-by: Edgar E. Iglesias <[EMAIL PROTECTED]>
> 
> ---
> 
> diff --git a/fs/proc/kcore.c b/fs/proc/kcore.c
> index e78c81f..c2370c7 100644
> --- a/fs/proc/kcore.c
> +++ b/fs/proc/kcore.c
> @@ -23,6 +23,10 @@
>  
>  #define CORE_STR "CORE"
>  
> +#ifndef ELF_CORE_EFLAGS
> +#define ELF_CORE_EFLAGS  0
> +#endif
> +
>  static int open_kcore(struct inode * inode, struct file * filp)
>  {
>   return capable(CAP_SYS_RAWIO) ? 0 : -EPERM;
> @@ -164,11 +168,7 @@ static void elf_kcore_store_hdr(char *bufp, int nphdr, 
> int dataoff)
>   elf->e_entry= 0;
>   elf->e_phoff= sizeof(struct elfhdr);
>   elf->e_shoff= 0;
> -#if defined(CONFIG_H8300)
> - elf->e_flags= ELF_FLAGS;
> -#else
> - elf->e_flags= 0;
> -#endif
> + elf->e_flags= ELF_CORE_EFLAGS;
>   elf->e_ehsize   = sizeof(struct elfhdr);
>   elf->e_phentsize= sizeof(struct elf_phdr);
>   elf->e_phnum= nphdr;
> diff --git a/include/asm-h8300/elf.h b/include/asm-h8300/elf.h
> index 26bfc7e..806f20b 100644
> --- a/include/asm-h8300/elf.h
> +++ b/include/asm-h8300/elf.h
> @@ -32,6 +32,8 @@ typedef unsigned long elf_fpregset_t;
>  #define ELF_FLAGS   0x82
>  #endif
>  
> +#define ELF_CORE_EFLAGS ELF_FLAGS
> +
>  #define ELF_PLAT_INIT(_r)_r->er1 = 0
>  
>  #define USE_ELF_CORE_DUMP

Hmm...
I think more simple.

--- include/asm-h8300/elf.h~2008-02-12 17:42:50.0 -0500
+++ include/asm-h8300/elf.h 2008-02-13 20:26:58.0 -0500
@@ -26,10 +26,10 @@
 #define ELF_DATA   ELFDATA2MSB
 #define ELF_ARCH   EM_H8_300
 #if defined(__H8300H__)
-#define ELF_FLAGS   0x81
+#define ELF_CORE_FLAGS  0x81
 #endif
 #if defined(__H8300S__)
-#define ELF_FLAGS   0x82
+#define ELF_CORE_FLAGS  0x82
 #endif
 
 #define ELF_PLAT_INIT(_r)  _r->er1 = 0

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


Re: [PATCH 1/2] remove rcu_assign_pointer(NULL) penalty with type/macro safety

2008-02-13 Thread Paul E. McKenney
On Wed, Feb 13, 2008 at 04:53:56PM -0800, Stephen Hemminger wrote:
> On Wed, 13 Feb 2008 16:42:53 -0800
> "Paul E. McKenney" <[EMAIL PROTECTED]> wrote:
> > On Wed, Feb 13, 2008 at 04:27:00PM -0800, Stephen Hemminger wrote:

[ . . . ]

> > > That is heading towards ugly...  Maybe not using the macro at all (for 
> > > this case) would be best:
> > > 
> > > static inline void node_set_parent(struct node *node, struct tnode *ptr)
> > > {
> > >   smp_wmb();
> > >   node->parent = (unsigned long)ptr | NODE_TYPE(node);
> > > }
> > 
> > Or, alternatively, the rcu_assign_index() patch sent earlier to avoid
> > the bare memory barrier?
> > 
> > Thanx, Paul
> 
> I am fine with rcu_assign_index(), and add a comment in node_set_parent.

OK, how about the following?

Signed-off-by: Paul E. McKenney <[EMAIL PROTECTED]>
---

 fib_trie.c |   11 +--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff -urpNa -X dontdiff linux-2.6.25-rc1/net/ipv4/fib_trie.c 
linux-2.6.25-rc1-fib_trie-warn.compile/net/ipv4/fib_trie.c
--- linux-2.6.25-rc1/net/ipv4/fib_trie.c2008-02-13 14:38:12.0 
-0800
+++ linux-2.6.25-rc1-fib_trie-warn.compile/net/ipv4/fib_trie.c  2008-02-13 
17:31:16.0 -0800
@@ -96,6 +96,14 @@ typedef unsigned int t_key;
 #define IS_TNODE(n) (!(n->parent & T_LEAF))
 #define IS_LEAF(n) (n->parent & T_LEAF)
 
+/*
+ * The "parent" fields in struct node and struct leaf are really pointers,
+ * but with the possibility that the T_LEAF bit is set.  Therefore, both
+ * the C compiler and RCU see them as integers rather than pointers.
+ * This in turn means that rcu_assign_index() must be used to assign
+ * values to these fields, rather than the usual rcu_assign_pointer().
+ */
+
 struct node {
unsigned long parent;
t_key key;
@@ -179,8 +187,7 @@ static inline struct tnode *node_parent_
 
 static inline void node_set_parent(struct node *node, struct tnode *ptr)
 {
-   rcu_assign_pointer(node->parent,
-  (unsigned long)ptr | NODE_TYPE(node));
+   rcu_assign_index(node->parent, (unsigned long)ptr | NODE_TYPE(node));
 }
 
 static inline struct node *tnode_get_child(struct tnode *tn, unsigned int i)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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 UPDATED] printk: fix possible printk buffer overrun introduced with recursion check

2008-02-13 Thread Tejun Heo
printk recursion detection prepends message to printk_buf and offsets
printk_buf when actual message is printed but it forgets to trim
buffer length accordingly.  This can result in buffer overrun in
extreme cases.  Fix it.

Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
Acked-by: Ingo Molnar <[EMAIL PROTECTED]>
---
Splitted out fix portion.

 kernel/printk.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/printk.c b/kernel/printk.c
index bee3610..9adc2a4 100644
--- a/kernel/printk.c
+++ b/kernel/printk.c
@@ -666,7 +666,7 @@ asmlinkage int vprintk(const char *fmt, va_list args)
}
/* Emit the output into the temporary buffer */
printed_len += vscnprintf(printk_buf + printed_len,
- sizeof(printk_buf), fmt, args);
+ sizeof(printk_buf) - printed_len, fmt, args);
 
/*
 * Copy the output into log_buf.  If the caller didn't provide
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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 patch] fix module_update_markers() compile error

2008-02-13 Thread Mathieu Desnoyers
* Adrian Bunk ([EMAIL PROTECTED]) wrote:
> This patch fixes the following compile error with CONFIG_MODULES=n 
> caused by commit fb40bd78b0f91b274879cf5db8facd1e04b6052e:
> 
> <--  snip  -->
> 
> ...
>   CC  kernel/marker.o
> /home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/marker.c: In function 
> ‘marker_update_probes’:
> /home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/marker.c:627: error: too few 
> arguments to function ‘module_update_markers’
> make[2]: *** [kernel/marker.o] Error 1
> 
> <--  snip  -->
> 
> Signed-off-by: Adrian Bunk <[EMAIL PROTECTED]>
> 

Thanks for spotting this.

Acked-by: Mathieu Desnoyers <[EMAIL PROTECTED]>

> ---
> 8d811a4160c6e2cb92391076e0e0b500e1b4a8a2 diff --git a/include/linux/module.h 
> b/include/linux/module.h
> index 330bec0..819c4e8 100644
> --- a/include/linux/module.h
> +++ b/include/linux/module.h
> @@ -567,8 +567,7 @@ static inline void print_modules(void)
>  {
>  }
>  
> -static inline void module_update_markers(struct module *probe_module,
> - int *refcount)
> +static inline void module_update_markers(void)
>  {
>  }
>  
> 

-- 
Mathieu Desnoyers
Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


eth0 changes to eth1 after initial boot; udev rules correct; modprobe.conf correct.

2008-02-13 Thread Ehud . Gavron
Since going to 2.6.24 my wired lan changed from eth0 to eth1.  It starts 
as eth0... but then changes to eth1.


udev rules hard sets it to eth0.  For the heck of it I deleted 
70...network... and it recreated it with eth1, I changed manually to 
eth0. still have the problem.


modprobe.conf had an alias for eth1, changed it to eth0, no difference. 
removed modprobe alias. no difference.


sysconfig as written by kudzu made it eth1, changed to eth0 and stopped 
kudzu from running.  still persists to becoming eth1.


THERE IS NO REFERENCE TO ETH1 in any file and yet upon boot... it 
CHANGES from eth0 to eth1!!!


Where else in the system does something cause this effect?

I have googled "eth0 becomes eth1", "nic changes name" both with and 
without 2.6.24.  Every response referse to the udev rules in 
70-presistent-net.rules. 

Any ideas to resolve or debug this would be appreciated. 


E
[EMAIL PROTECTED] ~]# dmesg | grep eth
Driver 'sd' needs updating - please use bus_type methods
Driver 'sr' needs updating - please use bus_type methods
eth0: Tigon3 [partno(BCM5752KFBG) rev 6002 PHY(5752)] (PCI Express) 
10/100/1000Base-T Ethernet 00:18:8b:a5:2c:f5

eth0: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[0] WireSpeed[1] TSOcap[1]
eth0: dma_rwctrl[7618] dma_mask[64-bit]
ADDRCONF(NETDEV_UP): eth1: link is not ready
bridge-eth0: peer interface eth0 not found, will wait for it to come up
bridge-eth0: attached
ADDRCONF(NETDEV_UP): eth1: link is not ready
[EMAIL PROTECTED] ~]# ifconfig -a
eth1  Link encap:Ethernet  HWaddr 00:18:8B:A5:2C:F5  UP 
BROADCAST MULTICAST  MTU:1500  Metric:1

RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
Interrupt:18

loLink encap:Local Loopback  inet addr:127.0.0.1  
Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING  MTU:16436  Metric:1
RX packets:1309 errors:0 dropped:0 overruns:0 frame:0
TX packets:1309 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2366648 (2.2 MiB)  TX bytes:2366648 (2.2 MiB)

vmnet8Link encap:Ethernet  HWaddr 00:50:56:C0:00:08  inet 
addr:192.168.232.1  Bcast:192.168.232.255  Mask:255.255.255.0

inet6 addr: fe80::250:56ff:fec0:8/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

wlan0 Link encap:Ethernet  HWaddr 00:1A:92:0E:40:1F  inet 
addr:10.1.1.5  Bcast:10.1.1.255  Mask:255.255.255.0

inet6 addr: fe80::21a:92ff:fe0e:401f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:17 errors:0 dropped:0 overruns:0 frame:0
TX packets:15 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1838 (1.7 KiB)  TX bytes:1900 (1.8 KiB)

wmaster0  Link encap:UNSPEC  HWaddr 
00-1A-92-0E-40-1F-00-00-00-00-00-00-00-00-00-00  UP BROADCAST 
RUNNING MULTICAST  MTU:1500  Metric:1

RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
[EMAIL PROTECTED] ~]# more /etc/udev/rules.d/70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single line.

# PCI device 0x14e4:0x1600 (tg3) (custom name provided by external tool)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", 
ATTR{address}=="00:18:8b:a5:2c:f

5", ATTR{type}=="1", NAME="eth0"

# PCI device 0x14e4:0x4311 (b43-pci-bridge)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", 
ATTR{address}=="00:1a:92:0e:40:1

f", ATTR{type}=="1", NAME="wlan0"
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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: [PATCHSET] printk: implement printk_header() and merging printk, take #3

2008-02-13 Thread Tejun Heo
Hello,

Andrew Morton wrote:
> On Thu, 14 Feb 2008 09:40:51 +0900
> Tejun Heo <[EMAIL PROTECTED]> wrote:
> 
>> Can you please take a look at ata_eh_link_report() in
>> drivers/ata/libata-eh.c?
> 
> I did.  Punishment?

Heh.. :-)

>>  Currently, it has some problems.
> 
> Yes, and the patches do clean that up.

Yeap, it does.

> ho hum.  What tends to happen with this sort of thing is that fi we merge
> it, it ends up getting used more often than one expected...

Hmmm... Okay.  mprintk being printk, I'm not too sure how it can go over
usual expectations but well, yeah, that actually is my expectation.

> If you stand back and squint at it, there are quite a few places where we
> do this sort of thing: allocate a buffer, squirt characters into it,
> reallocating and/or flushing as we proceed.  All sysfs and procfs read-side
> code, for a start...

printk is a special case, I think.  It's the primary logging/debugging
method which can't fail and as it's mostly interpreted by human beings
(and developers in problematic cases), it has different maneuvering room
on errors - ie. it's far better to print messages w/o header or proper
log level than failing to print, which is quite different requirements
from other components.

Thanks.

-- 
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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: [GIT PATCH] SCSI bug fixes for 2.6.25-rc1

2008-02-13 Thread David Miller
From: James Bottomley <[EMAIL PROTECTED]>
Date: Wed, 13 Feb 2008 19:11:53 -0600

> 
> On Wed, 2008-02-13 at 16:16 -0800, Andrew Morton wrote:
> > kill-warnings-in-mptbaseh-on-parisc64.patch
> 
> >   Warning fixes.
> 
> Not sure ... LSI is supposed to be processing this.

James, please don't push build warning fixes and the like back to the
driver maintainers.

This is your domain as SCSI maintainer, and you should integrate these
kinds of things directly and as promptly as possible.

This is doubly true if the "driver maintainer" can't be bothered
to ACK or fixup the patch for months.

Otherwise this kind of stuff rots, and diligent people like Andrew
(and the patch submitter, whoever that might be) get extremely
frustrated.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


earlier ctrl-alt-del

2008-02-13 Thread Nick Levinson
Suggestion: ctrl-alt-del should be a working command
earlier in the bootup process, so that reboots won't
take so long because we have to wait. For example, I
sometimes have to change something in BIOS and then
must reboot, which means I have to go almost to the
login stage before I can warm-reboot.

I now use Fedora Core 4, with kernel
2.6.11-1.1369_FC4.

I don't have the time to do much more than suggest,
e.g., learn C and assembler -- I wish I did. And maybe
earlier ctrl-alt-del would raise too many conflicts or
can't be done. I don't know.

Thanx.

-- 
Nick

(Please post the above to the linux.kernel newsgroup,
and please CC me for any answers and comments in
reply. Thank you.)


  

Never miss a thing.  Make Yahoo your home page. 
http://www.yahoo.com/r/hs
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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.24-git: kmap_atomic() WARN_ON()

2008-02-13 Thread Thomas Gleixner
On Wed, 13 Feb 2008, Rafael J. Wysocki wrote:

> Hi Thomas,
> 
> On Thursday, 7 of February 2008, Thomas Gleixner wrote:
> > current mainline triggers:
> 
> Has the issue been fixed in the meantime?

Nope. 

Just for reference: http://lkml.org/lkml/2007/1/14/38 looks
frighteningly similar.

Thanks,

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


Latency issues with x86.git

2008-02-13 Thread Kevin Winchester

Hi Ingo,

I have encountered (a handful of times in the past few months) some real
interactivity problems on my system.  Moving the mouse or typing a key
on the keyboard takes around a second to show any response.  Once I
perform a reboot, the problem is gone again.  I am currently running
x86.git mm branch, but I switch between that branch, mainline git, and
mm kernels, so I cannot guarantee on which trees I have or have not seen
the problem.

It seems to have started around the time that CFS came into being, but
it might be something completely unrelated.

When it happened this evening, I ran the cfs-debug-info.sh script to
which you had referred me in another thread.  I'm not sure if this helps
to debug the problem, but it was all I could think to try.  I have
LatencyTOP in my kernel, so I guess I could try the userspace tool as
well the next time.

The output of the script is at:

http://personal.nbnet.nb.ca/kwin/cfs-debug-info-2008.02.13-20.56.38


Unfortunately, I cannot reproduce the problem intentionally - it only
happens once a month or so.

If there is any other info you need, please let me know, or any
suggestions for what to try the next time.

Thanks,

-- 
Kevin Winchester
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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: [GIT PATCH] SCSI bug fixes for 2.6.25-rc1

2008-02-13 Thread James Bottomley

On Wed, 2008-02-13 at 16:16 -0800, Andrew Morton wrote:
> On Wed, 13 Feb 2008 18:02:44 -0600
> James Bottomley <[EMAIL PROTECTED]> wrote:
> 
> > This one's not too bad given the number of patches we had in the merge
> > window.  We have the advansys fix, a gdth severe problem fix (wouldn't
> > scan any devices) a bug fix series for lpfc and a few other odds and
> > ends.
> > 
> > The patch is available here:
> > 
> > master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6.git
> 
> I have scsi patches!
> 
> 
> 
> mptbase-reset-ioc-initiator-during-pci-resume.patch
> 
>   Fixes suspend/resume on all of Darrick's MPT cards.  I first merged it
>   in September 2007.

Patch presented by LSI but has gone back with comments

> kill-warnings-in-mptbaseh-on-parisc64.patch

>   Warning fixes.

Not sure ... LSI is supposed to be processing this.

> dell-cerc-support-for-megaraid_mbox.patch

I need megaraid to sign off (and test) this one.

>   Turns non-booting machiens into booting ones.  Merged in -mm in
>   November 2007.
> 
> 3w-raid-drivers-memset-not-needed-in-probe.patch
> 
>   Small optimisation
> 
> scsi-aic94xx-cleanups.patch
> 
>   cleanups only.
> 
> scsi-qlogicptic-section-fixes.patch
> 
>   Fixes a reference from .text into .init.text and hence might fix a
>   machine crash when this driver is build into vmlinux.  Merged a week ago.

This was the one we had the alternative fix for, wasn't it ... ?

> megaraid-outb_p-extermination.patch
> 
>   Cleanup
> 
> gdth-convert-to-pci-hotplug-api.patch
> 
>   Just merged

That's not a bug fix necessarily ... We do have an outstanding gdth bug
fix that did have a patch in your tree, though ...  But we're arguing
over doing it properly.

> 
> So several of these patches address quite seriosu bugs, and have been
> stuck in my tree for far too long.

James


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message 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   8   9   10   >