From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.3 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, HTML_MESSAGE,MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,PDS_BAD_THREAD_QP_64, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DB08CC433E0 for ; Fri, 12 Feb 2021 15:05:59 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 3D6C064E57 for ; Fri, 12 Feb 2021 15:05:59 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3D6C064E57 Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=amazon.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:58742 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lAa18-0007J3-8a for qemu-devel@archiver.kernel.org; Fri, 12 Feb 2021 10:05:58 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:41244) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lAYPT-000657-NC for qemu-devel@nongnu.org; Fri, 12 Feb 2021 08:22:59 -0500 Received: from smtp-fw-4101.amazon.com ([72.21.198.25]:60039) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lAYPQ-0000lr-US for qemu-devel@nongnu.org; Fri, 12 Feb 2021 08:22:59 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1613136177; x=1644672177; h=from:to:date:message-id:references:in-reply-to: mime-version:subject; bh=fAGpIZH8T71i7x9UDWnzecjA70Gv+z3S2b2CJCQbVzw=; b=Q26jwjUD3q3slJ0FIf2W3KEj4ngPAglAUKBhxVdaSq/omyrD0n0UDIgV mcGYNX8nePJDMmEFZqkDzSpHO3v7Q8iWHchTGTDcB4H/bkuHlkkqsKy0R btk+IGRgUrK9p6d0Zrwy5dw7WtwZxOy7p7vZboFlCcseSHOpDydZYyFRo c=; X-IronPort-AV: E=Sophos;i="5.81,173,1610409600"; d="scan'208,217";a="82520388" Subject: Re: [Rust-VMM] Call for Google Summer of Code 2021 project ideas Thread-Topic: [Rust-VMM] Call for Google Summer of Code 2021 project ideas Received: from iad12-co-svc-p1-lb1-vlan2.amazon.com (HELO email-inbound-relay-1d-37fd6b3d.us-east-1.amazon.com) ([10.43.8.2]) by smtp-border-fw-out-4101.iad4.amazon.com with ESMTP; 12 Feb 2021 13:22:47 +0000 Received: from EX13D10EUB004.ant.amazon.com (iad12-ws-svc-p26-lb9-vlan2.iad.amazon.com [10.40.163.34]) by email-inbound-relay-1d-37fd6b3d.us-east-1.amazon.com (Postfix) with ESMTPS id C48E528243A; Fri, 12 Feb 2021 13:22:44 +0000 (UTC) Received: from EX13D10EUB003.ant.amazon.com (10.43.166.160) by EX13D10EUB004.ant.amazon.com (10.43.166.155) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 12 Feb 2021 13:22:44 +0000 Received: from EX13D10EUB003.ant.amazon.com ([10.43.166.160]) by EX13D10EUB003.ant.amazon.com ([10.43.166.160]) with mapi id 15.00.1497.010; Fri, 12 Feb 2021 13:22:43 +0000 From: "Florescu, Andreea" To: Stefan Hajnoczi , qemu-devel , kvm , "rust-vmm@lists.opendev.org" , =?iso-8859-1?Q?Alex_Benn=E9e?= , Alexander Graf , Alberto Garcia , David Hildenbrand , Eduardo Habkost , Igor Mammedov , John Snow , Julia Suvorova , Gerd Hoffmann , Kevin Wolf , Laurent Vivier , =?iso-8859-1?Q?Marc-Andr=E9_Lureau?= , Aleksandar Markovic , Sergio Lopez , "Stefano Garzarella" , Paolo Bonzini , =?iso-8859-1?Q?Philippe_Mathieu-Daud=E9?= Thread-Index: AQHXAJSYCx+aFksFvkyyTAg+au+UL6pUgQTo Date: Fri, 12 Feb 2021 13:22:43 +0000 Message-ID: <1613136163375.99584@amazon.com> References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.43.162.228] Content-Type: multipart/alternative; boundary="_000_161313616337599584amazoncom_" MIME-Version: 1.0 Precedence: Bulk Received-SPF: pass client-ip=72.21.198.25; envelope-from=prvs=670db70c9=fandree@amazon.com; helo=smtp-fw-4101.amazon.com X-Spam_score_int: -151 X-Spam_score: -15.2 X-Spam_bar: --------------- X-Spam_report: (-15.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.569, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, USER_IN_DEF_SPF_WL=-7.5 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Fri, 12 Feb 2021 10:03:51 -0500 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" --_000_161313616337599584amazoncom_ Content-Type: text/plain; charset="iso-8859-1" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Hey Stefan, Thanks for taking care of organizing GSoC, and for allowing rust-vmm to als= o participate under the QEMU umbrella! I am a bit unsure of how can we propose projects related to rust-vmm. We did a bit of brainstorming in our team, and we came up with 3 project id= eas. I'll just paste them below, but please let me know if we were supposed to p= ropose them some other way. =3D=3D=3D Implement the Virtio Console device in Rust =3D=3D=3D '''Summary:''' Implement the basic emulation for the Virtio Console device = in Rust Implement the basic functionality (excluding the optional features: VIRTIO_CONSOLE_F_SIZE, VIRTIO_CONSOLE_F_MULTIPORT, or VIRTIO_CONSOLE_F_EMER= G_WRITE) of the Virtio Console Device, using the Virtio building blocks (queue imple= mentations, VirtioDevice traits) defined in rust-vmm/vm-virtio. The virtio console devi= ce uses one virtio queue for transmitting data, and one virtio queue for receiving = data. The implementation can be extended to also support a subset of the previous= ly mentioned optional features. '''Links:''' * About rust-vmm: https://github.com/rust-vmm/community * rust-vmm/vm-virtio: https://github.com/rust-vmm/vm-virtio * virtio-console spec: https://docs.oasis-open.org/virtio/virtio/v1.1/csprd= 01/virtio-v1.1-csprd01.html#x1-2550003 '''Details:''' * Skill level: intermediate * Language: Rust * Mentor: iul@amazon.com * Suggested by: fandree@amazon.com =3D=3D=3D Mocking framework for Virtio Queues =3D=3D=3D '''Summary:''' Implement a mocking framework for virtio queues Paravirtualized devices (such as those defined by the Virtio standard) are = used to provide high performance device emulation. Virtio drivers from a guest VM communicate with the device model using an efficient mechanism based on que= ues stored in a shared memory area that operate based on a protocol and message= format defined by the standard. Various implementations of devices and other virtualization building blocks require mocking the contents that a driver w= ould place into a Virtio queue for validation, testing, and evaluation purposes. This project aims to lay the foundations of a reusable framework for mockin= g the driver side of Virtio queue operation, that can be consumed by rust-vmm cra= tes and other projects. At the basic level, this means providing a flexible and eas= y to use interface for users to set up the underlying memory areas and populate = contents (as the driver would do) for the basic split queue format in a generic mann= er. This can further be extended for the packed format and with device-specific mock= ing capabilities. '''Links:''' * About rust-vmm: https://github.com/rust-vmm/community * Virtio queue spec: https://docs.oasis-open.org/virtio/virtio/v1.1/csprd01= /virtio-v1.1-csprd01.html#x1-230005 Issue in rust-vmm about reusing the mocking logic: rust-vmm/vm-virtio: http= s://github.com/rust-vmm/vm-virtio '''Details:''' * Skill level: intermediate * Language: Rust * Mentor: aagch@amazon.com * Suggested by: aagch@amazon.com =3D=3D=3D Local running rust-vmm-ci =3D=3D=3D '''Summary:''' Run the rust-vmm-ci locally The rust-vmm-ci provides automation for uniformely running the tests on all rust-vmm repositories. It is built on top of Buildkite, and only allows running the tests in the Buildkite context. To run the same tests as in the= CI locally, users need to manually copy the Buildkite pipeline steps. The scope of this project is to make it possible for the same tests to easi= ly run locally. This project makes it easier to contribute to all rust-vmm reposit= ories. In order for that to be possible, the following steps are required: - the Buildlkite pipeline is autogenerated from code instead of being a sta= tic list of tests to run. This also allows us to uniformely use the same contai= ner version for running all the tests (instead of manually modifying each step = in the pipeline) - the code for autogenerating the Buildkite pipeline is reused for generati= ng a Python script which can be run locally '''Links:''' * rust-vmm-ci: https://github.com/rust-vmm/rust-vmm-ci * Buildkite pipeline that currently runs the tests: https://github.com/rust= -vmm/rust-vmm-ci/blob/master/.buildkite/pipeline.yml * About rust-vmm: https://github.com/rust-vmm/community * Buildkite documentation: https://buildkite.com/docs/tutorials/getting-sta= rted '''Details:''' * Skill level: intermediate * Language: Python * Mentor: fandree@amazon.com * Suggested by: fandree@amazon.com ?Thanks again! Andreea ________________________________ From: Stefan Hajnoczi Sent: Monday, January 11, 2021 1:47 PM To: qemu-devel; kvm; rust-vmm@lists.opendev.org; Alex Benn=E9e; Alexander G= raf; Alberto Garcia; David Hildenbrand; Eduardo Habkost; Igor Mammedov; Joh= n Snow; Julia Suvorova; Gerd Hoffmann; Kevin Wolf; Laurent Vivier; Marc-And= r=E9 Lureau; Aleksandar Markovic; Sergio Lopez; Stefano Garzarella; Paolo B= onzini; Philippe Mathieu-Daud=E9 Subject: [EXTERNAL] [Rust-VMM] Call for Google Summer of Code 2021 project = ideas CAUTION: This email originated from outside of the organization. Do not cli= ck links or open attachments unless you can confirm the sender and know the= content is safe. Dear QEMU, KVM, and rust-vmm community, QEMU will apply for Google Summer of Code (https://summerofcode.withgoogle.com/) again this year. This internship program offers paid, 10-week, remote work internships for contributing to open source. QEMU can act as an umbrella organization for KVM kernel and rust-vmm projects too. Please post project ideas on the QEMU wiki before February 14th: https://wiki.qemu.org/Google_Summer_of_Code_2021 What's new this year: * The number of internship hours has been halved to 175 hours over 10 weeks. Project ideas must be smaller to fit and students will have more flexibility with their working hours. * Eligibility has been expanded to include "licensed coding school or similar type of program". Good project ideas are suitable for 175 hours (10 weeks half-day) work by a competent programmer who is not yet familiar with the codebase. In addition, they are: * Well-defined - the scope is clear * Self-contained - there are few dependencies * Uncontroversial - they are acceptable to the community * Incremental - they produce deliverables along the way Feel free to post ideas even if you are unable to mentor the project. It doesn't hurt to share the idea! I will review project ideas and keep you up-to-date on QEMU's acceptance into GSoC. For more background on QEMU internships, check out this video: https://www.youtube.com/watch?v=3DxNVCX7YMUL8 Stefan _______________________________________________ Rust-vmm mailing list Rust-vmm@lists.opendev.org http://lists.opendev.org/cgi-bin/mailman/listinfo/rust-vmm Amazon Development Center (Romania) S.R.L. registered office: 27A Sf. Lazar= Street, UBC5, floor 2, Iasi, Iasi County, 700045, Romania. Registered in R= omania. Registration number J22/2621/2005. --_000_161313616337599584amazoncom_ Content-Type: text/html; charset="iso-8859-1" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable

Hey Stefan,


Thanks for taking care of organizing GSoC, and for allowing rust-vmm to = also participate under the QEMU umbrella!

I am a bit unsure of how can we propose projects related to rust-vmm.

We did a bit of brainstorming in our te= am, and we came up with 3 project i= deas.

I'll just paste them below, b= ut please let me know if we were supposed to propose them some other= way.


=3D=3D=3D Implement the Virtio Console = device in Rust =3D=3D=3D

'''Summary:''' Implement the basic emulation for the Virtio Console device = in Rust

Implement the basic functionality (excluding the optional features:
VIRTIO_CONSOLE_F_SIZE, VIRTIO_CONSOLE_F_MULTIPORT, or VIRTIO_CONSOLE_F_EMER= G_WRITE)
of the Virtio Console Device, using the Virtio building blocks (queue imple= mentations,
VirtioDevice traits) defined in rust-vmm/vm-virtio. The virtio console devi= ce uses
one virtio queue for transmitting data, and one virtio queue for receiving = data.
The implementation can be extended to also support a subset of the previous= ly
mentioned optional features.

'''Links:'''
* About rust-vmm: https://github.com/rust-vmm/community
* rust-vmm/vm-virtio: https://github.com/rust-vmm/vm-virtio
* virtio-console spec: https://docs.oasis-open.org/virtio/virtio/v1.1/csprd= 01/virtio-v1.1-csprd01.html#x1-2550003

'''Details:'''
* Skill level: intermediate
* Language: Rust
* Mentor: iul@amazon.com
* Suggested by: fandree@amazon.com


=3D=3D=3D Mocking framework for Virtio = Queues =3D=3D=3D

'''Summary:''' Implement a mocking framework for virtio queues

Paravirtualized devices (such as those defined by the Virtio standard) are = used
to provide high performance device emulation. Virtio drivers from a guest V= M
communicate with the device model using an efficient mechanism based on que= ues
stored in a shared memory area that operate based on a protocol and message= format
defined by the standard. Various implementations of devices and other
virtualization building blocks require mocking the contents that a driver w= ould
place into a Virtio queue for validation, testing, and evaluation purposes.=

This project aims to lay the foundations of a reusable framework for mockin= g the
driver side of Virtio queue operation, that can be consumed by rust-vmm cra= tes and
other projects. At the basic level, this means providing a flexible and eas= y to
use interface for users to set up the underlying memory areas and populate = contents
(as the driver would do) for the basic split queue format in a generic mann= er. This
can further be extended for the packed format and with device-specific mock= ing
capabilities.

'''Links:'''
* About rust-vmm: https://github.com/rust-vmm/community
* Virtio queue spec: https://docs.oasis-open.org/virtio/virtio/v1.1/csprd01= /virtio-v1.1-csprd01.html#x1-230005
Issue in rust-vmm about reusing the mocking logic: rust-vmm/vm-virtio: http= s://github.com/rust-vmm/vm-virtio

'''Details:'''
* Skill level: intermediate
* Language: Rust
* Mentor: aagch@amazon.com
* Suggested by: aagch@amazon.com


=3D=3D=3D Local running rust-vmm-ci =3D= =3D=3D

'''Summary:''' Run the rust-vmm-ci locally

The rust-vmm-ci provides automation for uniformely running the tests on
all rust-vmm repositories. It is built on top of Buildkite, and only allows=
running the tests in the Buildkite context. To run the same tests as in the= CI
locally, users need to manually copy the Buildkite pipeline steps.

The scope of this project is to make it possible for the same tests to easi= ly run
locally. This project makes it easier to contribute to all rust-vmm reposit= ories.

In order for that to be possible, the following steps are required:
- the Buildlkite pipeline is autogenerated from code instead of being a sta= tic
list of tests to run. This also allows us to uniformely use the same contai= ner
version for running all the tests (instead of manually modifying each step = in
the pipeline)
- the code for autogenerating the Buildkite pipeline is reused for generati= ng
a Python script which can be run locally


'''Links:'''
* rust-vmm-ci: https://github.com/rust-vmm/rust-vmm-ci
* Buildkite pipeline that currently runs the tests: https://github.com/rust= -vmm/rust-vmm-ci/blob/master/.buildkite/pipeline.yml
* About rust-vmm: https://github.com/rust-vmm/community
* Buildkite documentation: https://buildkite.com/docs/tutorials/getting-sta= rted

'''Details:'''
* Skill level: intermediate
* Language: Python
* Mentor: fandree@amazon.com
* Suggested by: fandree@amazon.com



​Thanks again!

Andreea


From: Stefan Hajnoczi <= ;stefanha@gmail.com>
Sent: Monday, January 11, 2021 1:47 PM
To: qemu-devel; kvm; rust-vmm@lists.opendev.org; Alex Benn=E9e; Alex= ander Graf; Alberto Garcia; David Hildenbrand; Eduardo Habkost; Igor Mammed= ov; John Snow; Julia Suvorova; Gerd Hoffmann; Kevin Wolf; Laurent Vivier; M= arc-Andr=E9 Lureau; Aleksandar Markovic; Sergio Lopez; Stefano Garzarella; Paolo Bonzini; Philippe Mathieu-Daud=E9<= br> Subject: [EXTERNAL] [Rust-VMM] Call for Google Summer of Code 2021 p= roject ideas
 
CAUTION: This email originated from outside of the= organization. Do not click links or open attachments unless you can confir= m the sender and know the content is safe.



Dear QEMU, KVM, and rust-vmm community,
QEMU will apply for Google Summer of Code
(
https://summerofcode.with= google.com/) again this year.  This internship
program offers paid, 10-week, remote work internships for
contributing to open source.  QEMU can act as an umbrella organization=
for KVM kernel and rust-vmm projects too.

Please post project ideas on the QEMU wiki before February 14th:
https://wiki.q= emu.org/Google_Summer_of_Code_2021

What's new this year:
 * The number of internship hours has been halved to 175 hours over
   10 weeks. Project ideas must be smaller to fit and students wi= ll have
   more flexibility with their working hours.
 * Eligibility has been expanded to include "licensed coding scho= ol or
   similar type of program".

Good project ideas are suitable for 175 hours (10 weeks half-day) work by a=
competent programmer who is not yet familiar with the codebase.  In
addition, they are:
 * Well-defined - the scope is clear
 * Self-contained - there are few dependencies
 * Uncontroversial - they are acceptable to the community
 * Incremental - they produce deliverables along the way

Feel free to post ideas even if you are unable to mentor the project.
It doesn't hurt to share the idea!

I will review project ideas and keep you up-to-date on QEMU's
acceptance into GSoC.

For more background on QEMU internships, check out this video:
https://www.youtu= be.com/watch?v=3DxNVCX7YMUL8

Stefan

_______________________________________________
Rust-vmm mailing list
Rust-vmm@lists.opendev.org
http= ://lists.opendev.org/cgi-bin/mailman/listinfo/rust-vmm


Amazon Development Center (Romania) S.R.L. registered office: 27A Sf. Lazar= Street, UBC5, floor 2, Iasi, Iasi County, 700045, Romania. Registered in R= omania. Registration number J22/2621/2005.

--_000_161313616337599584amazoncom_--