Skip to content
Snippets Groups Projects
  1. May 10, 2019
    • Brett Wilson's avatar
      [debugger] Improve indexing performance. · d8d9d61b
      Brett Wilson authored
      Performance improves by ~7% by optimizing allocation of vectors and strings
      iin module_symbol_index and module_symbol_index_node before doing the indexing.
      
      Performance improves by ~15% by optimizing the allocation of the "seen_attrs"
      vector in the DwarfDieDecoder.
      
      This was measured by running the normall-commented-out test
      ModuleSymbolIndex.BenchmarkIndexing and giving it an ELF binary of a fully
      symbolized release build of Chrome.
      
      There should be no functional change.
      
      Change-Id: I107a3d651ac05e9b2959da88a06e463173eae199
      d8d9d61b
    • Brian Hamrick's avatar
      [benchmarking] Fix FPS computation · 7ccbb8f8
      Brian Hamrick authored
      Previously, the first event of each window was not being counted, so
      reported FPS was lower than it should have been.
      
      Change-Id: I4c788c8ff2760d18c21e6abe98cfe9eab69ea3c0
      7ccbb8f8
    • John Bauman's avatar
      [magma] Add min_size_bytes buffer format constraint · 9ba375aa
      John Bauman authored
      This will allow creating buffer collections of fixed size that don't
      contain images.
      
      This is ignored for now, until the drivers are updated to set the value.
      
      Test: in a follow-up patch once this does something.
      
      Change-Id: I5e6e5e216e61f006645480f0f89d09fdd28638d8
      9ba375aa
    • David Worsham's avatar
      [escher] Move vulkansdk prebuilt · 78862c36
      David Worsham authored
      Tested: Built and ran Escher on Linux
      SCN-1391 #comment
      
      Change-Id: I35bdcf15aae15b4724f4652c5fa9bb8e790b564b
      78862c36
    • Gurjant Kalsi's avatar
      [aml][clock] Add tests to AML Clock Driver. · f8f582d1
      Gurjant Kalsi authored
      (1) Refactors the AML Clock Driver for Testing (Inject MMIO regions)
      (2) Add tests to the AML Clock Driver.
      (3) Don't needlessly copy gate definitions into the driver.
      
      Change-Id: Ib5c685ff0ac6cf23b3df8c4afd90daaffa299472
      f8f582d1
    • Adam Barth's avatar
      [fidl][cpp] Introduce fidl::EventSender · 766f1008
      Adam Barth authored
      The fidl::EventSender is similar to fidl::Binding except the
      fidl::EventSender just sends events and does not receive or decode
      incoming messages.
      
      Having a separate class for this functionality is useful because
      EventSender does not need to couple to an async_dispatcher_t, which
      means EventSender can be used in scenarios where an async_dispatcher_t
      is not available or when the client wishes to send events from multiple
      threads.
      
      This CL also uses EventSender in lib/vfs/cpp in a location where an
      async_dispatcher_t is not available. This change lets us remove a
      dependency on the C bindings in lib/vfs/cpp, which is the last blocker
      for adding lib/vfs/cpp to the SDK. The change also lets us remove one
      more instance of manually constructing FIDL messages.
      
      Test: Added event_sender_unittest.cc
      Change-Id: If9d6c9cca4d16d248d3635be677d35b61d321e28
      766f1008
    • Zach Anderson's avatar
      Revert "[devhost] Wait for BindDriver in reply to Bind" · cccafba3
      Zach Anderson authored
      This reverts commit cf254ae8.
      
      Reason for revert: Causes vim2 to fail to pave. See: https://fuchsia.atlassian.net/browse/DNO-519
      
      Original change's description:
      > [devhost] Wait for BindDriver in reply to Bind
      > 
      > Calls to fuchsia.device.Controller/Bind should only return once the
      > operation completes, which is when
      > fuchsia.device.manager.DeviceController/BindDriver is called.
      > 
      > ZX-3991 #done
      > 
      > Change-Id: I10607640072c8f779ac1d5be79d5a2da6de6288b
      
      TBR=kulakowski@google.com,teisenbe@google.com,abdulla@google.com,brettw@google.com
      
      Change-Id: I370d03abd9fa93a70a48f86f4df171f2cf87ee12
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      cccafba3
    • Allan MacKinnon's avatar
      [graphics][compute] Build HotSort targets with GN and add a test. · 4db891fb
      Allan MacKinnon authored
      Tracked by: SPN-8
      
      Test: fx shell run fuchsia-pkg://fuchsia.com/hotsort_vk_bench#meta/hotsort_vk_bench.cmx"
      
      - CL following 277184.
      
      This CL replaces shell scripts with GN.
      
      The GN build invokes the 'hotsort_gen' code generator and builds
      architecture-specific shader "targets" (bundles of shaders and
      algorithm configuration info) using a custom GN template.
      
      The target outputs are placed in their respective $target_gen_dirs for
      later inclusion of either a source set or its equivalent binary image.
      
      The hotsort_target.gni template performs the following steps:
      
        1. Produce list of compute shaders that *will* be generated.
        2. Invoke hotsort_gen to generate compute shaders.
        3. Compile the shaders to SPIR-V modules with glslangValidator
        4. Invoke spirv-opt to optimize and shrink the SPIR-V modules.
        5. Invoke spirv-remap to improve compressibility of modules.
        6. Convert SPIR-V modules to array of C literals.
        7. Dump a binary image of the HotSort target bundle of modules.
        8. The GN template returns a source set of the target.
      
      Steps to verify target outputs are being created:
      
        1. fx build graphics
        2. ls -R out/default/gen/src/graphics/lib/compute/hotsort/platforms/vk/tests/hotsort_vk_bench/
      
      Change-Id: Ic98c374c70e4fda2c1d8d3284a8cbc46443eaffc
      4db891fb
    • David Worsham's avatar
      [escher] Clean up refs to //garnet · 49312719
      David Worsham authored
      Tested: No behavior changed
      SCN-1391 #comment
      
      Change-Id: I98fdc6188963a381141448d36400d4a370ead295
      49312719
    • Nick Korostelev's avatar
      [modular][testing] Add missing AttachView2 method · af9e4dfd
      Nick Korostelev authored
      Fixes hermetic dart test that require UI.
      
      Test:
      fx run-test slider_mod_tests
      
      Change-Id: I8464abc271378031f2da133290a730c4f2b9d504
      af9e4dfd
    • Vardhan Mudunuru's avatar
      [fidl][sdk][cpp] Make table setters chainable · 7542289a
      Vardhan Mudunuru authored
      This:
      
      MyTable t;
      t.set_x(1);
      t.set_y(2);
      MyFunction(std::move(t));
      
      Can now be reduce to:
      
      MyFunction(MyTable().set_x(1).set_y(2))
      
      Test: Table.ChainSetters; all existing tests using tables also aren't
      failing.
      
      FIDL-615
      
      Change-Id: Ieeffa04417e92df7c0bb01d3b461dd968ba33852
      7542289a
    • Aaron Wood's avatar
      [omaha client] Add Installer and Plan · 1d9ce1ef
      Aaron Wood authored
      This adds the Installer trait, and replaces the InstallPlan trait with
      Installer::Plan, an trait to use with the associated InstallPlan type of
      the Installer.
      
      A stub implementation is provided for ease of writing tests and for
      prototyping work.
      
      Bug: PKG-465
      Test: fx run-test omaha_client_lib_tests
      Change-Id: Id644c3a41c78a1fce09fa8575027eb7c71c9943d
      1d9ce1ef
    • David Worsham's avatar
      [scenic] Remove user_provider ViewOwners · dae2933c
      David Worsham authored
      Tested: No behavior changed
      SCN-1018 #comment
      SCN-1291 #comment
      
      Change-Id: Ic2dba8b13d6aaea74c19013cdb2561d601114a70
      dae2933c
    • Francois Rousseau's avatar
      [feedback] increase timeout in log_listener_unittest · e8a8bd51
      Francois Rousseau authored
      on a QEMU bot, the stub logger took longer than the timeout (100ms) to
      send the first message (before it goes to sleep for 200ms) so we
      increase the timeout to 500ms (and the sleep to 1s).
      
      FLK-225 #done #comment
      
      TESTED=`fx run-test feedback_agent_tests -t log_listener_unittest -- --gtest_filter=CollectSystemLogTest.Succeed_LogCollectionTimesOut`
      
      Change-Id: Ia8e135e4ac2305076e73658916a5f6c6b0bddda6
      e8a8bd51
    • Joshua Conner's avatar
      [brcmfmac][wlan] Add simulator configuration · 75ab20ef
      Joshua Conner authored
      Add a simulator configuration to lay the groundwork for driver
      unit tests. This first step creates a build target that doesn't
      use the zircon driver/device framework. To do so, we create two
      sets of sources, one (for the actual driver) that instantiates
      a devmgr device and one (for testing) that instantiates a
      simulated device.
      
      WLAN-1126
      
      TEST: Built, ran brcmfmac unit tests, ran smoke test with
            fx-linksys. This patch is the first step in a unit test
            framework for the brcmfmac driver.
      Change-Id: Icecadcfd75f727084447953c6a521775ca499737
      75ab20ef
    • Zach Bush's avatar
      [cobalt::SetChannel] Remove unused second argument · ec52076f
      Zach Bush authored
      Change-Id: Ia1db1813d4c6f491e0ca02945ca86ffa6f6f28c6
      ec52076f
    • Vikram Auradkar's avatar
      [Odu] IO benchmarking utility · 938810c9
      Vikram Auradkar authored
      This is first cut to keep review rolling. The patch allows me to
      incorporate feedback from review as I keep working on the tool.
      There are plenty of TODOs that might serve as a hint to reviewers
      what I intend to do in the future, There are codes that look noop
      which I have retained because it makes testing easier.
      The current version parses only one argument (a file name) and
      runs load for few seconds or a minute at max.
      
      When run - output looks like this.
      $ odu /tmp/f
      ===== Aggregate Stats =====
      Runtime:50.15060829s IOs:303 write_size(MB):62.40
      IOPS:4.79 LAT(us):208579.46 BW(MB/s):0.98
      
      If I print thread specific stats and stage stats the output would look
      like
      
      $ odu /tmp/e
      ===== For generator-0 =====
      Generate TimeInStage:344791630 IOPS:292.93 LAT(us):3413.78
      BW(MB/s):58.01
      Issue TimeInStage:24016252450 IOPS:4.21 LAT(us):237784.68 BW(MB/s):0.83
      Verify TimeInStage:6253520 IOPS:16150.90 LAT(us):61.92 BW(MB/s):3198.20
      Runtime:49.78938866s IOs:101 write_size(MB):20.80
      IOPS:4.21 LAT(us):237784.68 BW(MB/s):0.83
      ===== For generator-1 =====
      Generate TimeInStage:494067320 IOPS:204.43 LAT(us):4891.76
      BW(MB/s):40.48
      Issue TimeInStage:22197400730 IOPS:4.55 LAT(us):219776.24 BW(MB/s):0.90
      Verify TimeInStage:1960320 IOPS:51522.20 LAT(us):19.41 BW(MB/s):10202.42
      Runtime:52.46426601s IOs:101 write_size(MB):20.80
      IOPS:4.55 LAT(us):219776.24 BW(MB/s):0.90
      ===== For generator-2 =====
      Generate TimeInStage:634360370 IOPS:159.22 LAT(us):6280.80
      BW(MB/s):31.53
      Issue TimeInStage:24582622520 IOPS:4.11 LAT(us):243392.30 BW(MB/s):0.81
      Verify TimeInStage:21145570 IOPS:4776.41 LAT(us):209.36 BW(MB/s):945.82
      Runtime:48.96960358s IOs:101 write_size(MB):20.80
      IOPS:4.11 LAT(us):243392.30 BW(MB/s):0.81
      ===== Aggregate Stats =====
      Generate TimeInStage:1473219320 IOPS:205.67 LAT(us):4862.11
      BW(MB/s):42.08
      Issue TimeInStage:70796275700 IOPS:4.28 LAT(us):233651.07 BW(MB/s):0.88
      Verify TimeInStage:29359410 IOPS:10320.37 LAT(us):96.90 BW(MB/s):2111.76
      Runtime:52.47356284s IOs:303 write_size(MB):62.40
      IOPS:4.28 LAT(us):233651.07 BW(MB/s):0.88
      
      Utility saves the arguments to generator in a file called
      "./output.confing" whose content may look like
      [{"magic_number":5720826294568186926,"process_id":3,"name":"generator-0",
      "generator_unique_id":0,"block_size":4096,"max_io_size":1048576,"align":
      true,"seed":0,"target_name":"e","target_range":{"start":0,"end":6990506},
      "target_type":"target_file","issuer_queue_depth":40,"max_io_count":100,
      "sequential":true}...]
      
      Test: fx run-test odu_tests -- --nocapture
      
      Change-Id: I219379093dfef14a0979678ce2e34a76fc5b9bbf
      938810c9
    • Benjamin Lerman's avatar
      [ledger] Remove deprecated New method. · 80664652
      Benjamin Lerman authored
      LE-618 #done
      
      Change-Id: Ibdc6d9a9bf187b7127e82c614b5fb7540d0ede09
      80664652
    • docs-roller's avatar
      [gndoc] Update GN build arguments documentation · 0e05204e
      docs-roller authored
      Test: CQ
      
      Change-Id: I8382094ead019dbfc3a5447ec5a27dccbd1a5f3f
      0e05204e
    • Benjamin Lerman's avatar
      [ledger] Replace deprecated usage of New method on Snapshot. · 9d19c2ad
      Benjamin Lerman authored
      LE-618
      
      Change-Id: Ib68941ffd47954c79dd8784c713c1e1d37607f3c
      9d19c2ad
    • Mark Schott's avatar
      [audio_core] Pointer hygiene cleanup · 991feaac
      Mark Schott authored
      After moving fbl::RefPtr from std::shared_ptr, removing raw pointers
      where appropriate and removing unnecessary uses of .get(), which can be
      dangerous.
      
      TEST: no functional change
      Change-Id: I143faeb33c98013119fcb3e14d50f3d6648316ee
      991feaac
    • Mark Schott's avatar
      [audio_core] Move to intrusive containers · cee88551
      Mark Schott authored
      Moving from std::shared_ptr and std::set, etc. to fbl's intrusive containers
      had been planned here for quite awhile as evidenced by johngro@'s TODOs;
      this also brings us in line with the style guidelines as fbl::RefPtr is
      half the size of std::shared_ptr.
      
      TEST: audio_fidl_tests
      Change-Id: Id9734cb8a5099f061a43b017b42a9224bc03fffa
      cee88551
    • Mark Schott's avatar
      [fbl] Allow multiple inheritance for (Single|Doubly)LinkedListable · 4eba5f43
      Mark Schott authored
      Just like change Ib5d4d93b45152f8117ef2ad3fcdba6c70638bef9 but for the
      (Singly|Doubly)LinkedList classes. HashTable is also supported since
      it's backed by those.
      
      TEST: new stuff in intrusive_(singly|doubly)_linked_list_tests.cpp
      Change-Id: Id00347b4191744b4ebdb2c23f12a2fae65451f2f
      4eba5f43
    • Mark Schott's avatar
      [fbl] Make WAVLTreeConainable mulitply inheritable · 2432aa23
      Mark Schott authored
      Currently if you want to have your class able to live in multiple
      WAVLTrees at once, you have to give it multiple WAVLTreeNodeState
      members and define the node_state function in multiple NodeTraits
      classes.
      
      This change greatly simplifies this use case by allowing a
      class to inherit multiple times from fbl::WAVLTreeContainable and pass
      it a different tag type as the second template parameter each time. You
      then pass the same tag type to the WAVLTree template and you're good to
      go.
      
      I also defined a helper template fbl::ContainableBaseClasses which allows
      one to inherit from multiple Containable classes (even ones that aren't
      necessarily WAVLTreeContainable) without also explicitly inheriting from
      the fbl::HasTagTypes class, which is mostly an implementation detail.
      This helper template also contains static_asserts to give understandable
      error messages for common errors.
      
      TEST: CQ, new stuff in intrusive_wavl_tree_test.cpp
      
      Change-Id: Ib5d4d93b45152f8117ef2ad3fcdba6c70638bef9
      2432aa23
    • Adam Barth's avatar
      [syscalls] Adopt zx_clock_get_new in more places · a1312031
      Adam Barth authored
      Eventually zx_clock_get_new will replace zx_clock_get.
      
      Tests: No behavior change.
      Change-Id: I7884752bb866e72c338cf63bf64739894103ff01
      a1312031
    • Bryan Henry's avatar
      [appmgr] Add OWNERS file to match //src/sys · 7b33c4c6
      Bryan Henry authored
      appmgr is missing an OWNERS file, which can lead to changes being made
      without CF being aware.
      
      Change-Id: Iffa31b40ac2c78d592167c334e9614aa2f90c74f
      7b33c4c6
    • Jeremy Manson's avatar
      [fidlc] Unique-ify nullable types in coding tables · e240634d
      Jeremy Manson authored
      Prior to this, if you had multiple references to a nullable xunion in
      the flat AST, it would include multiple copies of that xunion in the
      list of coded types.  Since the list of coded types is directly used to
      generate xunion declarations (see TablesGenerator::Produce), it could
      emit multiple versions of the same nullable xunion into the C generated
      code, leading to compilation failure.
      
      Also applies the same logic to nullable structs and unions, although
      they don't have the same failure mode.
      
      Change-Id: I840beaa607f390a9ec7e685d6c0e37477445d657
      e240634d
    • Abdulla Kamar's avatar
      [devhost] Wait for BindDriver in reply to Bind · cf254ae8
      Abdulla Kamar authored
      Calls to fuchsia.device.Controller/Bind should only return once the
      operation completes, which is when
      fuchsia.device.manager.DeviceController/BindDriver is called.
      
      ZX-3991 #done
      
      Change-Id: I10607640072c8f779ac1d5be79d5a2da6de6288b
      cf254ae8
    • Roland McGrath's avatar
      [zircon][gn] Fix environment_redirect() for special-case selectors lists · 0fe91f37
      Roland McGrath authored
      When an environment() sets variant_selectors so it doesn't match the
      default list used in common environments, things get even hairier for
      environment_redirect().  Previously environment() documented that
      default_variants must be in the list for environment_redirect() to work
      right, but even that was not actually enough.  Instead, remove that
      requirement and make environment() always define a dummy environment with
      the "default redirect" variant name that environment_redirect() will
      choose.  Make that logic choose only from default_variants and line up with
      the fallback dummy variant name logic in environment().
      
      Bug: BLD-430
      Change-Id: I399a38ba494f4fafc28a3d9e93dece101eab3732
      0fe91f37
    • Erick Tryzelaar's avatar
      [system-ota-tests] add support for downgrade amber-files · d8e013c0
      Erick Tryzelaar authored
      This allows the OTA tests to be used between two local builds.
      
      Change-Id: Ib9e4088fe0d6d17dda57d6b628e5ca636e48b806
      d8e013c0
    • Doug Evans's avatar
      [lib/perfmon] Simplify/cleanup DeviceReader · 101a08b7
      Doug Evans authored
      - Convenience methods GetProperties,GetConfig no longer that convenient
      - move to "internal" namespace
      - use weak pointer to access Controller functionality
      
      Tested: fx run-test cpuperf_tests
      Change-Id: I36002719309a4798447b6e3c79692298990fb1e2
      101a08b7
    • Roland McGrath's avatar
      Revert "[utest] Don't hard-code /boot location for zircon test files" · 4ab4d720
      Roland McGrath authored
      This reverts commit 1651ebe6.
      
      Reason for revert: The change rolled too much into one commit and did not get anything green.  It needs to be split up and reviewed properly.
      
      Original change's description:
      > [utest] Don't hard-code /boot location for zircon test files
      > 
      > This change fixes the zircon tests that were failing in the `bringup`
      > build.
      > 
      > The tests were failing because they had hardcoded paths at "/boot/..."
      > which failed when the tests were run from "/system". The fix is for
      > runtests to pass a TEST_ROOT_DIR environment variable, which is
      > "/system" or "/boot" depending on the location of the test. The tests
      > use this variable instead of hardcoding the path.
      > 
      > Bug: BLD-463 #comment fix broken tests
      > Change-Id: Id6478f68600a55f13dc8c0bde19253c909a03694
      
      TBR=mcgrathr@google.com,geb@google.com,shayba@google.com
      Bug: BLD-463
      
      Change-Id: I9d5a296eee311d48ac45a7dd8339d889aca18d4d
      4ab4d720
    • Sean Klein's avatar
      [owners] Add some owners files for storage-related code · eaf1a290
      Sean Klein authored
      Change-Id: Ida400311e4757c34aa23e42fee0c658966ce13a4
      eaf1a290
    • Jody Sankey's avatar
      [docs] Document optional tests/ directory. · 7031668c
      Jody Sankey authored
      Happy to tweak wording as necessary.
      
      Change-Id: I4db141b3ad0436a861d90905b9bf7c9040b649c5
      7031668c
    • Olivia Nordquist's avatar
      [modular][quick fix] removing extra '/' from the copywrite line · f67ff686
      Olivia Nordquist authored
      Change-Id: I9378d445e53b88cade30ecdab28021bb4dc4137c
      f67ff686
    • Bryan Henry's avatar
      [component_manager] Use log crate's macros instead of defining our own · 1e505a8c
      Bryan Henry authored
      This integrates the component_manager logger, which sends logs to the
      kernel debuglog facility, with the log crate instead of defining our own
      macros. It also adds a panic hook to ensure that panics are also sent to
      the debuglog, rather than relying on component_manager's stderr to be
      wired up properly.
      
      Also removes the stderr fallback path, which is unnecessary.
      
      Change-Id: I3510b04239c7f9ab306254663bddaab245f48197
      1e505a8c
    • Joshua Conner's avatar
      [wlan][drivers] Update header file gates · b4971811
      Joshua Conner authored
      Update #ifdef gates for headers to match their new location in
      src/connectivity.
      
      TEST: Compiles
      Change-Id: I94f3509a24e91a9e93e4ec6b697fa602fa4bec62
      b4971811
    • Manali Bhutiyani's avatar
      [minfs] disk-inspector Part 2: Implement the minfs inspector backend for on-disk datastructures. · a91eec0b
      Manali Bhutiyani authored
      This change implements the minfs inspector backend for different on-disk structures like
      superblock, inode table, inode, journal et al and returns each of these as a generic DiskObject.
      Please note that alloc block bitmap and inode bitmap are not implemented as part of this
      change and will be implemented as a later CL.
      This CL also splits the Minfs class and InodeManager class to make them more easy to accomodate
      unit testing.
      
      Testing: Added unit tests for root, superblock, inode table, inode and journal.
      
      Change-Id: I3bed793a8c0301bf8ce4367fbca48e31a6f44772
      a91eec0b
    • Ankit Dave's avatar
      [a11y] New A11y Settings Manager. · 7a8a6961
      Ankit Dave authored
      This cl implements Settings Manager based on the recent settings.fidl
      submitted for A11y. This cl includes following changes:
        * Implementation of Settings Manager.
        * Unit Tests with Mock for SettingsService and SettingsWathcer.
        * Added a comment in settings.fidl to document expected behavior of
          SettingsWatcher.
      
      Testing:
        * Build: Passed
        * Installed image on device.
        * Unit Test: Passed
          Command Used: fx run-test a11y_tests
      
      MI4-1567 #comment
      MI4-1477 #comment
      
      Change-Id: Ib4c36b2e660e39760d34c58cb91864b3d60d7169
      7a8a6961
    • Sarah Chan's avatar
      [RootPresenter] Remove Transitional in presentation.fidl · a86f16bc
      Sarah Chan authored
      Tests: build
      Change-Id: If8c72b099513338b5cdbff5fbcdb5c822ec2f9d2
      a86f16bc
Loading