Sync up meeting minutes - riscv-collab/v8 GitHub Wiki

Developer meetings held every other week on Wednesday 6pm Pacific / 9pm Eastern, Thursday 9am China. All are welcome.

Zoom link

Date: 09/01/2021

Minutes

  • Announcements / Community Updates
    • The RV32G porting project on RVI mentorship for fall-term had not issued out due to lacking of propoer candidate.
    • We can use Sifive Unmatch to do performance at PLCT. Test result.link
  • Projects updates
    • Fix random crash bug(conversion.js)link
    • Fix a native debug crashlink
    • Fix a long standing cpu profilier buglink
    • Yahan is working for the RVV implementationlink

Date: 08/18/2021

Minutes

  • Projects updates
    • Fix random crash bug(conversion.js)link

Date: 08/04/2021

Minutes

  • Announcements / Community Updates
    • The intern for RV32G porting quitted and the project on RVI mentorship is reopen for fall-term
  • Projects updates
    • Derek upstreamed his c-ext patch on gerrit, need to be check and review
    • Yahan and Ji is working for the design document for V-extension supportlink
    • Yahan upstreamed the WIP patch for V-extension

Date: 07/21/2021

Minutes

  • Announcements / Community Updates
    • The intern for RV32G porting quitted and the project on RVI mentorship is reopen for fall-term
  • Projects updates
    • Derek upstreamed his c-ext patch on gerrit, need to be check and review
    • Yahan and Ji is working for the design document for V-extension supportlink
    • Yahan upstreamed the WIP patch for V-extension

Date: 07/07/2021

Minutes

  • Announcements / Community Updates
    • RISCV64 support for Node.js has been merged in the 17.0 version
    • RISCV64 configuration for OpenSSL main and 1.1.1 have been merged
    • V-extension support is on going by ISCAS PLCT
  • Projects updates
    • Liuzheng is working on C-extension and uploaded his patch on github riscv64 branch
    • Node.js on main trunk can be built for RV64G, but regression must be run on RV boards.We still needs proper hardware to support the regression and bug fix.

Date: 06/09/2021

Minutes

  • Announcements / Community Updates
    • Qiuji has permissions on the V8 repo now and can trigger try-jobs and +1 PRs!
    • The RISC-V International internship program has begun
      • One intern will work on RV32 porting of V8
      • To start after graduation, around mid June
    • We are still waiting for Node.js to publish its update
    • ISCAS is going to build RISC-V laptops before the end of 2022
      • Will be working on Chromium porting
      • Hopefully we can get some support and work open sourced from other companies, including RIOS Lab, and Brice will check if Futurewei has anything that can be opened from previous work on that
    • The V-extension will be frozen soon
      • We should consider starting to add support in V8 for this
      • The Wasm vector extension has just been ratified as well, so this is a good time to take on this task
    • Yahan is starting to track V8 performance
  • Project updates
    • For C-extensions, the assembly generator methods are all defined, but are not yet used
    • Derek should upstream his work, then PLCT can help to finish any remaining items

Date: 05/26/2021

