Presentation is loading. Please wait.

Presentation is loading. Please wait.

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.

Similar presentations


Presentation on theme: "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."— Presentation transcript:

1

2 Design of a Modification to an Ethernet Driver

3 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

4 Goals TwoTwo main approaches available right now –Limit –Limit number of interrupts –Move –Move Bottom Half FocusingFocusing on the first approach. ExpectExpect to be able to measure a performance increase in high priority processes

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

6 Design (continued) How to disable only the Ethernet interrupt … IRQ mask UNBLOCK macros and ACK macrosHow 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()How to modify … device driver code (mainly the interrupt handler part), a timer, mask modification --- hack_irq() and unhack_irq()

7 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)

8 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.

9 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.

10 Testing Basic Experiments - Original kernel and Ethernet driver - Modified kernel and Ethernet driverBasic Experiments - Original kernel and Ethernet driver - Modified kernel and Ethernet driver Tests with interrupts active - Load up Ethernet with lots of packetsTests with interrupts active - Load up Ethernet with lots of packets

11 Testing (continued) Design of a high-priority user processDesign of a high-priority user process Validation TestingValidation Testing Performance TestingPerformance Testing Some additional experiments ?Some additional experiments ?

12 Conclusion We have set up our computerWe have set up our computer Made a script to load modified code, and tested scriptMade a script to load modified code, and tested script

13 Thank You Thank You Working together we will modify the kernel and driverWorking together we will modify the kernel and driver


Download ppt "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."

Similar presentations


Ads by Google