User Tools

Site Tools


lkmp:lkmp_project_list

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
lkmp:lkmp_project_list [2020/05/07 22:15]
ShuahKhanLF
lkmp:lkmp_project_list [2020/06/23 16:10] (current)
ShuahKhanLF
Line 65: Line 65:
 **Number of candidates selected for this project: 1** **Number of candidates selected for this project: 1**
  
-===== Fall 2020 Projects =====+===== PCI: Hardening - Fix static analysis errors ===== 
 + 
 +Explore kernel static analysis checkers CocciCheck, Coverity, Sparse, and Smatch. Learn how to run them to find static analysis problems in the PCI sub-system and fix the reported errors. ​    
 + 
 +**Mentor: [[bjorn@helgaas.com|Bjorn Helgaas]]** 
 + 
 +**Number of candidates selected for this project: 1** 
 + 
 +===== Fall 2020 Projects ​- Apply from CommunityBridge ​===== 
 ===== Add KUnit Support for Parameterized Testing ===== ===== Add KUnit Support for Parameterized Testing =====
 There are a number of KUnit tests for which a single logical test case is tested against a collection of parameters. For example, consider a test which tests a driver used to program a clock, such a driver might take a clock rate and would set divider registers based on some input clock. Many of the tests for such a driver would likely test that for some requested clock rate and some input rate, several registers would There are a number of KUnit tests for which a single logical test case is tested against a collection of parameters. For example, consider a test which tests a driver used to program a clock, such a driver might take a clock rate and would set divider registers based on some input clock. Many of the tests for such a driver would likely test that for some requested clock rate and some input rate, several registers would
Line 110: Line 119:
 **Number of candidates applying for this project: 0** **Number of candidates applying for this project: 0**
  
 +===== Add support for Latency Tolerance Reporting _DSM =====
 +Latency Tolerance Reporting is used to help manage ASPM (Active State
 +Power Management). ​ Some of the LTR values are platform-dependent and
 +must be learned from platform firmware. ​ Linux currently does not ask
 +firmware for this information. ​ I don't know exactly how this
 +information needs to be incorporated into the ASPM support, but I think
 +it's something we should figure out.  See the PCI Firmware Spec, r3.2,
 +sec 4.6.6.
 +
 +**Mentor: [[bjorn@helgaas.com|Bjorn Helgaas]]**
 +
 +**Number of candidates applying for this project: 0**
 +
 +
 +===== For a future session =====
 +
 +===== Add PR_SET_VMA support to Linux Kernel =====
 +PR_SET_VMA mechanism is used heavily in Android for naming memory regions. It is passed to the prctl(2) system call along with the range of addresses to be named. The name appears in /​proc/​pid/​maps and can be used to identify memory regions for debugging and accounting purposes. The patch has been carried in the Android tree for several years. The patch needs to be adapted to mainline, improved and finally upstreamed. This project will give the mentee a good understanding of virtual memory area structures in the Linux kernel as the name for the memory region is stored in these structures and there are various cases where a memory map needs to be split or merged depending on its name compared to its immediate neighbors.
 +
 +**Mentor: [[joel@joelfernandes.org|Joel Fernandes]]**
 +
 +**Number of candidates applying for this project: 2**
 +
 +===== Linux kernel trace events in pstore =====
 +Pstore is a subsystem in the Linux kernel that is used to store kernel logs which can retrieved after a machine warm-reboots.
 +
 +Currently, during ftrace tracing, ftrace events in the kernel are lost when a machine hard-locks up. There is a need for writing these events into the pstore so that after a lock up, the trace events that led to the crash can be retrieved from the Pstore after a warm reboot. This has to be done in a
 +scalable way so that tracing a live system does not impact performance of the system -- ftrace is extremely fast. Initial patches posted to write and retrieve events to/from pstore are not scalable due to locking and other issues. Introducing a scalable approach will open up more possibilities for crash analysis. Prototypes from Qualcomm (Sai Prakash) are available as a reference. These prototypes are not merge ready and suffer from scalablity issues but could be used as a starting point. Sai Prakash is presenting work done on the initial set of patches at Linaro Connect: https://​linaroconnectsandiego.sched.com/​event/​Sue7/​event-tracing-and-pstore-with-a-pinch-of-dynamic-debug
 +but further work or re-design of the approach is needed.
 +
 +**Mentor: [[joel@joelfernandes.org|Joel Fernandes]]**
 +
 +**Number of candidates applying for this project: 0**
  
 ===== Compile cross platforms drivers when COMPILE_TEST set ===== ===== Compile cross platforms drivers when COMPILE_TEST set =====
