From owner-soc-status@freebsd.org Tue Jul 6 00:31:16 2021 Return-Path: Delivered-To: soc-status@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9110E66D1F5 for ; Tue, 6 Jul 2021 00:31:16 +0000 (UTC) (envelope-from christos@freebsd.org) Received: from christos (mail.margiolis.net [95.179.159.8]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA512) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4GJk4h0GDzz4rVP; Tue, 6 Jul 2021 00:31:15 +0000 (UTC) (envelope-from christos@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; s=default; bh=uA4ufTOkR/zG XyeVe79MKa4+Lcp4TYx+trk98ydXPe0=; h=subject:cc:to:from:date; d=margiolis.net; b=nO7/fIKl9pAX1J1fKSFf01vHj+N6k7BIoLiUm6mMhRdTN5A+GHx PNCXkw5IyOyC54+60vC0rLwWg9eb79CVRKpEGXfDER+A7JAvabFiT5/Kai8rY8nbO9raSp hfeNqTm9ArOUeLmjsutTmXMGGg0J1LYV2JPLNu914zVm4HFxPM= Received: from pleb (athedsl-202981.home.otenet.gr [85.74.112.131]) by christos (OpenSMTPD) with ESMTPSA id 678aaa60 (TLSv1.3:AEAD-AES256-GCM-SHA384:256:NO); Tue, 6 Jul 2021 00:31:13 +0000 (UTC) Date: Tue, 6 Jul 2021 03:30:49 +0300 From: Christos Margiolis To: soc-status@freebsd.org Cc: hselasky@freebsd.org Subject: [GSoC'21 Weekly Update #4] Sound mixer improvements Message-ID: <20210706003049.62fdol7imlocw2a2@pleb> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Rspamd-Queue-Id: 4GJk4h0GDzz4rVP X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [0.00 / 15.00]; ASN(0.00)[asn:20473, ipnet:95.179.144.0/20, country:US]; local_wl_from(0.00)[freebsd.org] X-BeenThere: soc-status@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Summer of Code Status Reports and Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jul 2021 00:31:16 -0000 Hello, This the last week's report. Kernel: - Re-implemented the SOUND_MIXER_WRITE_MUTE and SOUND_MIXER_READ_MUTE ioctls in `/usr/src/sys/dev/sound/pcm/mixer.c`, where all the other OSS mixer ioctls are implemented. These two ioctls were not part of the current version of OSS and were considered obsolete. HOWEVER, I decided to change their behavior, so this implementation is not backwards compatible with the old one, but that should not be a problem. Older OSS versions had the MUTE ioctls take/return an integer with a value of 0 or 1, which meant that the _whole_ mixer is unmuted or muted respectively. In my implementation, the ioctl takes/returns a bitmask that tells us which devices are muted. This allows us to (un)mute only the devices we want, instead of the whole mixer. The bitmask works the same way as in DEVMASK, RECMASK and RECSRC. mixer(8): - Added sysctl(8)-style controls for easier parsing and extensibility. The following formats can be used: * dev show a device's controls and their values * dev.control show a control's value * dev.control=value set a control value The currently available controls are: * dev.volume set/display volume * dev.recsrc set/display recording source * dev.mute set/display mute For example, to set the `vol` device's volume to 0.65, we can now do `mixer vol.volume=0.65`. mixer(3): - Added a new function to handle muting. Documentation: - Started working on the man pages for both mixer(3) and mixer(8). The code is available on: - GitHub: https://github.com/christosmarg/mixer - Sourcehut: https://git.sr.ht/~crm/mixer - My Git server: https://git.margiolis.net/mixer/files.html The project's Wiki article can be found at: - https://wiki.freebsd.org/SummerOfCode2021Projects/SoundMixerImprovements -- Christos From owner-soc-status@freebsd.org Tue Jul 6 13:03:16 2021 Return-Path: Delivered-To: soc-status@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3F8D76571F1 for ; Tue, 6 Jul 2021 13:03:16 +0000 (UTC) (envelope-from mail@khaledemara.dev) Received: from relay7-d.mail.gandi.net (relay7-d.mail.gandi.net [217.70.183.200]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4GK2mM2v6lz4Vww for ; Tue, 6 Jul 2021 13:03:14 +0000 (UTC) (envelope-from mail@khaledemara.dev) Received: (Authenticated sender: mail@khaledemara.dev) by relay7-d.mail.gandi.net (Postfix) with ESMTPSA id 04F0720006 for ; Tue, 6 Jul 2021 13:03:12 +0000 (UTC) Received: by mail-io1-f47.google.com with SMTP id u7so22654927ion.3 for ; Tue, 06 Jul 2021 06:03:12 -0700 (PDT) X-Gm-Message-State: AOAM5339n0Gn/8DJFi1aVfm/TiYR9ETiWwAy2SVGeL2CobO6QIWR1dnB qbuEYWVj+rQkT8+tuh/YRGax/SaH+7ODzdEVwEA= X-Google-Smtp-Source: ABdhPJx9X7bwUg8TQTLoeuteZQatmOumTnVV/UjKxnKoAH6jEfXQizbm7paqN6HH49sMgZnyR+NSuXXcFtSR/w99mgw= X-Received: by 2002:a6b:e916:: with SMTP id u22mr15586892iof.155.1625576591718; Tue, 06 Jul 2021 06:03:11 -0700 (PDT) MIME-Version: 1.0 From: Khaled Emara Date: Tue, 6 Jul 2021 15:03:01 +0200 X-Gmail-Original-Message-ID: Message-ID: Subject: [GSoC'21 Weekly Update #4] XFS Filesystem FUSE Implementation To: soc-status@freebsd.org X-Rspamd-Queue-Id: 4GK2mM2v6lz4Vww X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of mail@khaledemara.dev designates 217.70.183.200 as permitted sender) smtp.mailfrom=mail@khaledemara.dev X-Spamd-Result: default: False [-2.66 / 15.00]; RCVD_TLS_ALL(0.00)[]; RBL_DBL_DONT_QUERY_IPS(0.00)[217.70.183.200:from]; RWL_MAILSPIKE_POSSIBLE(0.00)[217.70.183.200:from]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:217.70.183.192/28]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; TO_DN_NONE(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[soc-status@freebsd.org]; RCPT_COUNT_ONE(0.00)[1]; SPAMHAUS_ZRD(0.00)[217.70.183.200:from:127.0.2.255]; ARC_NA(0.00)[]; NEURAL_HAM_LONG(-0.96)[-0.963]; NEURAL_HAM_SHORT(-0.94)[-0.938]; DMARC_NA(0.00)[khaledemara.dev]; NEURAL_HAM_MEDIUM(-0.36)[-0.362]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; ASN(0.00)[asn:29169, ipnet:217.70.176.0/20, country:FR]; RCVD_COUNT_TWO(0.00)[2]; MAILMAN_DEST(0.00)[soc-status]; RCVD_IN_DNSWL_LOW(-0.10)[217.70.183.200:from] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.34 X-BeenThere: soc-status@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Summer of Code Status Reports and Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jul 2021 13:03:16 -0000 Hi everyone, This past week I have been working on the following: 1. Node Directories Iteration and Lookup. 2. B+tree Directories Iteration. I'm almost done with directories, but of course there is still a lot of refactoring to be done to optimize the performance and make the code more readable. So, currently my plan for next week is as follows: 1. Add comments. 2. Add variables , functions, and macros where necessary. 3. Save iteration state in memory for faster iteration. 4. Save directory state on opendir() for faster access instead of reading the same metadata for every lookup and readdir(). 5. Skip unused data instead of reading it. (Done to some extent.). 6. Fix Short Form Directories offsets. 7. Maybe deviate from the disk structures to allow for a smaller memory footprint. You can view the work done so far here . -Khaled