mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-25 02:52:51 +03:00
gpu: nvgpu: scheduler management uapi
Add ioctls for creating, removing and querying scheduling domains and interface with the "nvsched" entity that will be the core scheduler. Include the scheduler in the Linux build. The core scheduler code will ultimately hold data on and control what gets scheduled, but this intermediate layer in nvgpu-rm needs a bit of bookeeping to manage the userspace interface. To keep changes isolated, this does not touch the internal runlist domains yet. The core scheduler logic will eventually control the runlist domains. Jira NVGPU-6788 Change-Id: I7b4064edb6205acbac2d8c593dad019d517243ce Signed-off-by: Alex Waterman <alexw@nvidia.com> Signed-off-by: Konsta Hölttä <kholtta@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2463625 Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
committed by
mobile promotions
parent
bfd7fc8649
commit
1d14a4412f
28
drivers/gpu/nvgpu/os/linux/ioctl_nvs.h
Normal file
28
drivers/gpu/nvgpu/os/linux/ioctl_nvs.h
Normal file
@@ -0,0 +1,28 @@
|
||||
/*
|
||||
* Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*/
|
||||
|
||||
#ifndef NVGPU_OS_LINUX_IOCTL_NVS_H
|
||||
#define NVGPU_OS_LINUX_IOCTL_NVS_H
|
||||
|
||||
#include <nvgpu/types.h>
|
||||
|
||||
struct inode;
|
||||
struct file;
|
||||
|
||||
int nvgpu_nvs_dev_open(struct inode *inode, struct file *filp);
|
||||
int nvgpu_nvs_dev_release(struct inode *inode, struct file *filp);
|
||||
long nvgpu_nvs_dev_ioctl(struct file *filp, unsigned int cmd, unsigned long arg);
|
||||
ssize_t nvgpu_nvs_dev_read(struct file *filp, char __user *buf,
|
||||
size_t size, loff_t *off);
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user