Line 116: Line 158:
  
 **Mentor: [[bankarsandhya512@gmail.com| Sandhya Bankar]]** **Mentor: [[bankarsandhya512@gmail.com| Sandhya Bankar]]**
 +
 +**Number of candidates applying for this project: 0**
 +===== Linux Media - Convert Videobuf v1 to Videobus v2 (9 projects) =====
 +Convert A requirement is that the developer has to have access to devices with use VB1 - either directly or we need to coordinate with someone with has the hardware for testing purposes. There are ~9 drivers that could be converted. Each driver is an independent project and will require 9 mentees.
 +
 +**Mentor: [[mchehab@kernel.org| Mauro Chehab]]**
 +
 +**Number of candidates applying for this project: 0**
 +
 +===== Documentation - Convert (or add) kAPI/uAPI kerneldoc comments =====
 +Convert (or add) kAPI/uAPI kerneldoc comments, replacing or complementing existing .rst files
 +
 +**Mentor: [[mchehab@kernel.org| Mauro Chehab]]**
 +
 +**Number of candidates applying for this project: 0**
 +
 +===== Documentation - Update obsolete .rst files =====
 +Update obsolete documentation files.
 +
 +**Mentor: [[mchehab@kernel.org| Mauro Chehab]]**
  
 **Number of candidates applying for this project: 0** **Number of candidates applying for this project: 0**
  
 +===== For a future session - PCI tasks (don't have the scope for being projects) =====
 ===== PCI: Align ''​pcie_capability_read_word()''​ error returns with other config read accessors ===== ===== PCI: Align ''​pcie_capability_read_word()''​ error returns with other config read accessors =====
 The ''​pci_read_config_word()''​ and similar interfaces set ''​*val = ~0''​ when The ''​pci_read_config_word()''​ and similar interfaces set ''​*val = ~0''​ when
Line 168: Line 231:
 **Number of candidates applying for this project: 0** **Number of candidates applying for this project: 0**
  
-===== Add support for Latency Tolerance Reporting _DSM ===== 
-Latency Tolerance Reporting is used to help manage ASPM (Active State 
-Power Management). ​ Some of the LTR values are platform-dependent and 
-must be learned from platform firmware. ​ Linux currently does not ask 
-firmware for this information. ​ I don't know exactly how this 
-information needs to be incorporated into the ASPM support, but I think 
-it's something we should figure out.  See the PCI Firmware Spec, r3.2, 
-sec 4.6.6. 
- 
-**Mentor: [[bjorn@helgaas.com|Bjorn Helgaas]]** 
- 
-**Number of candidates applying for this project: 0** 
- 
-===== Add PR_SET_VMA support to Linux Kernel ===== 
-PR_SET_VMA mechanism is used heavily in Android for naming memory regions. It is passed to the prctl(2) system call along with the range of addresses to be named. The name appears in /​proc/​pid/​maps and can be used to identify memory regions for debugging and accounting purposes. The patch has been carried in the Android tree for several years. The patch needs to be adapted to mainline, improved and finally upstreamed. This project will give the mentee a good understanding of virtual memory area structures in the Linux kernel as the name for the memory region is stored in these structures and there are various cases where a memory map needs to be split or merged depending on its name compared to its immediate neighbors. 
- 
-**Mentor: [[joel@joelfernandes.org|Joel Fernandes]]** 
- 
-**Number of candidates applying for this project: 2** 
- 
-===== Linux kernel trace events in pstore ===== 
-Pstore is a subsystem in the Linux kernel that is used to store kernel logs which can retrieved after a machine warm-reboots. 
- 
-Currently, during ftrace tracing, ftrace events in the kernel are lost when a machine hard-locks up. There is a need for writing these events into the pstore so that after a lock up, the trace events that led to the crash can be retrieved from the Pstore after a warm reboot. This has to be done in a 
-scalable way so that tracing a live system does not impact performance of the system -- ftrace is extremely fast. Initial patches posted to write and retrieve events to/from pstore are not scalable due to locking and other issues. Introducing a scalable approach will open up more possibilities for crash analysis. Prototypes from Qualcomm (Sai Prakash) are available as a reference. These prototypes are not merge ready and suffer from scalablity issues but could be used as a starting point. Sai Prakash is presenting work done on the initial set of patches at Linaro Connect: https://​linaroconnectsandiego.sched.com/​event/​Sue7/​event-tracing-and-pstore-with-a-pinch-of-dynamic-debug 
-but further work or re-design of the approach is needed. 
- 
-**Mentor: [[joel@joelfernandes.org|Joel Fernandes]]** 
  
-**Number of candidates applying for this project: 2** +===== Spring 2020 Projects - completed ​=====
- +
-===== Linux Media - Convert Videobuf v1 to Videobus v2 (9 projects) ===== +
-Convert A requirement is that the developer has to have access to devices with use VB1 - either directly or we need to coordinate with someone with has the hardware for testing purposes. There are ~9 drivers that could be converted. Each driver is an independent project and will require 9 mentees. +
- +
-**Mentor: [[mchehab@kernel.org| Mauro Chehab]]** +
- +
-**Number of candidates applying for this project: 0** +
-===== Documentation - Convert (or add) kAPI/uAPI kerneldoc comments ===== +
-Convert (or add) kAPI/uAPI kerneldoc comments, replacing or complementing existing .rst files +
- +
-**Mentor: [[mchehab@kernel.org| Mauro Chehab]]** +
- +
-**Number of candidates applying for this project: 1** +
- +
-===== Documentation - Update obsolete .rst files ===== +
-Update obsolete documentation files. +
- +
-**Mentor: [[mchehab@kernel.org| Mauro Chehab]]** +
- +
-**Number of candidates applying for this project: 0** +
- +
-===== Spring 2020 Projects - in progress ​=====+
 ===== Linux dev-tools - Handling Complex Types and Attributes in Coccinelle ===== ===== Linux dev-tools - Handling Complex Types and Attributes in Coccinelle =====
 Coccinelle, developed by Julia Lawall and her group, is a program matching and transformation engine which provides the language SmPL (Semantic Patch Language) for specifying desired matches and transformations in C code. The project proposal would be to improve the management of complex types and attributes (const, <​nowiki>​__user</​nowiki>,​ etc) in the program matching and transformation tool Coccinelle. Currently, complex types are represented incorrectly,​ which makes it impossible to match against them in a general way. Various kinds of attributes are increasingly used in Linux kernel code, and it is important to be able to check these annotations and add them where they are missing. This project is relevant to Linux, Zephyr and many more applications. Coccinelle, developed by Julia Lawall and her group, is a program matching and transformation engine which provides the language SmPL (Semantic Patch Language) for specifying desired matches and transformations in C code. The project proposal would be to improve the management of complex types and attributes (const, <​nowiki>​__user</​nowiki>,​ etc) in the program matching and transformation tool Coccinelle. Currently, complex types are represented incorrectly,​ which makes it impossible to match against them in a general way. Various kinds of attributes are increasingly used in Linux kernel code, and it is important to be able to check these annotations and add them where they are missing. This project is relevant to Linux, Zephyr and many more applications.
Line 242: Line 255:
  
 **Number of candidates working on this project: 3** **Number of candidates working on this project: 3**
 +
 +
  
 ===== Linux Media - Virtual DVB test driver ===== ===== Linux Media - Virtual DVB test driver =====
lkmp/lkmp_project_list.1588889741.txt.gz · Last modified: 2020/05/07 22:15 by ShuahKhanLF