Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 9229575
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 18, 20262026-06-18T05:36:21+00:00 2026-06-18T05:36:21+00:00

I’ll start with some background on the project that I’m involved involved in. We

  • 0

I’ll start with some background on the project that I’m involved involved in. We are attempting to write a Linux kernel module (in the 3.5 kernel) that will enable the last branch record (LBR) feature present in some newer x86 processors and write the branch data to a file on the hard disk for later analysis.

We currently have been able to enable LBR and can see the LBR Top of Stack Pointer changing as it detects branches (so we know that LBR has been enabled).

Our problem arises in that we can not figure out how to determine when the LBR Stack becomes full so that we can read the data from it and write it to hard disk. Ideally we would like to enable an option in LBR to throw an exception when the LBR stack is close to full and write a handler that retrieves the information.

So far, the closest thing that I have been able to find to doing that is setting the 8th bit on the IA32_DEBUGCTL MSR which enables throwing an interrupt every time that a branch is detected. Unfortunately, writing to disk every time that a branch occurs creates more of a performance impact than we would like. We would prefer to write the data in batches each time the LBR Stack is full rather than on each individual branch. Are there any alternatives that I am missing or do we just have to bite the bullet and write to disk after every branch?

Thanks

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-18T05:36:22+00:00Added an answer on June 18, 2026 at 5:36 am

    You should be able to read the TOS when you want to begin recording and then check if the TOS equals this original value during the interrupt to determine if the stack is full of new records and only do a single disk write per full stack. Another alternative if you are willing to possibly lose some of the early records would simply be to only write to disk when TOS equals some arbitrary value within the range of values causing a single write to disk per full stack.

    One issue may be that the interrupt themselves we be pushed onto the LBR stack since they are seen as jumps but I am unsure how that will work based on different permission levels.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm parsing an RSS feed that has an ’ in it. SimpleXML turns this
I need a function that will clean a strings' special characters. I do NOT
link Im having trouble converting the html entites into html characters, (&# 8217;) i
That's pretty much it. I'm using Nokogiri to scrape a web page what has
I have just tried to save a simple *.rtf file with some websites and
For some reason, after submitting a string like this Jack’s Spindle from a text
Specifically, suppose I start with the string string =hello \'i am \' me And
I've got a string that has curly quotes in it. I'd like to replace
I have a small JavaScript validation script that validates inputs based on Regex. I
I have a French site that I want to parse, but am running into

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.