| Subject | Re: [PATCHv11 2.6.36-rc2-tip 3/15] 3: uprobes: Slot allocation for Execution out of line(XOL) | From | Peter Zijlstra <> | Date | Thu, 02 Sep 2010 10:23:32 +0200 |
| |
On Wed, 2010-08-25 at 19:11 +0530, Srikar Dronamraju wrote: > Current slot allocation mechanism: > 1. Allocate one dedicated slot per user breakpoint. Each slot is big > enuf to accomodate the biggest instruction for that architecture. (16 > bytes for x86). > 2. We currently allocate only one page for slots. Hence the number of > slots is limited to active breakpoint hits on that process. > 3. Bitmap to track used slots.
An alternative method would be to have 1 slot per cpu, and manage the slot content using preemption notifiers. That gives you a fixed number of slots and an unlimited number of probe points.
If the preemption happens to be a migration you need to rewrite the userspace IP to point to the new slot -- if indeed the task was inside one when it got preempted -- but that all should be doable.
|