This is something I am interested in doing as well. I had corresponded with 

Julian Eischen & Daniel Elischer  about this. 


This was suggested by them but I haven't been able to figure it 

all out. Basically we could create SYSTEM_SCOPE pthreads. This way 

there is one KSE per pthread. I was hoping I could bind each KSE 


using sched_bind() - however the kernel doesn't  handle this very

well.


I know this sort of thing isn't for every one but it can be useful as John G. 
has indicated.

Will the gurus here comment on whether this approach will work and what I am 
doing wrong.

Mucho Gracias,

Peter

 

 


List:       freebsd-hackers  Subject:    pin/bind a pthread to a processor? 
(take 2)  From:       John Giacomoni <John.Giacomoni () colorado ! edu>  Date:  
     2007-01-30 23:34:28  Message-ID: 722B66D4-4030-4C12-8C8D-8B3288F86498 () 
colorado ! edu


Previously when I asked this question it turned out to not be as  necessary as 
I thought. However, I now need a way to pin/bind a  user-space thread to a 
processor until I'm done with it as my  timing constraints are too tight to 
account for.    I checked sys/sched.h, sys/proc.h, pthread.h, and pthread_np.h 
but  it doesn't look like an API to do this was added in 6.2.    Can someone 
point me at a way to hack this in?  I'm working on a  conference submission and 
I unfortunately need to pin in  user-space as abusing non-preemptive kernel 
threads is not  sufficient for my task.    The plan is to have 1-3 threads 
pinned through the execution of  the test (30s - 10min, maybe more) but to 
leave a cpu untouched  so that normal system function can continue on it.    
When pinning I'd also like to be able to pin to specific processors  so I 
account for the effects placement of different dies, important  for my work on 
dual-processor dual-core AMD systems where IO is  routed via
 hypertransport through the first processor.        For those who are 
interested, this work is focused on building  pipeline-parallel systems that 
overlap sequential work by  streaming data through a sequence of processors.  
One app that  I've built with it is to support GigE forwarding at the maximum  
rate for all frame sizes through user-space.    When this work is complete it 
may be able to help Daniel O'Connor  and his question about streaming data from 
the kernel to userland  (1/18/07).    Additional information and papers are 
available at  http://www.cs.colorado.edu/~jgiacomo    thanks for any help!    
John G    On Sep 8, 2006, at 6:33 PM, David Xu wrote:    > On Saturday 09 
September 2006 04:18, John Giacomoni wrote:  >> Is it possible to bind a 
pthread to a processor in 5.5 or 6.1?  >>  >> I currently have a code base that 
uses libpthread with multiple  >> threads, mutexes and condition variables.  >> 
The problem I'm having is that I seem to be suffering wall-clock 
 >> timing aberrations that I believe are introduced by the scheduler.  >>  >> 
 >> Thanks,  >>  >> John G  >>  >> --  >>  >> [EMAIL PROTECTED]  >> University 
 >> of Colorado at Boulder  >> Department of Computer Science  >> Engineering 
 >> Center, ECCR 1B50  >> 430 UCB  >> Boulder, CO 80303-0430  >> USA  >  > I 
 >> don't think we have such API allowing you to bind a thread to  > a specific 
 >> CPU, I had implemented such an API for DragonFlyBSD, but  > its 1:1 
 >> threading is not mature yet.  >  > David Xu  > 
 >> _______________________________________________  > 
 >> [email protected] mailing list  > 
 >> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers  > To 
 >> unsubscribe, send any mail to "freebsd-hackers-   > [EMAIL PROTECTED]"    
 >> --    [EMAIL PROTECTED]  University of Colorado at Boulder  Department of 
 >> Computer Science  Engineering Center, ECCR 1B50  430 UCB  Boulder, CO 
 >> 80303-0430  USA  

 
---------------------------------
The fish are biting.
 Get more visitors on your site using Yahoo! Search Marketing.
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to