Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| juniorjobs [2022/10/21 23:17] – Refresh above the fold, add links where suitable/possible KubilayKocak | juniorjobs [2023/07/31 12:55] (current) – remove arm64 disassembler item, it is being worked on MitchellHorne | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| Tasks for new contributors that should take ~ a few days to complete. | Tasks for new contributors that should take ~ a few days to complete. | ||
| - | Looking for this list, but for [[Ports|ports? | + | Looking for this list, but for [[Ports|ports]]? Check out [[WantedPorts]]. |
| What about other ideas? Look at [[IdeasPage]] | What about other ideas? Look at [[IdeasPage]] | ||
| Line 8: | Line 8: | ||
| * Use a virtual machine: VirtualBox and [[bhyve]] are good options. | * Use a virtual machine: VirtualBox and [[bhyve]] are good options. | ||
| - | * Kernel should always have debugging options enabled. [[Glossary# | + | * Kernel should always have debugging options enabled. [[Glossary# |
| * Code should follow [[https:// | * Code should follow [[https:// | ||
| Line 17: | Line 17: | ||
| ====== Kernel projects ====== | ====== Kernel projects ====== | ||
| - | ===== Free old file descriptor tables | + | ===== Various kernel man pages needed |
| - | **Technical Contact**: | + | **Technical Contact**: |
| ==== Difficulty ==== | ==== Difficulty ==== | ||
| Line 26: | Line 26: | ||
| ==== Description ==== | ==== Description ==== | ||
| - | File descriptor tables can be shared between multiple processes (see **fdshare**). | + | Add missing man pages for parts of the %%FreeBSD%% kernel. |
| - | The kernel performs lockless file descriptor lookup, but file descriptor table can be reallocated by **fdgrowtable** | + | [[Doc/ |
| - | However, we can safely free the old table if given process has only one thread and the table is not shared. | + | Currently known missing: |
| - | Implement freeing such tables and submit a test program showing that it works. | ||
| - | |||
| - | ==== Requirements ==== | ||
| - | |||
| - | * C language programming skills. | ||
| - | |||
| - | ===== Rework functions allocating credentials ===== | ||
| - | **Technical Contact**: [[MateuszGuzik]] | ||
| - | |||
| - | ==== Difficulty ==== | ||
| - | |||
| - | Easy | ||
| - | |||
| - | ==== Description ==== | ||
| - | |||
| - | Credentials are copy-on-write, | ||
| - | |||
| - | Groups in credentials are always stored sorted. But the function used to store groups always sorts them. even though we can tell they have to be sorted already. | ||
| - | |||
| - | Rework the code to be more efficient and not do unnecessary work. | ||
| - | |||
| - | ==== Requirements ==== | ||
| - | |||
| - | * C language programming skills. | ||
| - | |||
| - | ===== Various kernel man pages needed ===== | ||
| - | **Technical Contact**: [[JohnMarkGurney]] | ||
| - | |||
| - | ==== Difficulty ==== | ||
| - | |||
| - | Easy | ||
| - | |||
| - | ==== Description ==== | ||
| - | |||
| - | Add missing man pages for parts of the %%FreeBSD%% kernel. | ||
| * PCPU stuff: DPCPU_* dpcpu_* PCPU_* | * PCPU stuff: DPCPU_* dpcpu_* PCPU_* | ||
| * sched_* | * sched_* | ||
| Line 73: | Line 38: | ||
| * cn* (sys/ | * cn* (sys/ | ||
| * ppsratecheck | * ppsratecheck | ||
| - | * sys/ | + | * sys/ |
| * drivers: cesa, glxsb, sec, cryptocteon, | * drivers: cesa, glxsb, sec, cryptocteon, | ||
| * device pager: cdev_pager_allocate, | * device pager: cdev_pager_allocate, | ||
| Line 84: | Line 49: | ||
| * DIOCG* ioctls from sys/disk.h | * DIOCG* ioctls from sys/disk.h | ||
| * Document which standard libc functions are available in the kernel | * Document which standard libc functions are available in the kernel | ||
| - | |||
| - | In addition, please refer to [[MissingManpages|the wiki article on missing manpages]]. | ||
| ==== Requirements ==== | ==== Requirements ==== | ||
| Line 91: | Line 54: | ||
| * minimal C language programming skills. | * minimal C language programming skills. | ||
| * Ability to read/write mdoc(7), though jmg@ is willing to help w/ mark up. | * Ability to read/write mdoc(7), though jmg@ is willing to help w/ mark up. | ||
| - | |||
| - | ===== arm64: add more instruction definitions to the disassembler ===== | ||
| - | **Technical Contact**: MitchellHorne | ||
| - | |||
| - | ==== Difficulty ==== | ||
| - | |||
| - | Easy | ||
| - | |||
| - | ==== Description ==== | ||
| - | |||
| - | The kernel debugger ddb(4) has the ability to print arbitrary bytes in the form of CPU instructions, | ||
| - | |||
| - | ==== Requirements ==== | ||
| - | |||
| - | * Basic C language programming skills | ||
| - | * Able to read and understand ARMv8 instruction encodings | ||
| ====== User space projects ====== | ====== User space projects ====== | ||
| Line 122: | Line 69: | ||
| * implement missing sbuf tests, [[https:// | * implement missing sbuf tests, [[https:// | ||
| - | You can look at the [[https://www.freebsd.org/ | + | You can look at the [[https://man.freebsd.org/ |
| ==== Requirements ==== | ==== Requirements ==== | ||
| Line 157: | Line 104: | ||
| ==== Description ==== | ==== Description ==== | ||
| + | |||
| + | [[Doc/ | ||
| Add or improve man pages: | Add or improve man pages: | ||
| + | |||
| * intro(3) is missing MANY libraries that are now common | * intro(3) is missing MANY libraries that are now common | ||
| * libc(3) is missing, include reference and places for notable additions, and standards compliance | * libc(3) is missing, include reference and places for notable additions, and standards compliance | ||
| * timespec, sbintime_t and various sys/time.h are not documented. | * timespec, sbintime_t and various sys/time.h are not documented. | ||
| - | |||
| - | In addition, please refer to [[MissingManpages|the wiki article on missing manpages]]. | ||
| ==== Requirements ==== | ==== Requirements ==== | ||