12
Design of a Design of a Modification to an Modification to an Ethernet Driver 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

Embed Size (px)

Citation preview

Page 1: 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

Design of a Modification Design of a Modification to an Ethernet Driverto an Ethernet Driver

Page 2: 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

IntroductionIntroduction

• 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

Page 3: 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

GoalsGoals

• Two main approaches available right nowTwo main approaches available right now– Limit number of interruptsLimit number of interrupts

– Move Bottom HalfMove Bottom Half

• Focusing on the first approach.Focusing on the first approach.

• Expect to be able to measure a Expect to be able to measure a performance increase in high priority performance increase in high priority processesprocesses

Page 4: 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

DesignDesign

• A (N+1) circular list to store the A (N+1) circular list to store the network interrupts network interrupts

• A timer for time control (P time A timer for time control (P time units)units)

• The general mechanism of disabling The general mechanism of disabling and enabling interrupts and IRQsand enabling interrupts and IRQs

Page 5: 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

Design (continued)Design (continued)• How to disable only the Ethernet How to disable only the Ethernet

interrupt …interrupt … IRQ IRQ maskmaskUNBLOCK macros and ACK macrosUNBLOCK macros and ACK macros

• How to modify …How to modify … device device driver code (mainly the interrupt handler driver code (mainly the interrupt handler part), a timer, mask modification --- part), a timer, mask modification --- hack_irq() and unhack_irq()hack_irq() and unhack_irq()

Page 6: 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

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

Page 7: 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

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

Page 8: 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

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

Page 9: 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

TestingTesting

• Basic ExperimentsBasic Experiments - - Original kernel and Ethernet driverOriginal kernel and Ethernet driver - - Modified kernel and Ethernet driverModified kernel and Ethernet driver

• Tests with interrupts activeTests with interrupts active - - Load up Ethernet with lots of Load up Ethernet with lots of packetspackets

Page 10: 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

Testing (continued)Testing (continued)

• Design of a high-priority user Design of a high-priority user processprocess

• Validation TestingValidation Testing

• Performance TestingPerformance Testing

• Some additional experiments ?Some additional experiments ?

Page 11: 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

ConclusionConclusion

• We have set up our computerWe have set up our computer

• Made a script to load modified code, Made a script to load modified code, and tested scriptand tested script

Page 12: 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

Thank YouThank You

• Working together we will modify the Working together we will modify the kernel and driverkernel and driver