mtd_cpl question

Matthew Dillon dillon at apollo.backplane.com
Thu Jun 2 09:40:23 PDT 2005


    I've been thinking more about MSI and the CPL... that issue of dealing
    with more then 32 interrupt vectors, and I think I've come up with a
    solution.

    As we begin to remove the CPL/SPL support we are still left with the
    issue of how to record interrupt events which cannot be immediately
    dispatched.  Right now we have 'ipending', 'fpending', and so forth
    for that.

    This is going to require two steps:

    * We have to remove CPL/SPL support entirely.

    * Instead of setting a bit in e.g. gd_ipending when an interrupt cannot
      be immediately processed, I will take a page from an embedded project
      I did 20 years ago were I used a tail-chasing FIFO to simply record
      the event.

    This will remove our dependancy on IRQ bitmasks entirely and make it a
    whole lot easier to implement e.g. MSI.

    I will do #1 today, simply by replacing all current SPL operations with
    a critical section.

    #2 will take a bit longer because I want to move as much of our current
    interrupt code assembly into C code as I can.

						-Matt





More information about the Kernel mailing list