Friday, March 26, 2010

linux.kernel - 26 new messages in 14 topics - digest

linux.kernel
http://groups.google.com/group/linux.kernel?hl=en

linux.kernel@googlegroups.com

Today's topics:

* drivers/net: Fix continuation lines - 4 messages, 2 authors
http://groups.google.com/group/linux.kernel/t/ea45a128091588a8?hl=en
* Continuation line fixes - 1 messages, 1 author
http://groups.google.com/group/linux.kernel/t/fd5085326f3be4f1?hl=en
* perf: add pipe-specific header read/write and event processing code - 1
messages, 1 author
http://groups.google.com/group/linux.kernel/t/bd05bea6c9c8fbac?hl=en
* Commit 085219f79cad broke Sparc-32 back in 2.6.28. - 2 messages, 2 authors
http://groups.google.com/group/linux.kernel/t/4ff0ad6c7c80e249?hl=en
* Add MSG_WAITFORONE flag to recvmmsg - 3 messages, 3 authors
http://groups.google.com/group/linux.kernel/t/6685d486d82d9944?hl=en
* tracing: Remove side effect from module tracepoints that caused a GPF - 2
messages, 2 authors
http://groups.google.com/group/linux.kernel/t/b74bd928198154bc?hl=en
* kmemtrace.txt question: kernel parameter(s)? - 1 messages, 1 author
http://groups.google.com/group/linux.kernel/t/c42693c50e55985d?hl=en
* tracing: add tracing support for compat syscalls - 1 messages, 1 author
http://groups.google.com/group/linux.kernel/t/1abba622db044a13?hl=en
* syscalls: add ARCH_COMPAT_SYSCALL_DEFINE() - 2 messages, 1 author
http://groups.google.com/group/linux.kernel/t/f77a61732d155120?hl=en
* What are the goals for the architecture of an in-kernel IR system? - 1
messages, 1 author
http://groups.google.com/group/linux.kernel/t/344640f275ed964e?hl=en
* staging: winbond: wb35tx_s.h Coding style fixes. - 1 messages, 1 author
http://groups.google.com/group/linux.kernel/t/598962a8072e7efd?hl=en
* fbdev: section cleanup in efifb - 5 messages, 1 author
http://groups.google.com/group/linux.kernel/t/f674424e1bad54fd?hl=en
* fbdev: section cleanup in arcfb - 1 messages, 1 author
http://groups.google.com/group/linux.kernel/t/4d6263690de46de1?hl=en
* r8169: enable 64-bit DMA by default for PCI Express devices (v2) - 1
messages, 1 author
http://groups.google.com/group/linux.kernel/t/ca81ed5b4d573ad2?hl=en

==============================================================================
TOPIC: drivers/net: Fix continuation lines
http://groups.google.com/group/linux.kernel/t/ea45a128091588a8?hl=en
==============================================================================

== 1 of 4 ==
Date: Fri, Mar 26 2010 7:40 pm
From: Joe Perches


Signed-off-by: Joe Perches <joe@perches.com>
---
drivers/net/atlx/atl1.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/net/atlx/atl1.c b/drivers/net/atlx/atl1.c
index 9ba5470..0ebd820 100644
--- a/drivers/net/atlx/atl1.c
+++ b/drivers/net/atlx/atl1.c
@@ -84,7 +84,7 @@

#define ATLX_DRIVER_VERSION "2.1.3"
MODULE_AUTHOR("Xiong Huang <xiong.huang@atheros.com>, \
- Chris Snook <csnook@redhat.com>, Jay Cliburn <jcliburn@gmail.com>");
+Chris Snook <csnook@redhat.com>, Jay Cliburn <jcliburn@gmail.com>");
MODULE_LICENSE("GPL");
MODULE_VERSION(ATLX_DRIVER_VERSION);

--
1.7.0.14.g7e948

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


== 2 of 4 ==
Date: Fri, Mar 26 2010 7:40 pm
From: Joe Perches


