1. 03 Jun, 2015 11 commits
    • Sean Bruno's avatar
      Change EM_MULTIQUEUE to a real kernconf entry and enable support for · 23c9098b
      Sean Bruno authored
      up to 2 rx/tx queues for the 82574.
      
      Program the 82574 to enable 5 msix vectors, assign 1 to each rx queue,
      1 to each tx queue and 1 to the link handler.
      
      Inspired by DragonFlyBSD, enable some RSS logic for handling tx queue
      handling/processing.
      
      Move multiqueue handler functions so that they line up better in a diff
      review to if_igb.c
      
      Always enqueue tx work to be done in em_mq_start, if unable to acquire
      the TX lock, then this will be processed in the background later by the
      taskqueue.  Remove mbuf argument from em_start_mq_locked() as the work
      is always enqueued.  (stolen from igb)
      
      Setup TARC, TXDCTL and RXDCTL registers for better performance and stability
      in multiqueue and singlequeue implementations. Handle Intel errata  3 and
      generic multiqueue behavior with the initialization of TARC(0) and TARC(1)
      
      Bind interrupt threads to cpus in order.  (stolen from igb)
      
      Add 2 new DDB functions, one to display the queue(s) and their settings and
      one to reset the adapter.  Primarily used for debugging.
      
      In the multiqueue configuration, bump RXD and TXD ring size to max for the
      adapter (4096).  Setup an RDTR of 64 and an RADV of 128 in multiqueue configuration
      to cut down on the number of interrupts.  RADV was arbitrarily set to 2x RDTR
      and can be adjusted as needed.
      
      Cleanup the display in top a bit to make it clearer where the taskqueue threads
      are running and what they should be doing.
      
      Ensure that both queues are processed by em_local_timer() by writing them both
      to the IMS register to generate soft interrupts.
      
      Ensure that an soft interrupt is generated when em_msix_link() is run so that
      any races between assertion of the link/status interrupt and a rx/tx interrupt
      are handled.
      
      Document existing tuneables: hw.em.eee_setting, hw.em.msix, hw.em.smart_pwr_down, hw.em.sbp
      
      Document use of hw.em.num_queues and the new kernel option EM_MULTIQUEUE
      
      Thanks to Intel for their continued support of FreeBSD.
      
      Reviewed by:	erj jfv hiren gnn wblock
      Obtained from:	Intel Corporation
      MFC after:	2 weeks
      Relnotes:	Yes
      Sponsored by:	Limelight Networks
      Differential Revision:	https://reviews.freebsd.org/D1994
      23c9098b
    • John-Mark Gurney's avatar
      fix missing backslash.. · 285c9f5c
      John-Mark Gurney authored
      285c9f5c
    • John-Mark Gurney's avatar
      install nanobsd.sh as a MLINK as that is the .Nm of the man page.. · 3d016773
      John-Mark Gurney authored
      really the man page should be renamed as nanobsd.sh is not installed
      as nanobsd..
      3d016773
    • Hans Petter Selasky's avatar
      Fix spelling. · be14cd6b
      Hans Petter Selasky authored
      be14cd6b
    • Luiz Otavio O Souza's avatar
      Fix wrong variable name in the previous commit. · ecb3497f
      Luiz Otavio O Souza authored
      Pointy hat to:	loos
      Reported by:	araujo
      ecb3497f
    • Luiz Otavio O Souza's avatar
      Fix the OACTIVE handling on if_dwc. · 9500101c
      Luiz Otavio O Souza authored
      Previously the OACTIVE flag was being set when the tx descriptors are fully
      allocated but it wasn't unset anywhere.
      
      As soon as a packet is transmitted, unset the OACTIVE flag and call start
      routine to push any pending packets from the tx queue.
      
      This closes another race where a full tx queue would jam the tx path (tx
      queue is full, new packets cannot be added to queue and dwc_txstart never
      gets called).
      9500101c
    • Ian Lepore's avatar
      Better handling of userland sysarch() requests to flush icache. · 8826d904
      Ian Lepore authored
      On armv6, cache maintenance can trigger page faults.  Add handling so that
      these turn into SIGSEGV that kills the process rather than panics that kill
      the kernel.
      
      Differential Revision:	https://reviews.freebsd.org/D2035
      Submitted by:	Michal Meloun <meloun@miracle.cz>
      8826d904
    • Baptiste Daroussin's avatar
      Revert r283938 it is not needed anymore and broken · 3e82c722
      Baptiste Daroussin authored
      gzip(1) cannot be used as bootstrap tools as it depends on syscalls that only
      exists on HEAD
      3e82c722
    • Baptiste Daroussin's avatar
      Replace the gunzip(1) system by a minimalistic zlib based implementation. · 09faefdd
      Baptiste Daroussin authored
      This allows to not depend on gunzip(1) at bootstrap time, and is good enough to
      wait for upstream real implementation using zlib.
      09faefdd
    • Andriy Gapon's avatar
      userboot: enable bzipfs support · 2ecf70de
      Andriy Gapon authored
      Additionally, sort all real filesystems before the virtual ones.
      
      Differential Revision:	https://reviews.freebsd.org/D2709
      Reviewed by:	grehan
      MFC after:	5 days
      2ecf70de
    • Baptiste Daroussin's avatar
      mandoc's makewhatis requires gnuzip to be in the path when deadling with · 0bbe6da5
      Baptiste Daroussin authored
      with compressed manpages.
      
      This should fix spam during installworld: "exec: No such file or directory"
      
      Reported by:	many
      0bbe6da5
  2. 02 Jun, 2015 17 commits
  3. 01 Jun, 2015 12 commits