Minutes

  • Community News:
    • building a testbed (open to all OSS community as a testing platform & continuous performance tracking; members gain free access to developer's board and test) for RISC-V international in Nanjing, China (PLCT lab)
    • Android task group formed (T-head from Alibaba is leading the effort)
  • Brice went through a couple PRs being reviewed

Action item:

  • Send instructions to OpenJDK team about moving repo to risc-v international repo (Brice)

Date: 5/12/2021

Agenda

  • Announcements
  • Community updates
  • Upstreaming updates
  • Action item followups
  • Open PR Discussion
  • Presentations for any recent/planned developments

Minutes

  • First managed runtime meetings. Many groups joined such as Alibaba's OpenJDK team
  • QiuJi's application to do a presentation has been accepted by the RISC-V forum. Planning to give a 10 minute presentation with tentative topics being: a retrospection on porting and maintaining V8, feature development, and optimizations
  • PLCT team has projects they would like to bring new engineers for. Please contact them for details.
  • Upstreaming updates include: c-extension flags and renaming some riscv-only flags
  • V8 team would like us to take care and follow the conventions they have set up. Such conventions include remembering the RISCV64 tag on our commits as well as making sure commit messages and comments follow normal conventions.

Action Items

  • Update wiki with Node.js workflow. Pending because we need to set up a native CI platform for Node.js (Qiuji)
  • Add C-Extension Instructions (Derek)
  • Add calendar for who will host meetings

Date: 4/28/2021

Agenda

  • Announcements
  • Community updates
  • Upstreaming updates
  • Action item followups
  • Open PR Discussion
  • Presentations for any recent/planned developments

Minutes

  • V8 upstreaming is progressing normally after Brice got the review+
  • About Node.js
    • V8 in Nodes.js is now updated to V9.0.257.21. Its build is still fail. It's expected a fine CI would be set up until the next version update.(After Brice got the review+ on Apr 14, we now can do daily maintain for V8.)
    • Node.js needs native test other than simutaor test, so the final CI still depends on sutained stable hardware. Yahan and QiuJi is trying the Allwinner D1.
    • The workflow still depends on the pratice result of the above two points.(QiuJi todo)
  • QiuJi had submitted a lightening talk proposal for the RISC-V Forums, also a talk proposal for RVSC in Shanghai.

Action Items

  • Update wiki with Node.js workflow (Qiuji)
  • Update wiki with new upstreaming workflow (Brice)

Date: 4/14/2021

Agenda

  • Announcements
  • Community updates
  • Upstreaming updates
  • Action item followups
  • Open PR Discussion
  • Presentations for any recent/planned developments

Minutes

  • A member from the MIPS V8 backend team joined us today to listen in
  • Node.js now has a RISC-V target!
  • QiuJi plans to submit a talk for the RISC-V Forums and is also preparing another talk for a RISC-V event in Shanghai
  • Follow up on action items from last time
    • Move 2021 goals in the issue to wiki (Jiqiu)
    • Arrange a zoom meeting w/ V8 MIPS RISCV backend to share tips and connect community (Jiqiu)
      • They recommended that the best way to gain privileges in the V8 upstream is to just continue to submit useful patches
      • One member joined us today
    • Update process workflow w/ consideration of NodeJS's dependency on V8 release branch (Jiqiu)
      • Node.js seems relatively easier to get patches accepted
      • They only test x64, so there are no guarantees for other architectures
      • We need to clarify the process to update V8 within Node.js, but we assume we need to get a patch upstream in V8, then get that pulled in to Node.js
      • Qiuji will work on setting up our own CI for this
      • Qiuji will update the workflow on the wiki
    • Outreach to users of V8 to arrange individual social hours for community outreach (Wei)
      • Wei is working on this
      • Has posted a new job opening, but not much response yet
  • PLCT is preparing a technical training session and would like other team members to do a guest lecture
    • This is a series of lectures, starting now and going every 2 weeks
    • Typical discussion is 1 hour, so a 40-50 minute talk followed by discussion would be good
  • Upstreaming workflow
    • Since we can now quickly approve our own PRs upstream, the old process using our GitHub is no longer needed
    • We should maintain this repo to ensure that there is always a stable branch with RISC-V support, since upstream will often break RISC-V support
    • We will use the riscv64 branch for this
    • Others may want to continue to keep development branches in this repo while in progress, but this is not a requirement
    • Brice will update the wiki with these changes

Action Items

  • Update wiki with Node.js workflow (Qiuji)
  • Update wiki with new upstreaming workflow (Brice)

Date: 3/31/2021

Agenda

  • Announcements
  • Community updates
  • Upstreaming updates
  • Action item followups
  • Open PR Discussion
  • Presentations for any recent/planned developments

Minutes

Action Items

  • Move 2021 goals in the issue to wiki (Jiqiu)
  • Arrange a zoom meeting w/ V8 MIPS RISCV backend to share tips and connect community (Jiqiu)
  • Update process workflow w/ consideration of NodeJS's dependency on V8 release branch (Jiqiu)
  • Outreach to users of V8 to arrange individual social hours for community outreach (Wei)

Date: 3/17/2021

Agenda

  • Announcements
  • Community updates
  • Upstreaming updates
  • Action item follow-ups
  • Open PR Discussion
  • Presentations for any recent/planned developments

Minutes

  • Announcements

    • Initial commits have been merged
    • Sparkplug patch has been commited
    • Work on node.js has been started and initial builds have passed
    • v8 repo has been moved under riscv/v8
  • Community Updates

    • Managed runtimes group (java specific) sent out call for chair and co-chair
    • RISC-V foundation has setup a basic infrastructure for the specification and software
    • There is talks about setting up a group for performance modeling and performance profiling tools
  • Upstreaming

    • still waiting to get a proper privilege to thumbs up code.
  • PLCT updates

Action Items

  • Changes to the CI in regardes to the master, riscv64, and riscv64-dev branches
  • Addition of architecture flags for compilation

Other

  • Working with RISC-V International to get internship positions for v8.

Date: 3/3/2021

Agenda

  • Announcements
  • Community updates
  • Upstreaming updates
  • Action item follow-ups
  • Open PR Discussion
  • Presentations for any recent/planned developments

Minutes

Action Items

  • check and fix issue #53, #166, #297, #403, #414
  • test result for SparkPlug
  • moving on of C extension merge and evaluate

Date: 2/17/2021

Agenda

  • Announcements
  • Community updates
  • Discuss workflow after upstreaming (#442)

Minutes

  • Announcements
    • The Chromium team has released SparkPlug:

      Sparkplug is a new baseline, non-optimising second-tier compiler, designed to fit in the compiler trade-off space between Ignition and TurboProp/TurboFan.

  • Community updates
    • Chairs for all RISC-V task groups are in a renominating process
    • RISC-V is holding several Forums in April and May - Events
    • RISC-V has some time slot at ISC
    • Software has two new TGs
      • Performance modeling tools
      • Performance profiling and monitoring tools
    • RISC-V is pushing extension/ISA groups to ensure that there are no encumbered (patents, copyrights) items in their proposals
    • Brice is working with Sanhong from Alibaba on a charter for the Managed Runtimes group
      • Will share with the team for input (on Slack)
    • It seems progress on JDK upstreaming is very slow
  • Upstreaming status
    • Yahan and Brice now have access to start trybots for our Gerritt reviews
      # start default trybots
      git cl try
      # start RISC-V trybots
      git cl try -B luci.v8.try -b v8_linux64_riscv64_rel_ng
      
    • Brice requested port committer status for some of us, so that we may apply the “Code-Review +1” label (equivalent of a LGTM)
      • Waiting to hear back on that
      • We will need to wait for a full committer to approve changes for now
  • Discuss workflow after upstreaming (#442)
    • We will plan to make changes in our GitHub repo (this one), do our own code reviews here, then open upstream pull requests on Gerritt
    • If others submit changes upstream, we should review them, and also encourage the developers to join our group
    • How should we keep up-to-date with upstream?
      • Mirror upstream into master branch automatically
      • Run our regression tests on master to quickly identify problems caused by upstream changes
      • Rebase riscv64 branch regularly on to master
    • Brice will create a wiki page to describe the process of how we should stay in sync with upstream and the process that developers should follow to start new work
    • Qiuji will triage the issues from upstream and assign them to the team as needed
  • Derek suggested pushing the C extension changes without jumps as a separate pull request
    • Agreement from the group

Action Items

  • Create wiki page to describe new process for working with upstream - Brice
  • Open merge request for C extension (without jumps) - Derek

Date: 1/20/2021

Agenda

  • Announcements
  • Community updates
  • Upstreaming updates
  • Action item follow-ups
  • Open PR Discussions
  • Presentations for any recent/planned developments
  • Miscellaneous

Minutes

  • Community Updates:

    • There will be a RISC-V retreat on 1/27/2021 and 1/28/2021 Beijing time. Derek and Chao will showcase running V8 on PicoRio hardware.
  • Upstreaming Updates:

    • Current rebase has some build failures.
    • The planned current PRs that will be pushed in to master will be #379, #384, #393.
    • Let Brice know if there are any PRs you would like to be added.
  • Updates from Wei about RVI meetings:

    • There are plans for a performance tracking system on the compiler side.
    • There will be another bi-weekly meeting 1/21/2021 afternoon Beijing time. Wei will update us on what he learns there.
    • J-Extension group work is currently focusing more on security.
  • Miscellaneous

    • In future meetings we will be moving presentations to the start.
    • Wei would like to test using Qemu's User Mode for increased regression testing speeds.

Action Items

  • upstreaming: fix build issue and push in PRs.
  • Setup PTS for V8 (@ww)
  • Test Qemu's User Mode (@ww)
  • Continue c-ext support work(@Derek Tu)

Date: 1/7/2021

Agenda

  • Announcements
  • Community updates
  • Upstreaming updates
  • Action item follow-ups
  • Discussion about the Wishlist 2021 for V8 for RISC-V project
  • Present recent develop progress status if any(RVV-Wasm support, Performance analyze vs ARM64 etc.)

Minutes

  • Upstreaming issues:

    • need to separate RV32 modifies from the current RV64 modifies(apply to Georg Neis’s comments)
  • Updates from Wei about RVI meetings:

    • PLCT will set up the Performance Tracking System(PTS) for the Code speed group. V8 will be the first one put to the target software.
  • Action items follow-ups:

    • issue370 need to be checked with OS guys to see how to flush icache for JIT.
    • issue 372/373/375/376/378 need to be clarified(low priority)
    • pr309 need to be closed. pr379 need to be reviewed
  • Wishilist for 2021 is discussed and priority confirmed:

    • upstream(1st)
    • node.js support(2nd)
    • wasm and JS speedup(3rd)
    • ISA extension support(4th)
  • Yahan introduced progressing for Wasm-RVV. He adds new register type declaration for the non-overlayed vector registers.

  • Qiuji reported some result for performance evaluation of V8-RISCV. The result is comparing to ARM64.slides

Action Items

  • upstreaming: apply to Georg Neis’s comments

  • clean up github issues and prs:

    • issue370(@qiuji)
    • pr309(@taoliqiang)
    • pr379(@luyahan)
    • issue 372/373/375/376/378(@luyahan & @qiuji)
    • issue258 (give a investigate report to it @qiuji & @taoliqiang)
  • Setup PTS for V8 (@ww)

  • Re-start c-ext support work?(@Derek Tu)

Date: 12/23/2020

Agenda

  • Announcements
  • Community updates
  • Upstreaming updates
  • Action item followups
  • Review open PRs and determine next actions

Minutes

  • We will start rotating hosts for the meeting between PLCT, RIOS, Peng, and Futurewei
    • PLCT lab will host the next one
  • Updates from Wei about RISC-V International meetings
    • Code speed group is approved
    • Performance tracking task group will define scripts to run benchmarks and post results to a website
    • Plan to build Java and JS speed task groups
  • Yahan shared a roadmap for adding the V extension support to V8 slides
    • Defined 2 phases: prepare and implement
    • Discussed timing and testing of this work
    • Probably a subset of the V extension will be sufficient to support the WebAssembly instructions, so be sure to focus on this first
  • Brice completed the release of the RPMs
    • We may want to trigger releases for specific tags in addition to the LATEST
    • Perhaps use a special prefix
  • Derek announced that RIOS will hold a student led summit on Jan 20 where he will demonstrate V8 on a PicoRio
    • He will pause work on the C extension until after this
  • Wei discussed setting goals for 2021
    • Speed up V8 on RV64GC
    • Support V extension, C extension, B extension
    • Node.js
    • Peng brought up real world usage, including browser, ML (tensorflow.js)
  • After upstreaming, we will need to update our workflow
    • Will likely need to keep branches for unratified extensions in our repo, not upstream

Action Items

  • Review open issues and close or update outdated ones (all)
  • Review open PRs and rebase or address open comments (Nekhlyudov, Yahan, Derek, Liqiang)
  • Provide some input to Wei about goals for 2021 (Peng, Reza, Brice)

Date: 12/09/2020

Agenda

  • Announcement
  • V8 re-base update and outstanding issues (Brice)
  • RISC-V community news (Wei)
  • Follow-up from the last meeting
  • Technical presentation: register allocator study (Qiuji)
  • Open discussions

Action items

  • Setup GitHub Actions to add release builds - @Brice
  • Give Qiuji code review permission - @Brice

Date: 11/11/2020

Agenda

  • V8 re-base update and outstanding issues (Brice)
  • RISC-V community news (Wei)
  • Follow-up from the last meeting
  • Technical presentation: J-extension group pointer-masking proposal and analysis on V8 (Peng)
  • Open discussions

Highlights

  • On the pointer-masking discussion, the intuitive feeling is that V8 (a managed runtime w/ already a lightweight isolation mechanism) may not be a good candidate for pointer-masking (i.e., because the software solution already provides pretty good isolation protection, and using a HW solution is a lot more rigid). We decide to be more explicit in voicing this opinion to the J-extension workgroup.

Action items

  • Add a release wiki page on how people can gain access to pre-built v8 binary
  • Give a presentation on the algorithm to extend V8 register allocator for C-extension instructions (qiu ji)

Date: 10/28/2020 6pm PT

Agenda

  • Announcement
  • V8 re-base update (Brice on new problems discovered and outstanding issues)
  • Follow-up from the last meeting
  • Technical presentation: how does V8's register allocator work? (Derek & Liqiang)
  • Technical presentation: how to support C-extension instruction code gen (Reza)
  • Technical presentation: preliminary performance analysis (Wei)
  • Technical presentation: J-extension group pointer-masking proposal and analysis on V8 (Peng) [if time permits]
  • Open discussions

Action Items

  • Participate in the code-speed workgroup meetings (Wei, Brice, Peng)
  • Give a presentation to compare the J-extension proposal and V8's compressed-pointer implementation (did not have time to cover this week, Peng)
  • Setup 3rd party package distribution of our cross-compiled V8/Node binary (carried over from the last meeting, Wei)
  • Write up the next steps for the register allocation study for Liqiang & Derek (Peng)
  • Share today's slides to repo wiki (https://github.com/riscv/v8/wiki/Content-sharing) (liqiang, reza, yahan)
  • Present the lgorithm to extend V8 register allocator for C-extension instructions (liqiang, reza, derek)

Date: 10/14/2020 6pm PT

Agenda

  • Announcement (J-extension group)
  • V8 upstream update (Brice: rebase, cpid, using gcc tool-chain)
  • Follow-up from the last meeting
  • Additional C-extension support discussion (Peng et al)
  • Open discussions

Highlights

  • Wei updated us the recent reorg/changes in RISC-V international taskgroup organization, there may be opportunities for us to take some initiatives or participate in other workgroups
  • Discussed how to generate C-extension instructions in macro-assembler: may need to teach register allocator to generate instructions that satisfy constraints of C-extension instructions (i.e., smaller groups of registers and reusing 1st operand as destination register)

Action items

  • Update testing status for this week (Wei)
  • Attend code-size optimization workgroup (Peng, Wei)
  • Add a wiki page to summarize how our codebase satisfies the upstream criteria (Brice)
  • Give a presentation to compare J-extension proposal and V8's compressed-pointer implementation (carried over from last week, Peng)
  • Setup 3rd party package distribution of our cross-compiled V8/Node binary (carried over from last week, Wei)
  • Give a presentation on how V8 register allocator works (Liqiang and Derek)
  • Define milestone for this month, especially define the performance analysis requirement (Peng)
  • Give a presentation on benchmark performance comparison between RISC-V and MIPS64 (Wei?)
  • Create issues for the next steps of C-extension implementation and assign (Peng)

Date: 09/30/2020 6pm PT

Agenda

  • Follow-up from the last meeting
  • Open discussion

Highlights

  • Many test failures are resolved compared to status of two-weeks ago
  • We discussed how to find a reasonable path to distribute V8/Node binary to end-users

Action items

  • Check w/ V8 team whether building w/ LLVM is a requirement for upstream (Peng)
  • Define exactly what needs to be done to solve the tools dependency for native build (required by both Debian and Fedora) and open an issue to track it (Brice)
  • Setup a 3rd party package distribution of our cross-compiled V8/Node binary (Wei)
  • Present a comparison of J-extension's pointer-masking proposal and V8's compressed pointer feature (Peng)

Date: 09/16/2020 6pm PT

Agenda

  • Announcement (V8 global forum talk, V8 upstream prep)
  • Follow-up from the last meeting
  • Update on CI and Node native build (Brice)
  • C-extension support discussion (Peng et al)
  • Open discussion

Highlights

  • Finally, CI is restored
  • Cross-building of NodeJS is streamlined, script in the repo, instruction on the wiki
  • Agreed on the partition of C-extension support among Chao, Derek, Liqiang, and Thomas

Action items

  • Prioritize failures exposed by release and stress-opt and identify critical ones (Peng, carried from last week)
  • Discuss w/ Fedora team members on the next steps to resolve dependence on other tools (cipd, etc) (Brice)
  • Investigate style guide and other requirements for V8 upstreaming (Brice)
  • Open an issue on generating optimized codes for atomic constructs (Peng)
  • For bi-weekly testing status update on the wiki, add the delta compared to the previous report (Wei)
  • For the comprehensive CI tests (after a PR is approved), if there is regression, report it on Slack and notify owners of the PRs involved (Wei)

Date: 09/02/2020 6pm PT

Agenda

  • Follow-up from the last meeting
  • 09/04 milestone summary(latest testing status) (Peng et al)
  • Monthly milestones for 09/07 ~ 10/09

Discussions

  • Agreed on Sept-October milestones: focus on V8 upstream, get started on performance work

Action items

  • Enable external CI cloud instance (Wei expects to complete by next Monday, otherwise pass WIP PR to Brice)
  • Send instructions on how to run Node tests to Brice (Yahan)
  • NodeJS setup (carried over from last meeting, Yahan/Brice)
  • Automate generation of testing status and add release build results for QEMU/HiFive next time (Wei)
  • Prioritize failures exposed by release and stress-opt and identify critical ones (Peng)

Date: 08/19/2020 6pm PT

Agenda

  • New attendee introduction & announcement
  • Follow-up from last meeting
  • Technical content: how to debug v8 (Brice) - slides
  • 09/04 milestone progress (latest testing status) (Peng et al)
  • Open discussion: optimizations (all)

Discussions

  • Heads up on September goals: optimization, C-extension, V8 upstream, v8-riscv release
  • Optimization: two tracks 1) development track will focus on low-hanging performance optimizations (e.g., constant pool, function prologue/epilogue optimization, improve codegen in TurboAssembler and code-generator), 2) performance track will do some performance analysis on benchmarks (e.g., compare against MIPS64) and tools development
  • C-extension discussion: 1) RISC-V is a custom modular ISA, how to detect which extensions are supported by the hardware (deal w/ the ISA fragmentation and complexity); 2) estimate the code-size benefit of C-extension