Signed-off-by: Joe Perches <joe@perches.com>
---
drivers/media/video/ov511.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/media/video/ov511.c b/drivers/media/video/ov511.c
index e0bce8d..c34325c 100644
--- a/drivers/media/video/ov511.c
+++ b/drivers/media/video/ov511.c
@@ -57,8 +57,8 @@
#define DRIVER_VERSION "v1.64 for Linux 2.5"
#define EMAIL "mark@alpha.dyndns.org"
#define DRIVER_AUTHOR "Mark McClelland <mark@alpha.dyndns.org> & Bret Wallach \
- & Orion Sky Lawlor <olawlor@acm.org> & Kevin Moore & Charl P. Botha \
- <cpbotha@ieee.org> & Claudio Matsuoka <claudio@conectiva.com>"
+& Orion Sky Lawlor <olawlor@acm.org> & Kevin Moore & Charl P. Botha \
+<cpbotha@ieee.org> & Claudio Matsuoka <claudio@conectiva.com>"
#define DRIVER_DESC "ov511 USB Camera Driver"

#define OV511_I2C_RETRIES 3
--
1.7.0.14.g7e948

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


== 3 of 4 ==
Date: Fri, Mar 26 2010 10:20 pm
From: Mike Frysinger


looks fine to me, thanks
Acked-by: Mike Frysinger <vapier@gentoo.org>
-mike
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


== 4 of 4 ==
Date: Fri, Mar 26 2010 10:20 pm
From: Mike Frysinger


looks fine, i'll merge into my tree. thanks!
-mike
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

==============================================================================
TOPIC: Continuation line fixes
http://groups.google.com/group/linux.kernel/t/fd5085326f3be4f1?hl=en
==============================================================================

== 1 of 1 ==
Date: Fri, Mar 26 2010 7:40 pm
From: Joe Perches


Fix undesired spaces caused by improper continuation line use

Joe Perches (9):
arch/arm: Fix continuation lines
arch/blackfin: Fix continuation lines
drivers/infiniband: Fix continuation lines
drivers/media: Fix continuation lines
drivers/message: Fix continuation lines
drivers/net: Fix continuation lines
drivers/scsi: Fix continuation lines
drivers/serial: Fix continuation lines
mm: Fix continuation lines

arch/arm/mach-s5pv210/clock.c | 4 +-
arch/blackfin/mach-common/smp.c | 4 +-
drivers/infiniband/hw/nes/nes_nic.c | 4 +-
drivers/media/video/ov511.c | 4 +-
drivers/message/fusion/mptbase.c | 8 +++---
drivers/net/atlx/atl1.c | 2 +-
drivers/scsi/arcmsr/arcmsr_hba.c | 50 +++++++++++++++++-----------------
drivers/scsi/qla2xxx/qla_attr.c | 18 ++++++------
drivers/scsi/qla2xxx/qla_os.c | 6 ++--
drivers/serial/bfin_5xx.c | 8 +++---
mm/slab.c | 9 +++---
11 files changed, 59 insertions(+), 58 deletions(-)

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

==============================================================================
TOPIC: perf: add pipe-specific header read/write and event processing code
http://groups.google.com/group/linux.kernel/t/bd05bea6c9c8fbac?hl=en
==============================================================================

== 1 of 1 ==
Date: Fri, Mar 26 2010 8:20 pm
From: Frederic Weisbecker


On Wed, Mar 03, 2010 at 01:05:24AM -0600, Tom Zanussi wrote:
>
> +int perf_header__write_pipe(struct perf_header *self, int fd)
> +{
> + struct perf_file_header_pipe f_header;
> + int err;
> +
> + f_header = (struct perf_file_header_pipe){
> + .magic = PERF_MAGIC,
> + .size = sizeof(f_header),
> + };
> +
> + err = do_write(fd, &f_header, sizeof(f_header));
> + if (err < 0) {
> + pr_debug("failed to write perf pipe header\n");
> + return err;
> + }
> +
> + self->frozen = 1;
> + return 0;
> +}

I actually wonder why you bother with a header in the pipe mode,
since it only contains MAGIC and its size.

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

==============================================================================
TOPIC: Commit 085219f79cad broke Sparc-32 back in 2.6.28.
http://groups.google.com/group/linux.kernel/t/4ff0ad6c7c80e249?hl=en
==============================================================================

== 1 of 2 ==
Date: Fri, Mar 26 2010 8:40 pm
From: Rob Landley


