2009-09-25 03:38:36

by Stephen Rothwell

[permalink] [raw]
Subject: linux-next: Tree for September 25

Hi all,

Please do not add code destined for 2.6.33 into linux-next trees until
(at least) 2.6.32-rc1 is out. This will hopefully give those who have
stuff destined for just after -rc1 a chance.

The current diffstat ends like this:

886 files changed, 114306 insertions(+), 17547 deletions(-)

And the dirstat looks like this:

6.2% arch/arm/
17.5% drivers/block/drbd/
6.1% drivers/scsi/be2iscsi/
3.2% drivers/scsi/bfa/include/defs/
3.0% drivers/scsi/bfa/include/protocol/
6.3% drivers/scsi/bfa/include/
26.8% drivers/scsi/bfa/
4.6% drivers/staging/agnx/
4.3% drivers/staging/tm6000/
10.6% drivers/

So I guess we are nearly done for -rc1.

Changes since 20090924:

We are seeing conflicts resolved and move from one tree to another as
Linus merges them.

My fixes tree contains a build fix for powerpc/kvm.

The cifs tree gained a couple of build failures for which I reverted a
couple of commits.

The tip tree lost its conflict.

----------------------------------------------------------------------------

I have created today's linux-next tree at
git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
(patches at http://www.kernel.org/pub/linux/kernel/v2.6/next/ ). If you
are tracking the linux-next tree using git, you should not use "git pull"
to do so as that will try to merge the new linux-next release with the
old one. You should use "git fetch" as mentioned in the FAQ on the wiki
(see below).

You can see which trees have been included by looking in the Next/Trees
file in the source. There are also quilt-import.log and merge.log files
in the Next directory. Between each merge, the tree was built with
a ppc64_defconfig for powerpc and an allmodconfig for x86_64. After the
final fixups (if any), it is also built with powerpc allnoconfig (32 and
64 bit), ppc44x_defconfig and allyesconfig (minus
CONFIG_PROFILE_ALL_BRANCHES - this fails its final link) and i386, sparc
and sparc64 defconfig. These builds also have
CONFIG_ENABLE_WARN_DEPRECATED, CONFIG_ENABLE_MUST_CHECK and
CONFIG_DEBUG_INFO disabled when necessary.

Below is a summary of the state of the merge.

We are up to 139 trees (counting Linus' and 21 trees of patches pending for
Linus' tree), more are welcome (even if they are currently empty).
Thanks to those who have contributed, and to those who haven't, please do.

Status of my local build tests will be at
http://kisskb.ellerman.id.au/linux-next . If maintainers want to give
advice about cross compilers/configs that work, we are always open to add
more builds.

Thanks to Jan Dittmer for adding the linux-next tree to his build tests
at http://l4x.org/k/ , the guys at http://test.kernel.org/ and Randy
Dunlap for doing many randconfig builds.

There is a wiki covering stuff to do with linux-next at
http://linux.f-seidel.de/linux-next/pmwiki/ . Thanks to Frank Seidel.

--
Cheers,
Stephen Rothwell [email protected]

$ git checkout master
$ git reset --hard stable
Merging origin/master
Merging fixes/fixes
Merging arm-current/master
CONFLICT (content): Merge conflict in MAINTAINERS
Merging m68k-current/for-linus
Merging powerpc-merge/merge
Merging sparc-current/master
Merging scsi-rc-fixes/master
Merging net-current/master
CONFLICT (content): Merge conflict in drivers/staging/Kconfig
CONFLICT (content): Merge conflict in drivers/staging/Makefile
CONFLICT (delete/modify): drivers/staging/cpc-usb/TODO deleted in net-current/master and modified in HEAD. Version HEAD of drivers/staging/cpc-usb/TODO left in tree.
CONFLICT (delete/modify): drivers/staging/cpc-usb/cpc-usb_drv.c deleted in net-current/master and modified in HEAD. Version HEAD of drivers/staging/cpc-usb/cpc-usb_drv.c left in tree.
CONFLICT (delete/modify): drivers/staging/cpc-usb/cpc.h deleted in net-current/master and modified in HEAD. Version HEAD of drivers/staging/cpc-usb/cpc.h left in tree.
CONFLICT (delete/modify): drivers/staging/cpc-usb/cpc_int.h deleted in net-current/master and modified in HEAD. Version HEAD of drivers/staging/cpc-usb/cpc_int.h left in tree.
CONFLICT (delete/modify): drivers/staging/cpc-usb/cpcusb.h deleted in net-current/master and modified in HEAD. Version HEAD of drivers/staging/cpc-usb/cpcusb.h left in tree.
$ git rm -f drivers/staging/cpc-usb/TODO drivers/staging/cpc-usb/cpc-usb_drv.c drivers/staging/cpc-usb/cpc.h drivers/staging/cpc-usb/cpc_int.h drivers/staging/cpc-usb/cpcusb.h
Merging sound-current/for-linus
Merging pci-current/for-linus
Merging wireless-current/master
Merging kbuild-current/master
Merging quilt/driver-core.current
Merging quilt/tty.current
Merging quilt/usb.current
CONFLICT (content): Merge conflict in drivers/usb/host/xhci-hcd.c
CONFLICT (content): Merge conflict in drivers/usb/host/xhci-mem.c
CONFLICT (content): Merge conflict in drivers/usb/host/xhci-ring.c
CONFLICT (content): Merge conflict in drivers/usb/host/xhci.h
Merging cpufreq-current/fixes
Merging input-current/for-linus
Merging md-current/for-linus
Merging audit-current/for-linus
Merging crypto-current/master
Merging ide-curent/master
Merging dwmw2/master
Merging arm/devel
Merging davinci/for-next
Merging pxa/for-next
Merging thumb-2/thumb-2
Merging avr32/avr32-arch
Merging blackfin/for-linus
Merging cris/for-next
Merging ia64/test
Merging m68k/for-next
CONFLICT (content): Merge conflict in drivers/rtc/Kconfig
Merging m68knommu/for-next
Merging microblaze/next
Merging mips/mips-for-linux-next
CONFLICT (content): Merge conflict in arch/mips/Kconfig
CONFLICT (add/add): Merge conflict in arch/mips/bcm63xx/Makefile
CONFLICT (add/add): Merge conflict in arch/mips/bcm63xx/boards/board_bcm963xx.c
CONFLICT (delete/modify): arch/mips/lemote/lm2e/Makefile deleted in HEAD and modified in mips/mips-for-linux-next. Version mips/mips-for-linux-next of arch/mips/lemote/lm2e/Makefile left in tree.
CONFLICT (delete/modify): arch/mips/lemote/lm2e/pci.c deleted in HEAD and modified in mips/mips-for-linux-next. Version mips/mips-for-linux-next of arch/mips/lemote/lm2e/pci.c left in tree.
CONFLICT (delete/modify): arch/mips/lemote/lm2e/prom.c deleted in HEAD and modified in mips/mips-for-linux-next. Version mips/mips-for-linux-next of arch/mips/lemote/lm2e/prom.c left in tree.
$ git rm -f arch/mips/lemote/lm2e/Makefile arch/mips/lemote/lm2e/pci.c arch/mips/lemote/lm2e/prom.c
Merging parisc/next
CONFLICT (content): Merge conflict in arch/parisc/include/asm/thread_info.h
CONFLICT (content): Merge conflict in arch/parisc/kernel/entry.S
CONFLICT (content): Merge conflict in arch/parisc/kernel/signal.c
Merging powerpc/next
Merging 4xx/next
Merging galak/next
Merging s390/features
Merging sh/master
Merging sparc/master
Merging xtensa/master
Merging cifs/master
Merging configfs/linux-next
Merging ecryptfs/next
Merging ext3/for_next
Merging ext4/next
Merging fatfs/master
Merging fuse/for-next
Merging gfs2/master
Merging jfs/next
Merging nfs/linux-next
Merging nfsd/nfsd-next
Merging nilfs2/for-next
Merging ocfs2/linux-next
Merging squashfs/master
Merging udf/for_next
Merging v9fs/for-next
Merging ubifs/linux-next
Merging xfs/master
Merging vfs/for-next
[master f0488c2] Revert "cifs: eliminate cifs_init_private"
[master 39e619d] Revert "cifs: convert oplock breaks to use slow_work facility (try #4)"
Merging pci/linux-next
Merging hid/for-next
Merging quilt/i2c
Merging quilt/jdelvare-hwmon
Merging quilt/kernel-doc
Merging v4l-dvb/master
Merging quota/for_next
Merging kbuild/master
Merging kconfig/for-next
Merging ide/master
Merging libata/NEXT
Merging infiniband/for-next
Merging acpi/test
Merging ieee1394/for-next
Merging ubi/linux-next
Merging kvm/linux-next
Merging dlm/next
Merging scsi/master
Merging async_tx/next
Merging net/master
Merging wireless/master
Merging mtd/master
Merging crypto/master
Merging sound/for-next
Merging cpufreq/next
Merging quilt/rr
Merging mmc/next
Merging input/next
Merging lsm/for-next
Merging block/for-next
Merging quilt/device-mapper
Merging embedded/master
Merging firmware/master
Merging pcmcia/master
Merging battery/master
Merging leds/for-mm
Merging backlight/for-mm
CONFLICT (content): Merge conflict in drivers/video/backlight/da903x_bl.c
Merging kgdb/kgdb-next
Merging slab/for-next
Merging uclinux/for-next
Merging md/for-next
Merging mfd/for-next
Merging hdlc/hdlc-next
Merging drm/drm-next
Merging voltage/for-next
Merging security-testing/next
Merging lblnet/master
Merging agp/agp-next
Merging uwb/for-upstream
Merging watchdog/master
Merging bdev/master
Merging dwmw2-iommu/master
Merging cputime/cputime
Merging osd/linux-next
Merging jc_docs/docs-next
Merging nommu/master
Merging trivial/for-next
Merging audit/for-next
Merging omap/for-next
Merging quilt/aoe
Merging suspend/linux-next
Merging bluetooth/master
Merging fsnotify/for-next
Merging irda/for-next
Merging hwlat/for-linus
Merging drbd/drbd
Merging kmemleak/kmemleak
Merging tip/auto-latest
Merging oprofile/for-next
Merging percpu/for-next
Merging sfi/sfi-test
Merging asm-generic/next
Merging hwpoison/hwpoison
Merging quilt/driver-core
Merging quilt/tty
Merging quilt/usb
CONFLICT (content): Merge conflict in drivers/usb/serial/sierra.c
Merging quilt/staging
Merging scsi-post-merge/master
CONFLICT (content): Merge conflict in MAINTAINERS
CONFLICT (content): Merge conflict in drivers/scsi/Makefile
CONFLICT (content): Merge conflict in drivers/scsi/fcoe/fcoe.c
CONFLICT (content): Merge conflict in drivers/scsi/fcoe/fcoe.h
CONFLICT (content): Merge conflict in drivers/scsi/libfc/fc_elsct.c
CONFLICT (content): Merge conflict in drivers/scsi/libfc/fc_lport.c
CONFLICT (add/add): Merge conflict in drivers/scsi/pmcraid.c
CONFLICT (content): Merge conflict in include/scsi/fc_encode.h
CONFLICT (content): Merge conflict in include/scsi/libfc.h
CONFLICT (content): Merge conflict in kernel/sysctl.c


Attachments:
(No filename) (9.54 kB)
(No filename) (198.00 B)
Download all attachments

2009-09-25 13:20:03

by Kamalesh Babulal

[permalink] [raw]
Subject: linux-next: 20090925 - build breaks with !CONFIG_AIO

Hi Stephen,

next-20090925 randconfig build breaks on s390x, with CONFIG_AIO=n.

arch/s390/mm/pgtable.c: In function 's390_enable_sie':
arch/s390/mm/pgtable.c:282: error: 'struct mm_struct' has no member named 'ioctx_list'
arch/s390/mm/pgtable.c:298: error: 'struct mm_struct' has no member named 'ioctx_list'
make[1]: *** [arch/s390/mm/pgtable.o] Error 1

Reverting the below commit helps

commit 858f09930b32c11b40fd0c5c467982ba09b10894
Author: Alexey Dobriyan <[email protected]>
Date: Wed Sep 23 15:57:32 2009 -0700

aio: ifdef fields in mm_struct

->ioctx_lock and ->ioctx_list are used only under CONFIG_AIO.


Kamalesh

2009-09-25 13:31:45

by Kamalesh Babulal

[permalink] [raw]
Subject: linux-next: 20090925 - hvc driver build breaks with !HVC_CONSOLE

Hi Stephen,

next-20090925 randconfig build breaks on hvcs driver on powerpc,
with HVC_CONSOLE=n.

ERROR: ".hvc_put_chars" [drivers/char/hvcs.ko] undefined!
ERROR: ".hvc_get_chars" [drivers/char/hvcs.ko] undefined!

adding the dependency of HVC_CONSOLE helped

Signed-off-by: Kamalesh Babulal <[email protected]>
--
drivers/char/Kconfig | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
index a2a0e67..2583231 100644
--- a/drivers/char/Kconfig
+++ b/drivers/char/Kconfig
@@ -682,7 +682,7 @@ config VIRTIO_CONSOLE

config HVCS
tristate "IBM Hypervisor Virtual Console Server support"
- depends on PPC_PSERIES
+ depends on PPC_PSERIES && HVC_CONSOLE
help
Partitionable IBM Power5 ppc64 machines allow hosting of
firmware virtual consoles from one Linux partition by

Kamalesh

2009-09-25 22:19:56

by Randy Dunlap

[permalink] [raw]
Subject: [PATCH -next] i2c: uses/select RT_MUTEXES

From: Randy Dunlap <[email protected]>

i2c-core uses rt mutexes, so it needs to select that
kconfig symbol since there is no prompt for it.

ERROR: "rt_mutex_lock" [drivers/i2c/i2c-core.ko] undefined!
ERROR: "__rt_mutex_init" [drivers/i2c/i2c-core.ko] undefined!
ERROR: "rt_mutex_trylock" [drivers/i2c/i2c-core.ko] undefined!
ERROR: "rt_mutex_unlock" [drivers/i2c/i2c-core.ko] undefined!

Signed-off-by: Randy Dunlap <[email protected]>
---
drivers/i2c/Kconfig | 1 +
1 file changed, 1 insertion(+)

--- linux-next-20090925.orig/drivers/i2c/Kconfig
+++ linux-next-20090925/drivers/i2c/Kconfig
@@ -5,6 +5,7 @@
menuconfig I2C
tristate "I2C support"
depends on HAS_IOMEM
+ select RT_MUTEXES
---help---
I2C (pronounce: I-square-C) is a slow serial bus protocol used in
many micro controller applications and developed by Philips. SMBus,

2009-09-25 22:19:48

by Randy Dunlap

[permalink] [raw]
Subject: [PATCH -next] input: serio_libps2 depends on serio_i8042

From: Randy Dunlap <[email protected]>

SERIO_LIBPS2 code uses SERIO_I8042 code, so the former
needs to depend on the latter.

(.text+0x1f33ca): undefined reference to `i8042_check_port_owner'
(.text+0x1f33de): undefined reference to `i8042_unlock_chip'
(.text+0x1f3435): undefined reference to `i8042_check_port_owner'
(.text+0x1f3449): undefined reference to `i8042_lock_chip

Signed-off-by: Randy Dunlap <[email protected]>
---
drivers/input/serio/Kconfig | 1 +
1 file changed, 1 insertion(+)

--- linux-next-20090925.orig/drivers/input/serio/Kconfig
+++ linux-next-20090925/drivers/input/serio/Kconfig
@@ -168,6 +168,7 @@ config SERIO_MACEPS2

config SERIO_LIBPS2
tristate "PS/2 driver library" if EMBEDDED
+ depends on SERIO_I8042
help
Say Y here if you are using a driver for device connected
to a PS/2 port, such as PS/2 mouse or standard AT keyboard.

2009-09-25 22:29:06

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: [PATCH -next] input: serio_libps2 depends on serio_i8042

On Fri, Sep 25, 2009 at 03:20:09PM -0700, Randy Dunlap wrote:
> From: Randy Dunlap <[email protected]>
>
> SERIO_LIBPS2 code uses SERIO_I8042 code, so the former
> needs to depend on the latter.
>

Umm, it should be useable without i8042... But I guess you have
SERIO_LIBPS2=y but SERIO_I8042=m?

> (.text+0x1f33ca): undefined reference to `i8042_check_port_owner'
> (.text+0x1f33de): undefined reference to `i8042_unlock_chip'
> (.text+0x1f3435): undefined reference to `i8042_check_port_owner'
> (.text+0x1f3449): undefined reference to `i8042_lock_chip
>
> Signed-off-by: Randy Dunlap <[email protected]>
> ---
> drivers/input/serio/Kconfig | 1 +
> 1 file changed, 1 insertion(+)
>
> --- linux-next-20090925.orig/drivers/input/serio/Kconfig
> +++ linux-next-20090925/drivers/input/serio/Kconfig
> @@ -168,6 +168,7 @@ config SERIO_MACEPS2
>
> config SERIO_LIBPS2
> tristate "PS/2 driver library" if EMBEDDED
> + depends on SERIO_I8042
> help
> Say Y here if you are using a driver for device connected
> to a PS/2 port, such as PS/2 mouse or standard AT keyboard.

--
Dmitry

2009-09-25 22:30:17

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH -next] input: serio_libps2 depends on serio_i8042

Dmitry Torokhov wrote:
> On Fri, Sep 25, 2009 at 03:20:09PM -0700, Randy Dunlap wrote:
>> From: Randy Dunlap <[email protected]>
>>
>> SERIO_LIBPS2 code uses SERIO_I8042 code, so the former
>> needs to depend on the latter.
>>
>
> Umm, it should be useable without i8042... But I guess you have
> SERIO_LIBPS2=y but SERIO_I8042=m?

That's correct.

>> (.text+0x1f33ca): undefined reference to `i8042_check_port_owner'
>> (.text+0x1f33de): undefined reference to `i8042_unlock_chip'
>> (.text+0x1f3435): undefined reference to `i8042_check_port_owner'
>> (.text+0x1f3449): undefined reference to `i8042_lock_chip
>>
>> Signed-off-by: Randy Dunlap <[email protected]>
>> ---
>> drivers/input/serio/Kconfig | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> --- linux-next-20090925.orig/drivers/input/serio/Kconfig
>> +++ linux-next-20090925/drivers/input/serio/Kconfig
>> @@ -168,6 +168,7 @@ config SERIO_MACEPS2
>>
>> config SERIO_LIBPS2
>> tristate "PS/2 driver library" if EMBEDDED
>> + depends on SERIO_I8042
>> help
>> Say Y here if you are using a driver for device connected
>> to a PS/2 port, such as PS/2 mouse or standard AT keyboard.
>

2009-09-25 23:02:46

by Randy Dunlap

[permalink] [raw]
Subject: [PATCH -next] drbd: trace depends on TRACING

From: Randy Dunlap <[email protected]>

DRBD_TRACE should depend on TRACING.
It's also possible that TRACEPOINTS should depend on TRACING.

arch/x86/built-in.o: In function `default_idle':
(.text+0x145a1): undefined reference to `__tracepoint_power_start'
arch/x86/built-in.o: In function `default_idle':
(.text+0x145d4): undefined reference to `__tracepoint_power_start'
arch/x86/built-in.o: In function `mwait_idle_with_hints':
(.text+0x1583d): undefined reference to `__tracepoint_power_start'
arch/x86/built-in.o: In function `mwait_idle_with_hints':
(.text+0x15870): undefined reference to `__tracepoint_power_start'
arch/x86/built-in.o: In function `mwait_idle':
process.c:(.text+0x15b92): undefined reference to `__tracepoint_power_start'
arch/x86/built-in.o:process.c:(.text+0x15bbe): more undefined references to `__tracepoint_power_start' follow
arch/x86/built-in.o: In function `poll_idle':
process.c:(.text+0x160bd): undefined reference to `__tracepoint_power_end'
process.c:(.text+0x160e9): undefined reference to `__tracepoint_power_end'
drivers/built-in.o: In function `cpuidle_idle_call':
cpuidle.c:(.text+0x517f16): undefined reference to `__tracepoint_power_end'
cpuidle.c:(.text+0x517f49): undefined reference to `__tracepoint_power_end'

Signed-off-by: Randy Dunlap <[email protected]>
---
drivers/block/drbd/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- linux-next-20090925.orig/drivers/block/drbd/Kconfig
+++ linux-next-20090925/drivers/block/drbd/Kconfig
@@ -40,7 +40,7 @@ config BLK_DEV_DRBD

config DRBD_TRACE
tristate "DRBD tracing"
- depends on BLK_DEV_DRBD
+ depends on BLK_DEV_DRBD && TRACING
select TRACEPOINTS
default n
help

2009-09-26 09:47:40

by Jean Delvare

[permalink] [raw]
Subject: Re: [PATCH -next] i2c: uses/select RT_MUTEXES

Hi Randy,

On Fri, 25 Sep 2009 15:20:03 -0700, Randy Dunlap wrote:
> From: Randy Dunlap <[email protected]>
>
> i2c-core uses rt mutexes, so it needs to select that
> kconfig symbol since there is no prompt for it.
>
> ERROR: "rt_mutex_lock" [drivers/i2c/i2c-core.ko] undefined!
> ERROR: "__rt_mutex_init" [drivers/i2c/i2c-core.ko] undefined!
> ERROR: "rt_mutex_trylock" [drivers/i2c/i2c-core.ko] undefined!
> ERROR: "rt_mutex_unlock" [drivers/i2c/i2c-core.ko] undefined!
>
> Signed-off-by: Randy Dunlap <[email protected]>
> ---
> drivers/i2c/Kconfig | 1 +
> 1 file changed, 1 insertion(+)
>
> --- linux-next-20090925.orig/drivers/i2c/Kconfig
> +++ linux-next-20090925/drivers/i2c/Kconfig
> @@ -5,6 +5,7 @@
> menuconfig I2C
> tristate "I2C support"
> depends on HAS_IOMEM
> + select RT_MUTEXES
> ---help---
> I2C (pronounce: I-square-C) is a slow serial bus protocol used in
> many micro controller applications and developed by Philips. SMBus,

Thanks for the fix, I've folded it into
i2c-prevent-priority-inversion-on-top-of-bus-lock.patch.

--
Jean Delvare

2009-09-26 11:37:10

by Martin Schwidefsky

[permalink] [raw]
Subject: Re: linux-next: 20090925 - build breaks with !CONFIG_AIO

On Fri, 25 Sep 2009 18:49:58 +0530
Kamalesh Babulal <[email protected]> wrote:

> Hi Stephen,
>
> next-20090925 randconfig build breaks on s390x, with CONFIG_AIO=n.
>
> arch/s390/mm/pgtable.c: In function 's390_enable_sie':
> arch/s390/mm/pgtable.c:282: error: 'struct mm_struct' has no member named 'ioctx_list'
> arch/s390/mm/pgtable.c:298: error: 'struct mm_struct' has no member named 'ioctx_list'
> make[1]: *** [arch/s390/mm/pgtable.o] Error 1
>
> Reverting the below commit helps
>
> commit 858f09930b32c11b40fd0c5c467982ba09b10894
> Author: Alexey Dobriyan <[email protected]>
> Date: Wed Sep 23 15:57:32 2009 -0700
>
> aio: ifdef fields in mm_struct
>
> ->ioctx_lock and ->ioctx_list are used only under CONFIG_AIO.

That should be fixed in the s390 pgtable.c code:

--
Subject: [PATCH] fix build breakage with CONFIG_AIO=n

From: Martin Schwidefsky <[email protected]>

next-20090925 randconfig build breaks on s390x, with CONFIG_AIO=n.

arch/s390/mm/pgtable.c: In function 's390_enable_sie':
arch/s390/mm/pgtable.c:282: error: 'struct mm_struct' has no member named 'ioctx_list'
arch/s390/mm/pgtable.c:298: error: 'struct mm_struct' has no member named 'ioctx_list'
make[1]: *** [arch/s390/mm/pgtable.o] Error 1

Reported-by: Kamalesh Babulal <[email protected]>
Signed-off-by: Martin Schwidefsky <[email protected]>
---

arch/s390/mm/pgtable.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)

diff -urpN linux-2.6/arch/s390/mm/pgtable.c linux-2.6-patched/arch/s390/mm/pgtable.c
--- linux-2.6/arch/s390/mm/pgtable.c 2009-09-26 13:35:36.000000000 +0200
+++ linux-2.6-patched/arch/s390/mm/pgtable.c 2009-09-26 13:35:47.000000000 +0200
@@ -279,7 +279,10 @@ int s390_enable_sie(void)
/* lets check if we are allowed to replace the mm */
task_lock(tsk);
if (!tsk->mm || atomic_read(&tsk->mm->mm_users) > 1 ||
- tsk->mm != tsk->active_mm || !hlist_empty(&tsk->mm->ioctx_list)) {
+#ifdef CONFIG_AIO
+ !hlist_empty(&tsk->mm->ioctx_list) ||
+#endif
+ tsk->mm != tsk->active_mm) {
task_unlock(tsk);
return -EINVAL;
}
@@ -295,7 +298,10 @@ int s390_enable_sie(void)
/* Now lets check again if something happened */
task_lock(tsk);
if (!tsk->mm || atomic_read(&tsk->mm->mm_users) > 1 ||
- tsk->mm != tsk->active_mm || !hlist_empty(&tsk->mm->ioctx_list)) {
+#ifdef CONFIG_AIO
+ !hlist_empty(&tsk->mm->ioctx_list) ||
+#endif
+ tsk->mm != tsk->active_mm) {
mmput(mm);
task_unlock(tsk);
return -EINVAL;

--
blue skies,
Martin.

"Reality continues to ruin my life." - Calvin.

2009-09-29 15:32:50

by Philipp Reisner

[permalink] [raw]
Subject: Re: [Drbd-dev] [PATCH -next] drbd: trace depends on TRACING

On Saturday 26 September 2009 01:03:04 Randy Dunlap wrote:
> From: Randy Dunlap <[email protected]>
>
> DRBD_TRACE should depend on TRACING.
> It's also possible that TRACEPOINTS should depend on TRACING.
>

Hi Randy,

I tried to figure out in which way that should be done. By looking
at "BLK_DEV_IO_TRACE" I got the impression that this should
be done by adding "select GENERIC_TRACER".

I will further examine this tomorrow. I just wanted to let you know
that this did not fall off the table...

-Phil

diff --git a/drivers/block/drbd/Kconfig b/drivers/block/drbd/Kconfig
index 4e6f90f..7b35287 100644
--- a/drivers/block/drbd/Kconfig
+++ b/drivers/block/drbd/Kconfig
@@ -7,7 +7,7 @@ comment "DRBD disabled because PROC_FS, INET or CONNECTOR not
selected"

config BLK_DEV_DRBD
tristate "DRBD Distributed Replicated Block Device support"
- depends on PROC_FS && INET && CONNECTOR
+ depends on BLOCK && PROC_FS && INET && CONNECTOR
select LRU_CACHE
default n
help
@@ -42,6 +42,7 @@ config DRBD_TRACE
tristate "DRBD tracing"
depends on BLK_DEV_DRBD
select TRACEPOINTS
+ select GENERIC_TRACER
default n
help
--
: Dipl-Ing Philipp Reisner
: LINBIT | Your Way to High Availability
: Tel: +43-1-8178292-50, Fax: +43-1-8178292-82
: http://www.linbit.com

DRBD(R) and LINBIT(R) are registered trademarks of LINBIT, Austria.

2009-09-29 15:37:53

by Christoph Hellwig

[permalink] [raw]
Subject: Re: [Drbd-dev] [PATCH -next] drbd: trace depends on TRACING

On Tue, Sep 29, 2009 at 05:32:50PM +0200, Philipp Reisner wrote:
> On Saturday 26 September 2009 01:03:04 Randy Dunlap wrote:
> > From: Randy Dunlap <[email protected]>
> >
> > DRBD_TRACE should depend on TRACING.
> > It's also possible that TRACEPOINTS should depend on TRACING.
> >
>
> Hi Randy,
>
> I tried to figure out in which way that should be done. By looking
> at "BLK_DEV_IO_TRACE" I got the impression that this should
> be done by adding "select GENERIC_TRACER".

Neither really. The only way of tracing that should be used is the
TRACE_EVENT macros, which compile away to nothing if tracing is
disabled, so no dependency is needed at all.

2009-09-30 08:02:22

by Lars Ellenberg

[permalink] [raw]
Subject: Re: [Drbd-dev] [PATCH -next] drbd: trace depends on TRACING

On Tue, Sep 29, 2009 at 11:37:47AM -0400, Christoph Hellwig wrote:
> On Tue, Sep 29, 2009 at 05:32:50PM +0200, Philipp Reisner wrote:
> > On Saturday 26 September 2009 01:03:04 Randy Dunlap wrote:
> > > From: Randy Dunlap <[email protected]>
> > >
> > > DRBD_TRACE should depend on TRACING.
> > > It's also possible that TRACEPOINTS should depend on TRACING.
> > >
> >
> > Hi Randy,
> >
> > I tried to figure out in which way that should be done. By looking
> > at "BLK_DEV_IO_TRACE" I got the impression that this should
> > be done by adding "select GENERIC_TRACER".
>
> Neither really. The only way of tracing that should be used is the
> TRACE_EVENT macros, which compile away to nothing if tracing is
> disabled, so no dependency is needed at all.

TRACE_EVENT macros depend on, and use TRACE_POINTS.
And those trace points are what compiles away if !CONFIG_TRACEPOINTS, no?

kernel/trace/Kconfig says
# All tracer options should select GENERIC_TRACER. [...]

If one uses tracepoints without trace_events, they still compile away.

If using tracepoints directly, not using the (admittedly elegant)
trace-events macro system, is in fact not wanted anymore, then
Documentation/trace/* should be changed accordingly.

So what is the plan, going forward?

--
: Lars Ellenberg
: LINBIT | Your Way to High Availability
: DRBD/HA support and consulting http://www.linbit.com

DRBD? and LINBIT? are registered trademarks of LINBIT, Austria.

2009-09-30 16:00:06

by Christoph Hellwig

[permalink] [raw]
Subject: Re: [Drbd-dev] [PATCH -next] drbd: trace depends on TRACING

On Wed, Sep 30, 2009 at 10:02:21AM +0200, Lars Ellenberg wrote:
> TRACE_EVENT macros depend on, and use TRACE_POINTS.
> And those trace points are what compiles away if !CONFIG_TRACEPOINTS, no?

Everything compiles away when the right options are not selected.

> If using tracepoints directly, not using the (admittedly elegant)
> trace-events macro system, is in fact not wanted anymore, then
> Documentation/trace/* should be changed accordingly.

I could not find anything actively suggesting to use them. And if you
look at current mainline there is in fact no user of raw tracepoints
left and none should be introduced. If you add fancy new tracing it
might be a good idea to run it past Ingo and Steve, btw.

Ingo, now that we killed all raw tracepoints users, what do you think
about removing Documentation/trace/tracepoints.txt and
samples/tracepoints so that people have no easy way to use them?

Even better would be making their use really hard, which is not too easy
as they are used by TRACE_EVENT underneath.

> So what is the plan, going forward?

The plan is that all new tracing should use TRACE_EVENT. If that
doesn't work for some reason bring it up with the tracing people
for discussion.