1 / 12

Design of a Modification to an Ethernet Driver

Design of a Modification to an Ethernet Driver. Introduction. The purpose of this project is to modify the Ethernet device driver so that it will not block a high priority user process Real time systems Schedualbility results. Goals. Two main approaches available right now

hanh
Télécharger la présentation

Design of a Modification to an Ethernet Driver

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Design of a Modification to an Ethernet Driver

  2. Introduction • The purpose of this project is to modify the Ethernet device driver so that it will not block a high priority user process • Real time systems • Schedualbility results

  3. Goals • Two main approaches available right now • Limit number of interrupts • Move Bottom Half • Focusing on the first approach. • Expect to be able to measure a performance increase in high priority processes

  4. Design • A (N+1) circular list to store the network interrupts • A timer for time control (P time units) • The general mechanism of disabling and enabling interrupts and IRQs

  5. Design (continued) • How to disable only the Ethernet interrupt … IRQ mask UNBLOCK macros and ACK macros • How to modify … device driver code (mainly the interrupt handler part), a timer, mask modification --- hack_irq() and unhack_irq()

  6. Implementation • The implementation will be coded and tested in the following stages: • Compile a new Kernel with our Ethernet driver specified as a module. • Install the new Kernel on our system. • Make some simple changes to the Ethernet module source code contained in 3C503.c and 8390.c , recompile, and re-insert the module into the OS. (see Appendix A)

  7. Make modifications to the Kernel that allow the ability to enable/disable interrupts for our Ethernet device inside of its interrupt handler. • Make coding changes to test the ability to disable the Ethernet interrupt inside of our Interrupt handler. • Make coding changes to add a timer to the interrupt handler. Also add an interrupt timer function.

  8. Add the code that limits the number of interrupts N can occur for any time period P. • Write the user level program to test our implementation of a more real time Linux system • Gather data and draw conclusions. • Repeat steps 5 – 9 until desired results are achieved.

  9. Testing • Basic Experiments - Original kernel and Ethernet driver - Modified kernel and Ethernet driver • Tests with interrupts active - Load up Ethernet with lots of packets

  10. Testing (continued) • Design of a high-priority user process • Validation Testing • Performance Testing • Some additional experiments ?

  11. Conclusion • We have set up our computer • Made a script to load modified code, and tested script

  12. Thank You • Working together we will modify the kernel and driver

More Related