From: Thomas Gleixner <tglx@linutronix.de>
To: Jeff Dike <jdike@addtoit.com>
Cc: Andrew Morton <akpm@osdl.org>,
LKML <linux-kernel@vger.kernel.org>,
uml-devel <user-mode-linux-devel@lists.sourceforge.net>
Subject: Re: [uml-devel] [PATCH] UML - time build fix
Date: Tue, 25 Sep 2007 21:54:15 +0200 [thread overview]
Message-ID: <1190750055.17409.38.camel@chaos> (raw)
In-Reply-To: <20070925173713.GA8262@c2.user-mode-linux.org>
On Tue, 2007-09-25 at 13:37 -0400, Jeff Dike wrote:
> Put back an implementation of timeval_to_ns in
> arch/um/os-Linux/time.c. tglx pointed out in his review of tickless
> support that there was a perfectly good implementation of it in
> linux/time.h. The problem is that this is userspace code which can't
> pull in kernel headers and there doesn't seem to be a libc version.
Oops. Did not notice. Can't we move it into some header file which is
accessible from everywhere ?
tglx
> So, I'm copying the version from linux/time.h rather than resurrecting
> my version. This causes some declaration changes as it now returns a
> signed value rather than an unsigned value.
>
> Signed-off-by: Jeff Dike <jdike@linux.intel.com>
> ---
> arch/um/include/os.h | 4 ++--
> arch/um/os-Linux/time.c | 22 +++++++++++++++++++---
> 2 files changed, 21 insertions(+), 5 deletions(-)
>
> Index: linux-2.6.22/arch/um/include/os.h
> ===================================================================
> --- linux-2.6.22.orig/arch/um/include/os.h 2007-09-25 09:26:42.000000000 -0400
> +++ linux-2.6.22/arch/um/include/os.h 2007-09-25 09:28:42.000000000 -0400
> @@ -252,9 +252,9 @@ extern void os_dump_core(void);
> extern void idle_sleep(unsigned long long nsecs);
> extern int set_interval(void);
> extern int timer_one_shot(int ticks);
> -extern unsigned long long disable_timer(void);
> +extern long long disable_timer(void);
> extern void uml_idle_timer(void);
> -extern unsigned long long os_nsecs(void);
> +extern long long os_nsecs(void);
>
> /* skas/mem.c */
> extern long run_syscall_stub(struct mm_id * mm_idp,
> Index: linux-2.6.22/arch/um/os-Linux/time.c
> ===================================================================
> --- linux-2.6.22.orig/arch/um/os-Linux/time.c 2007-09-25 09:26:42.000000000 -0400
> +++ linux-2.6.22/arch/um/os-Linux/time.c 2007-09-25 09:28:42.000000000 -0400
> @@ -39,7 +39,23 @@ int timer_one_shot(int ticks)
> return 0;
> }
>
> -unsigned long long disable_timer(void)
> +/**
> + * timeval_to_ns - Convert timeval to nanoseconds
> + * @ts: pointer to the timeval variable to be converted
> + *
> + * Returns the scalar nanosecond representation of the timeval
> + * parameter.
> + *
> + * Ripped from linux/time.h because it's a kernel header, and thus
> + * unusable from here.
> + */
> +static inline long long timeval_to_ns(const struct timeval *tv)
> +{
> + return ((long long) tv->tv_sec * UM_NSEC_PER_SEC) +
> + tv->tv_usec * UM_NSEC_PER_USEC;
> +}
> +
> +long long disable_timer(void)
> {
> struct itimerval time = ((struct itimerval) { { 0, 0 }, { 0, 0 } });
>
> @@ -47,10 +63,10 @@ unsigned long long disable_timer(void)
> printk(UM_KERN_ERR "disable_timer - setitimer failed, "
> "errno = %d\n", errno);
>
> - return tv_to_nsec(&time.it_value);
> + return timeval_to_ns(&time.it_value);
> }
>
> -unsigned long long os_nsecs(void)
> +long long os_nsecs(void)
> {
> struct timeval tv;
>
> -
> 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/
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
WARNING: multiple messages have this Message-ID (diff)
From: Thomas Gleixner <tglx@linutronix.de>
To: Jeff Dike <jdike@addtoit.com>
Cc: Andrew Morton <akpm@osdl.org>,
LKML <linux-kernel@vger.kernel.org>,
uml-devel <user-mode-linux-devel@lists.sourceforge.net>
Subject: Re: [PATCH] UML - time build fix
Date: Tue, 25 Sep 2007 21:54:15 +0200 [thread overview]
Message-ID: <1190750055.17409.38.camel@chaos> (raw)
In-Reply-To: <20070925173713.GA8262@c2.user-mode-linux.org>
On Tue, 2007-09-25 at 13:37 -0400, Jeff Dike wrote:
> Put back an implementation of timeval_to_ns in
> arch/um/os-Linux/time.c. tglx pointed out in his review of tickless
> support that there was a perfectly good implementation of it in
> linux/time.h. The problem is that this is userspace code which can't
> pull in kernel headers and there doesn't seem to be a libc version.
Oops. Did not notice. Can't we move it into some header file which is
accessible from everywhere ?
tglx
> So, I'm copying the version from linux/time.h rather than resurrecting
> my version. This causes some declaration changes as it now returns a
> signed value rather than an unsigned value.
>
> Signed-off-by: Jeff Dike <jdike@linux.intel.com>
> ---
> arch/um/include/os.h | 4 ++--
> arch/um/os-Linux/time.c | 22 +++++++++++++++++++---
> 2 files changed, 21 insertions(+), 5 deletions(-)
>
> Index: linux-2.6.22/arch/um/include/os.h
> ===================================================================
> --- linux-2.6.22.orig/arch/um/include/os.h 2007-09-25 09:26:42.000000000 -0400
> +++ linux-2.6.22/arch/um/include/os.h 2007-09-25 09:28:42.000000000 -0400
> @@ -252,9 +252,9 @@ extern void os_dump_core(void);
> extern void idle_sleep(unsigned long long nsecs);
> extern int set_interval(void);
> extern int timer_one_shot(int ticks);
> -extern unsigned long long disable_timer(void);
> +extern long long disable_timer(void);
> extern void uml_idle_timer(void);
> -extern unsigned long long os_nsecs(void);
> +extern long long os_nsecs(void);
>
> /* skas/mem.c */
> extern long run_syscall_stub(struct mm_id * mm_idp,
> Index: linux-2.6.22/arch/um/os-Linux/time.c
> ===================================================================
> --- linux-2.6.22.orig/arch/um/os-Linux/time.c 2007-09-25 09:26:42.000000000 -0400
> +++ linux-2.6.22/arch/um/os-Linux/time.c 2007-09-25 09:28:42.000000000 -0400
> @@ -39,7 +39,23 @@ int timer_one_shot(int ticks)
> return 0;
> }
>
> -unsigned long long disable_timer(void)
> +/**
> + * timeval_to_ns - Convert timeval to nanoseconds
> + * @ts: pointer to the timeval variable to be converted
> + *
> + * Returns the scalar nanosecond representation of the timeval
> + * parameter.
> + *
> + * Ripped from linux/time.h because it's a kernel header, and thus
> + * unusable from here.
> + */
> +static inline long long timeval_to_ns(const struct timeval *tv)
> +{
> + return ((long long) tv->tv_sec * UM_NSEC_PER_SEC) +
> + tv->tv_usec * UM_NSEC_PER_USEC;
> +}
> +
> +long long disable_timer(void)
> {
> struct itimerval time = ((struct itimerval) { { 0, 0 }, { 0, 0 } });
>
> @@ -47,10 +63,10 @@ unsigned long long disable_timer(void)
> printk(UM_KERN_ERR "disable_timer - setitimer failed, "
> "errno = %d\n", errno);
>
> - return tv_to_nsec(&time.it_value);
> + return timeval_to_ns(&time.it_value);
> }
>
> -unsigned long long os_nsecs(void)
> +long long os_nsecs(void)
> {
> struct timeval tv;
>
> -
> 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/
next prev parent reply other threads:[~2007-09-25 19:54 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-09-25 17:37 [uml-devel] [PATCH] UML - time build fix Jeff Dike
2007-09-25 17:37 ` Jeff Dike
2007-09-25 19:54 ` Thomas Gleixner [this message]
2007-09-25 19:54 ` Thomas Gleixner
2007-09-25 21:56 ` [uml-devel] " Jeff Dike
2007-09-25 21:56 ` Jeff Dike
2007-09-25 22:08 ` [uml-devel] " Thomas Gleixner
2007-09-25 22:08 ` Thomas Gleixner
2007-09-26 15:46 ` [uml-devel] " Paolo Giarrusso
2007-09-26 15:46 ` Paolo Giarrusso
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1190750055.17409.38.camel@chaos \
--to=tglx@linutronix.de \
--cc=akpm@osdl.org \
--cc=jdike@addtoit.com \
--cc=linux-kernel@vger.kernel.org \
--cc=user-mode-linux-devel@lists.sourceforge.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.