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

From: Peter Keilty <peter.keilty_at_hp.com>
Date: 2007-04-28 00:38:05
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.

>  
>
>> 
>>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.
Hope this helps.

>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 12:21:45 2007

This archive was generated by hypermail 2.1.8 : 2007-04-28 12:22:00 EST