Re: [PATCH 1/3] ia64: convert to use clocksource code

From: Daniel Walker <dwalker_at_mvista.com>
Date: 2007-04-28 01:35:58
On Fri, 2007-04-27 at 10:38 -0400, Peter Keilty wrote:
> Daniel Walker wrote:
> 
> >On Thu, 2007-04-26 at 16:26 -0400, Peter Keilty wrote:
> >
> >  
> >
> >>+        .mask           = (1LL << 40) - 1,
> >>+        .mult           = 0, /*to be caluclated*/
> >>+        .shift          = 16,
> >>+        .is_continuous  = 1,
> >> };
> >>    
> >>
> >
> >You should use CLOCKSOURCE_MASK() here ..
> >
> >  
> >
> It is correct in patch 3, I believe.

There's another spot that should use CLOCKSOURE_MASK() in the hpet I
think .

> >  
> >
> >> 
> >>diff --git a/include/linux/clocksource.h b/include/linux/clocksource.h
> >>index daa4940..a20b4d6 100644
> >>--- a/include/linux/clocksource.h
> >>+++ b/include/linux/clocksource.h
> >>@@ -61,6 +61,9 @@ struct clocksource {
> >> 	u32 shift;
> >> 	unsigned long flags;
> >> 	cycle_t (*vread)(void);
> >>+#ifdef CONFIG_IA64
> >>+	void *fsys_mmio_ptr;	/* used by fsyscall asm code */
> >>+#endif
> >>    
> >>
> >
> >Could you explain in detail why this is needed?
> >  
> >
> This ptr is needed to hold the mmio address to read the cycle value.
> The fast ia64 path utilizies a special gate page which can allow user
> code to execute small amount of kernel code, normal calling a function
> not done and so the address is need. The fast syscall path executes on
> user stack, between user/kernel state. And if the the fast path has to 
> fallback
> to the slow syscall code the vread will be needed and used.

There is a read(), and a vread() did you modify the slow syscall path to
use the vread()?

Daniel

-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Received on Sat Apr 28 10:24:45 2007

This archive was generated by hypermail 2.1.8 : 2007-04-28 10:25:03 EST