Re: location of bioq lock

From: Scott Long (scottl_at_samsco.org)
Date: 07/15/05

  • Next message: FreeBSD Tinderbox: "[current tinderbox] failure on sparc64/sparc64"
    Date: Fri, 15 Jul 2005 00:45:24 -0600
    To: Poul-Henning Kamp <phk@haven.freebsd.dk>
    
    

    Poul-Henning Kamp wrote:
    > In message <20050714181356.A58300@xorpc.icir.org>, Luigi Rizzo writes:
    >
    >
    >>Anyways there might be a way out...
    >>requests go from dev_strategy()
    >
    >
    > The right place for this is geom_disk.c:g_disk_start() and the start
    > routines of the drivers which do not use geom_disk.
    >
    > The easiest way to handle it would be to set a flag on the g_provider
    > saying "no more", have g_down spill the requests into a side queue
    > and when the driver is ready again, it calls some function which
    > pulls the request out of the side queue again.
    >
    >

    I agree. The 'side queue' can be a bioq also that gets handed off in
    whole to the driver once the path is unfrozen, but that's an
    optimization that is best done at a later time.

    Scott
    _______________________________________________
    freebsd-current@freebsd.org mailing list
    http://lists.freebsd.org/mailman/listinfo/freebsd-current
    To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"


  • Next message: FreeBSD Tinderbox: "[current tinderbox] failure on sparc64/sparc64"

    Relevant Pages

    • Re: Cancel-safe without a thread?
      ... Look at the IoCsqXXX routines, there are flaws in the method in the book! ... Windows 2k/XP/2k3 Filesystem and Driver Consulting ... driver book) that cancel-safe queues required a dedicated thread to ... I'd need a lock to protect the queue and in-progress bit/pointer ...
      (microsoft.public.development.device.drivers)
    • Re: IF_HANDOFF vs. IFQ_HANDOFF
      ... Is IF_HANDOFF supposed to be used only when the target queue is not the ... The network adapter's transmit descriptor ring ... whether coalescing that locking with existing driver locking makes ... The whole point of the IFF_OACTIVE flag is to suppress the call to the ...
      (freebsd-net)
    • Re: Changes in the network interface queueing handoff model
      ... layer output routine via ifp->if_outputwith the ifnet pointer, packet, ... as ARP), and hands off to the ifnet driver via a call to IFQ_HANDOFF, ... encapsulation and wrapping, and notifies the hardware. ... The ifnet layer send queue is becoming decreasingly useful over time. ...
      (freebsd-arch)
    • Changes in the network interface queueing handoff model
      ... 5BOne of the ideas that I, Scott Long, and a few others have been bouncing around for some time is a restructuring of the network interface packet transmission API to reduce the number of locking operations and allow network device drivers increased control of the queueing behavior. ... to "start" output by the driver. ... encapsulation and wrapping, and notifies the hardware. ... The ifnet layer send queue is becoming decreasingly useful over time. ...
      (freebsd-arch)
    • Changes in the network interface queueing handoff model
      ... 5BOne of the ideas that I, Scott Long, and a few others have been bouncing around for some time is a restructuring of the network interface packet transmission API to reduce the number of locking operations and allow network device drivers increased control of the queueing behavior. ... to "start" output by the driver. ... encapsulation and wrapping, and notifies the hardware. ... The ifnet layer send queue is becoming decreasingly useful over time. ...
      (freebsd-net)