Date: Thu, 30 May 2013 08:08:12 -0400 From: John Baldwin <jhb@freebsd.org> To: Orit Moskovich <oritm@mellanox.com> Cc: "freebsd-drivers@freebsd.org" <freebsd-drivers@freebsd.org> Subject: Re: taskqueues Message-ID: <201305300808.12692.jhb@freebsd.org> In-Reply-To: <981733489AB3BD4DB24B48340F53E0A55B0D6417@MTLDAG01.mtl.com> References: <981733489AB3BD4DB24B48340F53E0A55B0D5206@MTLDAG01.mtl.com> <201305291156.29230.jhb@freebsd.org> <981733489AB3BD4DB24B48340F53E0A55B0D6417@MTLDAG01.mtl.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday, May 30, 2013 2:04:48 am Orit Moskovich wrote: > Also, is it possible to set affinity of a task in a taskqueue? From what I understood, each interrupt thread handling taskqueues and the ithread of the bus_setup_intr is a single thread, not one per cpu. Correct. > What possibilities I have if I need to defer work from a filter routine to multiple tasks, and schedule them to work on a specific core? Currently there is no pre-built API to give you per-CPU work queues. However, you could create a taskqueue for each CPU (and schedule an initial task that calls sched_bind() to bind the associated thread to a specific CPU) and then you could schedule a task for a specific CPU by scheduling it on the taskqueue for a specific CPU. -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201305300808.12692.jhb>