Action items

  • Enable CI on external cloud instance (need to send the result back to github via REST API) (Wei)
  • Setup NodeJS repo under V8 (Brice)
  • PLCT team sign Google CLA (Wei)
  • Capture all qemu & HiFive board failures into issues (Wei)
  • Include release build in QEMU and HiFive runs (Wei)

Date: 08/05/2020

Agenda:

  • New attendee introduction
  • Follow-up from last meeting
  • August milestones & project operation (Peng)
  • Cross-compiled and native build progress (Wei et al)
  • Work-group status update (all)

Discussions:

  • Github wiki and RIOS documentation site: 1) Wei mentioned that RTS and markdown can be intermixed in documents, need to figure out whether it is possible to have markdown document working w/ RIOS's RTS documentations; 2) find tools to automatically convert from markdown to reST format
  • RISCV32 support: Wei's team has experimented with building 32-bit V8 on Yocto/OpenEmbedded and encountered major toolchain issues (gdb and gcc?)

Action items:

  • Resolve the synchronization of the github wiki and RIOS documentation site (Ye)
  • Run simulated build failures in real hardware to see if they also fail in real hardware (Wei)
  • Set-up a mechanism to update testing status wiki (simulated, qemu, HiFive) with latest results before the bi-weekly developers' meeting (Wei)
  • NodeJS demo video fro Global Forum talk (Yahan & Brice)

Date: 07/22/2020 (6pm PT/9am Beijing)

Agenda:

  • Brief introduction of participant (all)
  • Information sharing (Peng et al)
  • Github/Slack operation rules (Brice)
  • Testing status for simulated build (Peng)
  • Introduction of work-groups (Peng)
  • Suggestions & discussions (all)

Information sharing:

  • Our talk proposal was accepted to RISC-V Global Forum (September)
  • Got feedback towards v8 upstreaming: our simulated build testing results are quite promising, suggest to do additional stress-test on compiler and optimization, release-build tests, and run the performance suite

Action items:

  • Define milestones for early September (Peng)
  • CI efficiency issues not fully resolved, need help from anyone w/ experience of setting up CI (?)
  • Address permissions of adding labels or re-assign issues (Brice)
  • Wei's team present cross-compiled build status next time (Wei)
  • Resolve how to setup wiki repo that is most convenient to us (Ye, Brice, Peng)

Find uploaded materials from all meetings here