On Sunday 21 February 2010 20:06:58 David Miller wrote:
> Here's the fix I'll use, thanks for the report Rob:
>
> sparc32: Fix struct stat uid/gid types.
>
> Commit 085219f79cad89291699bd2bfb21c9fdabafe65f
> ("sparc32: use proper types in struct stat")

Unfortunately, while this fix makes sparc buidl and run again, the exported
kernel headers are horked and can't build strace natively.

gcc -DHAVE_CONFIG_H -I. -Ilinux/sparc -I./linux/sparc -Ilinux -I./linux -
Wall --static -MT file.o -MD -MP -MF .deps/file.Tpo -c -o file.o file.c
In file included from file.c:88:
/usr/bin/../include/asm/stat.h:56: error: expected specifier-qualifier-list
before 'uid16_t'
file.c: In function 'realprintstat':
file.c:951: warning: format '%lu' expects type 'long unsigned int', but
argument 2 has type 'unsigned int'
make[1]: *** [file.o] Error 1
make[1]: Leaving directory `/home/strace-4.5.19'
make: *** [all] Error 2

The problem is that uid16_t is a kernel internal type that gets cleaned out of
the headers when they're exported, thus there's no definition for userspace to
pick up if that structure is ever used from a userspace build.

What exactly was the problem with just saying "unsigned short" when you mean
an unsigned short? The way x86 does, and arm? (If these ever change, it
breaks binary compatability. Not sure what these changes were trying to
accomplish...)

Rob
--
Latency is more important than throughput. It's that simple. - Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


== 2 of 2 ==
Date: Fri, Mar 26 2010 8:40 pm
From: David Miller


From: Rob Landley <rob@landley.net>
Date: Fri, 26 Mar 2010 22:35:47 -0500

> What exactly was the problem with just saying "unsigned short" when you mean
> an unsigned short? The way x86 does, and arm? (If these ever change, it
> breaks binary compatability. Not sure what these changes were trying to
> accomplish...)

I was trying to use well defined types that described the
usage and the origin of the definition.

I'm happy to use "unsigned short" or whatever works better.
Please send a patch.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

==============================================================================
TOPIC: Add MSG_WAITFORONE flag to recvmmsg
http://groups.google.com/group/linux.kernel/t/6685d486d82d9944?hl=en
==============================================================================

== 1 of 3 ==
Date: Fri, Mar 26 2010 9:00 pm
From: David Miller


From: Brandon L Black <blblack@gmail.com>
Date: Fri, 26 Mar 2010 21:18:03 -0500

>
> From: Brandon L Black <blblack@gmail.com>
>
> Add new flag MSG_WAITFORONE for the recvmmsg() syscall.
> When this flag is specified for a blocking socket, recvmmsg()
> will only block until at least 1 packet is available. The
> default behavior is to block until all vlen packets are
> available. This flag has no effect on non-blocking sockets
> or when used in combination with MSG_DONTWAIT.
>
> Signed-off-by: Brandon L Black <blblack@gmail.com>

Arnaldo, please review this, thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


== 2 of 3 ==
Date: Fri, Mar 26 2010 10:00 pm
From: Ulrich Drepper


On Fri, Mar 26, 2010 at 19:18, Brandon L Black <blblack@gmail.com> wrote:
> Add new flag MSG_WAITFORONE for the recvmmsg() syscall.
> When this flag is specified for a blocking socket, recvmmsg()
> will only block until at least 1 packet is available.  The
> default behavior is to block until all vlen packets are
> available.  This flag has no effect on non-blocking sockets
> or when used in combination with MSG_DONTWAIT.
>
> Signed-off-by: Brandon L Black <blblack@gmail.com>

This is useful and looks OK to me.

Acked-by: Ulrich Drepper <drepper@redhat.com>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


== 3 of 3 ==
Date: Fri, Mar 26 2010 11:10 pm
From: Eric Dumazet


Le vendredi 26 mars 2010 à 21:18 -0500, Brandon L Black a écrit :
> From: Brandon L Black <blblack@gmail.com>
>
> Add new flag MSG_WAITFORONE for the recvmmsg() syscall.
> When this flag is specified for a blocking socket, recvmmsg()
> will only block until at least 1 packet is available. The
> default behavior is to block until all vlen packets are
> available. This flag has no effect on non-blocking sockets
> or when used in combination with MSG_DONTWAIT.
>
> Signed-off-by: Brandon L Black <blblack@gmail.com>
>

Acked-by: Eric Dumazet <eric.dumazet@gmail.com>

> ---
> diff --git a/include/linux/socket.h b/include/linux/socket.h
> index 7b3aae2..354cc56 100644
> --- a/include/linux/socket.h
> +++ b/include/linux/socket.h
> @@ -255,6 +255,7 @@ struct ucred {
> #define MSG_ERRQUEUE 0x2000 /* Fetch message from error queue */
> #define MSG_NOSIGNAL 0x4000 /* Do not generate SIGPIPE */
> #define MSG_MORE 0x8000 /* Sender will send more */
> +#define MSG_WAITFORONE 0x10000 /* recvmmsg(): block until 1+ packets avail */
>
> #define MSG_EOF MSG_FIN
>
> diff --git a/net/socket.c b/net/socket.c
> index 769c386..f55ffe9 100644
> --- a/net/socket.c
> +++ b/net/socket.c
> @@ -2135,6 +2135,10 @@ int __sys_recvmmsg(int fd, struct mmsghdr __user *mmsg, unsigned int vlen,
> break;
> ++datagrams;
>
> + /* MSG_WAITFORONE turns on MSG_DONTWAIT after one packet */
> + if (flags & MSG_WAITFORONE)
> + flags |= MSG_DONTWAIT;
> +
> if (timeout) {
> ktime_get_ts(timeout);
> *timeout = timespec_sub(end_time, *timeout);
> --

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

==============================================================================
TOPIC: tracing: Remove side effect from module tracepoints that caused a GPF
http://groups.google.com/group/linux.kernel/t/b74bd928198154bc?hl=en
==============================================================================

== 1 of 2 ==
Date: Fri, Mar 26 2010 9:20 pm
From: Mathieu Desnoyers


Steven, how about also merging my patch that address the underlying bug in
module.h that cause the GPF in the first place into 2.6.33.x ?

Thanks,

Mathieu

* tip-bot for Li Zefan (lizf@cn.fujitsu.com) wrote:
> Commit-ID: 3656d5431262ca25aba01d08a5b6e1295ab8feeb
> Gitweb: http://git.kernel.org/tip/3656d5431262ca25aba01d08a5b6e1295ab8feeb
> Author: Li Zefan <lizf@cn.fujitsu.com>
> AuthorDate: Wed, 24 Mar 2010 10:57:43 +0800
> Committer: Steven Rostedt <rostedt@goodmis.org>
> CommitDate: Fri, 26 Mar 2010 15:30:21 -0400
>
> tracing: Remove side effect from module tracepoints that caused a GPF
>
> Remove the @refcnt argument, because it has side-effects, and arguments with
> side-effects are not skipped by the jump over disabled instrumentation and are
> executed even when the tracepoint is disabled.
>
> This was also causing a GPF as found by Randy Dunlap:
>
> Subject: 2.6.33 GP fault only when built with tracing
> LKML-Reference: <4BA2B69D.3000309@oracle.com>
>
> Tested-by: Randy Dunlap <randy.dunlap@oracle.com>
> Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
> Cc: stable@kernel.org
> Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
> LKML-Reference: <4BA97FA7.6040406@cn.fujitsu.com>
> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
> ---
> include/linux/module.h | 6 ++----
> include/trace/events/module.h | 14 +++++++-------
> kernel/module.c | 3 +--
> 3 files changed, 10 insertions(+), 13 deletions(-)
>
> diff --git a/include/linux/module.h b/include/linux/module.h
> index 5e869ff..393ec39 100644
> --- a/include/linux/module.h
> +++ b/include/linux/module.h
> @@ -460,8 +460,7 @@ static inline void __module_get(struct module *module)
> if (module) {
> preempt_disable();
> __this_cpu_inc(module->refptr->count);
> - trace_module_get(module, _THIS_IP_,
> - __this_cpu_read(module->refptr->count));
> + trace_module_get(module, _THIS_IP_);
> preempt_enable();
> }
> }
> @@ -475,8 +474,7 @@ static inline int try_module_get(struct module *module)
>
> if (likely(module_is_live(module))) {
> __this_cpu_inc(module->refptr->count);
> - trace_module_get(module, _THIS_IP_,
> - __this_cpu_read(module->refptr->count));
> + trace_module_get(module, _THIS_IP_);
> }
> else
> ret = 0;
> diff --git a/include/trace/events/module.h b/include/trace/events/module.h
> index 4b0f48b..a585f81 100644
> --- a/include/trace/events/module.h
> +++ b/include/trace/events/module.h
> @@ -53,9 +53,9 @@ TRACE_EVENT(module_free,
>
> DECLARE_EVENT_CLASS(module_refcnt,
>
> - TP_PROTO(struct module *mod, unsigned long ip, int refcnt),
> + TP_PROTO(struct module *mod, unsigned long ip),
>
> - TP_ARGS(mod, ip, refcnt),
> + TP_ARGS(mod, ip),
>
> TP_STRUCT__entry(
> __field( unsigned long, ip )
> @@ -65,7 +65,7 @@ DECLARE_EVENT_CLASS(module_refcnt,
>
> TP_fast_assign(
> __entry->ip = ip;
> - __entry->refcnt = refcnt;
> + __entry->refcnt = __this_cpu_read(mod->refptr->count);
> __assign_str(name, mod->name);
> ),
>
> @@ -75,16 +75,16 @@ DECLARE_EVENT_CLASS(module_refcnt,
>
> DEFINE_EVENT(module_refcnt, module_get,
>
> - TP_PROTO(struct module *mod, unsigned long ip, int refcnt),
> + TP_PROTO(struct module *mod, unsigned long ip),
>
> - TP_ARGS(mod, ip, refcnt)
> + TP_ARGS(mod, ip)
> );
>
> DEFINE_EVENT(module_refcnt, module_put,
>
> - TP_PROTO(struct module *mod, unsigned long ip, int refcnt),
> + TP_PROTO(struct module *mod, unsigned long ip),
>
> - TP_ARGS(mod, ip, refcnt)
> + TP_ARGS(mod, ip)
> );
>
> TRACE_EVENT(module_request,
> diff --git a/kernel/module.c b/kernel/module.c
> index c968d36..21591ad 100644
> --- a/kernel/module.c
> +++ b/kernel/module.c
> @@ -800,8 +800,7 @@ void module_put(struct module *module)
> preempt_disable();
> __this_cpu_dec(module->refptr->count);
>
> - trace_module_put(module, _RET_IP_,
> - __this_cpu_read(module->refptr->count));
> + trace_module_put(module, _RET_IP_);
> /* Maybe they're waiting for us to drop reference? */
> if (unlikely(!module_is_live(module)))
> wake_up_process(module->waiter);

--
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


== 2 of 2 ==
Date: Fri, Mar 26 2010 9:30 pm
From: Steven Rostedt


On Sat, 2010-03-27 at 00:10 -0400, Mathieu Desnoyers wrote:
> Steven, how about also merging my patch that address the underlying bug in
> module.h that cause the GPF in the first place into 2.6.33.x ?
>

I must have missed it, can you resend. I was under the impression that
this was the fix for the GPF. If it isn't and your patch is the true
fix, then perhaps this patch does not need to be applied to 34, and can
wait till 35. And we can push your patch instead.

Thanks,

-- Steve

> Thanks,
>
> Mathieu
>
> * tip-bot for Li Zefan (lizf@cn.fujitsu.com) wrote:
> > Commit-ID: 3656d5431262ca25aba01d08a5b6e1295ab8feeb
> > Gitweb: http://git.kernel.org/tip/3656d5431262ca25aba01d08a5b6e1295ab8feeb
> > Author: Li Zefan <lizf@cn.fujitsu.com>
> > AuthorDate: Wed, 24 Mar 2010 10:57:43 +0800
> > Committer: Steven Rostedt <rostedt@goodmis.org>
> > CommitDate: Fri, 26 Mar 2010 15:30:21 -0400
> >
> > tracing: Remove side effect from module tracepoints that caused a GPF
> >
> > Remove the @refcnt argument, because it has side-effects, and arguments with
> > side-effects are not skipped by the jump over disabled instrumentation and are
> > executed even when the tracepoint is disabled.
> >
> > This was also causing a GPF as found by Randy Dunlap:
> >
> > Subject: 2.6.33 GP fault only when built with tracing
> > LKML-Reference: <4BA2B69D.3000309@oracle.com>
> >
> > Tested-by: Randy Dunlap <randy.dunlap@oracle.com>
> > Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
> > Cc: stable@kernel.org
> > Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
> > LKML-Reference: <4BA97FA7.6040406@cn.fujitsu.com>
> > Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
> > ---
> > include/linux/module.h | 6 ++----
> > include/trace/events/module.h | 14 +++++++-------
> > kernel/module.c | 3 +--
> > 3 files changed, 10 insertions(+), 13 deletions(-)
> >
> > diff --git a/include/linux/module.h b/include/linux/module.h
> > index 5e869ff..393ec39 100644
> > --- a/include/linux/module.h
> > +++ b/include/linux/module.h
> > @@ -460,8 +460,7 @@ static inline void __module_get(struct module *module)
> > if (module) {
> > preempt_disable();
> > __this_cpu_inc(module->refptr->count);
> > - trace_module_get(module, _THIS_IP_,
> > - __this_cpu_read(module->refptr->count));
> > + trace_module_get(module, _THIS_IP_);
> > preempt_enable();
> > }
> > }
> > @@ -475,8 +474,7 @@ static inline int try_module_get(struct module *module)
> >
> > if (likely(module_is_live(module))) {
> > __this_cpu_inc(module->refptr->count);
> > - trace_module_get(module, _THIS_IP_,
> > - __this_cpu_read(module->refptr->count));
> > + trace_module_get(module, _THIS_IP_);
> > }
> > else
> > ret = 0;
> > diff --git a/include/trace/events/module.h b/include/trace/events/module.h
> > index 4b0f48b..a585f81 100644
> > --- a/include/trace/events/module.h
> > +++ b/include/trace/events/module.h
> > @@ -53,9 +53,9 @@ TRACE_EVENT(module_free,
> >
> > DECLARE_EVENT_CLASS(module_refcnt,
> >
> > - TP_PROTO(struct module *mod, unsigned long ip, int refcnt),
> > + TP_PROTO(struct module *mod, unsigned long ip),
> >
> > - TP_ARGS(mod, ip, refcnt),
> > + TP_ARGS(mod, ip),
> >
> > TP_STRUCT__entry(
> > __field( unsigned long, ip )
> > @@ -65,7 +65,7 @@ DECLARE_EVENT_CLASS(module_refcnt,
> >
> > TP_fast_assign(
> > __entry->ip = ip;
> > - __entry->refcnt = refcnt;
> > + __entry->refcnt = __this_cpu_read(mod->refptr->count);
> > __assign_str(name, mod->name);
> > ),
> >
> > @@ -75,16 +75,16 @@ DECLARE_EVENT_CLASS(module_refcnt,
> >
> > DEFINE_EVENT(module_refcnt, module_get,
> >
> > - TP_PROTO(struct module *mod, unsigned long ip, int refcnt),
> > + TP_PROTO(struct module *mod, unsigned long ip),
> >
> > - TP_ARGS(mod, ip, refcnt)
> > + TP_ARGS(mod, ip)
> > );
> >
> > DEFINE_EVENT(module_refcnt, module_put,
> >
> > - TP_PROTO(struct module *mod, unsigned long ip, int refcnt),
> > + TP_PROTO(struct module *mod, unsigned long ip),
> >
> > - TP_ARGS(mod, ip, refcnt)
> > + TP_ARGS(mod, ip)
> > );
> >
> > TRACE_EVENT(module_request,
> > diff --git a/kernel/module.c b/kernel/module.c
> > index c968d36..21591ad 100644
> > --- a/kernel/module.c
> > +++ b/kernel/module.c
> > @@ -800,8 +800,7 @@ void module_put(struct module *module)
> > preempt_disable();
> > __this_cpu_dec(module->refptr->count);
> >
> > - trace_module_put(module, _RET_IP_,
> > - __this_cpu_read(module->refptr->count));
> > + trace_module_put(module, _RET_IP_);
> > /* Maybe they're waiting for us to drop reference? */
> > if (unlikely(!module_is_live(module)))
> > wake_up_process(module->waiter);
>


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

==============================================================================
TOPIC: kmemtrace.txt question: kernel parameter(s)?
http://groups.google.com/group/linux.kernel/t/c42693c50e55985d?hl=en
==============================================================================

== 1 of 1 ==
Date: Fri, Mar 26 2010 9:30 pm
From: Randy Dunlap


On Fri, 18 Dec 2009 08:57:49 +0800 Li Zefan wrote:

> Randy Dunlap wrote:
> > Hi,
> >
> > Documentation/trace/kmemtrace.txt says:
> >
> > Q: 'cat /sys/kernel/debug/kmemtrace/total_overruns' is non-zero, how do I fix
> > this? Should I worry?
> > A: If it's non-zero, this affects kmemtrace's accuracy, depending on how
> > large the number is. You can fix it by supplying a higher
> > 'kmemtrace.subbufs=N' kernel parameter.
> >
> >
> > Where is this kernel parameter implemented and where is it documented?
> > or should this Answer just be fixed?
> >
>
> The whole documentation is out-dated. The original kmemtrace was based on
> relay, and then it moved to ftrace, without updating the documentation.

Sorry for the delay.

Shouldn't Documentation/trace/kmemtrace.txt just be completely deleted?

It's confusing and all relevant kmemtrace documentation is elsewhere.

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

==============================================================================
TOPIC: tracing: add tracing support for compat syscalls
http://groups.google.com/group/linux.kernel/t/1abba622db044a13?hl=en
==============================================================================

== 1 of 1 ==
Date: Fri, Mar 26 2010 9:50 pm
From: Frederic Weisbecker


On Mon, Mar 22, 2010 at 04:21:42PM -0400, Jason Baron wrote:
> On Sat, Mar 20, 2010 at 07:12:17AM +0100, Frederic Weisbecker wrote:
> > > #else /* CONFIG_COMPAT */
> > >
> > > +#define NR_syscalls_compat 0
> > > +
> > > static inline int is_compat_task(void)
> > > {
> > > return 0;
> > > diff --git a/include/trace/syscall.h b/include/trace/syscall.h
> > > index 8f5ac38..1cc1d1e 100644
> > > --- a/include/trace/syscall.h
> > > +++ b/include/trace/syscall.h
> > > @@ -22,6 +22,7 @@
> > > struct syscall_metadata {
> > > const char *name;
> > > int syscall_nr;
> > > + int compat_syscall_nr;
> >
> >
> >
> > Why do you need both syscall_nr and compat_syscall_nr?
> > Compat and usual syscalls never share the same syscall
> > metadata.
> >
> >
>
> For example, something like 'sys_read()' is pointed to by both
> syscalls_metadata and compat_syscalls_metadata. Thus, the same syscall
> metadata record is referenced by two different tables. That said, I'm not
> making use of compat_syscall_nr. Although it could be added to the
> checks in 'reg_event_syscall_enter()', to make sure that the
> compat_syscall_nr is valid.

Yep, but we need it to be referenced by two different tables
as normal and compat syscalls don't have the exact same
parameters. It is not about the same syscall metadata.

Once we'll get support for user pointer dereferencing to get
user parameters content in the traces, we'll need to build a
table of types to be aware of the type. And these types will
be different between compat and normal syscalls.

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

==============================================================================
TOPIC: syscalls: add ARCH_COMPAT_SYSCALL_DEFINE()
http://groups.google.com/group/linux.kernel/t/f77a61732d155120?hl=en
==============================================================================

== 1 of 2 ==
Date: Fri, Mar 26 2010 10:00 pm
From: Frederic Weisbecker


On Thu, Mar 18, 2010 at 02:29:09PM -0400, Jason Baron wrote:
>
> Re-post due to missing macro parameter. interdiff:
>
> diff -u b/include/linux/syscalls.h b/include/linux/syscalls.h
> --- b/include/linux/syscalls.h
> +++ b/include/linux/syscalls.h
> @@ -241,7 +241,7 @@
> SYSCALL_METADATA(syscall, compat_sys_##sname, x); \
> asmlinkage long syscall(__SC_DECL##x(__VA_ARGS__))
> #else
> -#define COMPAT_SYSCALL_DEFINEx(x, sname, ...) \
> +#define COMPAT_SYSCALL_DEFINEx(x, syscall, sname, ...) \
> asmlinkage long syscall(__SC_DECL##x(__VA_ARGS__))
>

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home


Real Estate