Project Home
Project Home
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - CPU synchronization during TLB flush: (2 Items)
   
CPU synchronization during TLB flush  
I am using Qnx 6.2 on 2 CPU system. Once in a while one of the CPUs end up looping in smp_flush_tlb() for "tlb_flush_cnt
" to go zero. The idle() thread is running on other CPU. Has anyone seen this type of problem before or has any idea 
whats causing this?

In recent versions, I don't see any synchronization between CPUs when IPI_TLB_FLUSH is issued. Can we assume that TLBs 
are flushed?

Thanks for your help,
Prasad
Re: CPU synchronization during TLB flush  
On Wed, Feb 27, 2008 at 08:40:51AM -0500, Varaprasad Lingutla wrote:
> I am using Qnx 6.2 on 2 CPU system. Once in a while one of the CPUs end up

> looping in smp_flush_tlb() for "tlb_flush_cnt" to go zero. The idle()
thread 
> is running on other CPU. Has anyone seen this type of problem before or
has 
> any idea whats causing this?

I can't really say - we don't have a "tlb_flush_cnt" symbol in any of our 
versions, so it looks like something your company has modified.

> In recent versions, I don't see any synchronization between CPUs when 
> IPI_TLB_FLUSH is issued. Can we assume that TLBs are flushed?

Since IPI's are interrupts, they'll get handled before any further user 
code is executed on the target CPUs, unless interrupts are being left 
off.

	Brian

-- 
Brian Stecher (bstecher@qnx.com)        QNX Software Systems
phone: +1 (613) 591-0931 (voice)        175 Terence Matthews Cr.
       +1 (613) 591-3579 (fax)          Kanata, Ontario, Canada K2M 1W8