The ioctls can be used to dynamically enable or disable scheduling to a
port. (By default, ports start with their scheduling enabled.) Doing so
allows software to, for example, quickly add/remove cores to/from a worker
pool.
Signed-off-by: Gage Eads
Reviewed-by: Björn Töpel
---
drivers/misc
, and while a directed queue
has a 1:1 mapping with a directed port, load-balanced queues can be
configured with a set of load-balanced ports that software desires the
queue's QEs to be scheduled to.
Signed-off-by: Gage Eads
Reviewed-by: Magnus Karlsson
---
drivers/misc/dlb2/dlb2_ioctl.
dware to a known good state.
Signed-off-by: Gage Eads
Reviewed-by: Magnus Karlsson
---
drivers/misc/dlb2/dlb2_main.c | 72 +
drivers/misc/dlb2/dlb2_main.h | 2 ++
drivers/misc/dlb2/dlb2_pf_ops.c | 30 +
3 files changed, 104 inser
interface.
Signed-off-by: Gage Eads
Reviewed-by: Björn Töpel
---
Documentation/ABI/testing/sysfs-driver-dlb2 | 15 ++
drivers/misc/dlb2/dlb2_hw_types.h | 17 ++
drivers/misc/dlb2/dlb2_main.h | 16 ++
drivers/misc/dlb2/dlb2_pf_ops.c | 177
ancy.
Signed-off-by: Gage Eads
Reviewed-by: Björn Töpel
---
drivers/misc/dlb2/dlb2_ioctl.c| 86 +++
drivers/misc/dlb2/dlb2_main.h | 3 ++
drivers/misc/dlb2/dlb2_pf_ops.c | 21 ++
drivers/misc/dlb2/dlb2_resource.c | 67
o block on the wait queue.
A CQ's interrupt is enabled when its port is configured, and interrupts are
enabled/disabled when a port is enabled/disabled. If a port is disabled and
a thread is blocked on the wait queue, the thread is woken and returned to
user-space.
Signed-off-by: Gage Ea
and Kconfig help text and remove unnecessary (R)s
- Remove unnecessary prints
- Add a new entry in ioctl-number.rst
- Convert the ioctl handler into a switch statement
- Correct some instances of IOWR that should have been IOR
- Align macro blocks
- Don't break ioctl ABI when introducing new comm
Once a scheduling domain and its resources have been configured, the start
domain ioctl is called to enable its ports to begin enqueueing to the
device. Once started, the domain's resources cannot be configured again
until after the domain is reset.
Signed-off-by: Gage Eads
Reviewed-by:
a
subsequent commit.
Signed-off-by: Gage Eads
Reviewed-by: Magnus Karlsson
---
Documentation/userspace-api/ioctl/ioctl-number.rst | 1 +
drivers/misc/dlb2/Makefile | 1 +
drivers/misc/dlb2/dlb2_bitmap.h| 63
drivers/misc/dlb2/dlb2_ioctl.c
guaranteed the device is unconfigured and won't write to memory.
3. Reset software and hardware state.
4. Notify VFs that the FLR is complete. (Added in a later commit.)
5. Set reset_active to false.
6. Unlock the resource mutex.
Signed-off-by: Gage Eads
Reviewed-by: Björn Töpel
---
Documentation
em as needed. These allocations are controlled by the PF driver; virtual
devices, when support for them is added, will not be able to adjust them.
Signed-off-by: Gage Eads
Reviewed-by: Björn Töpel
---
drivers/misc/dlb2/dlb2_ioctl.c| 54 +++
drivers/misc
).
This commit also introduces dlb2_bitmap_* functions, a thin convenience
layer wrapping the Linux bitmap interfaces, used by the bitmaps in the dlb2
hardware types.
Signed-off-by: Gage Eads
Reviewed-by: Magnus Karlsson
---
drivers/misc/dlb2/Makefile| 7 +-
drivers/misc/dlb2
;poll mode". This (device-wide) mode is selected by the driver;
to determine the mode at run time, the driver provides an ioctl for
user-space software to query which mode the driver has configured. In this
way, the policy of which mode to use is decoupled from user-space software.
Signed-o
The driver detects the device type (PF/VF) at probe time, and assigns the
corresponding 'ops' callbacks from that. These callbacks include mapping
and unmapping the PCI BAR space, creating/destroying the device, and
adding/deleting a char device.
Signed-off-by: Gage Eads
Reviewed-
yer uses a single inode that is shared with other kernel
components -- calling unmap_mapping_range() on that shared inode would
likely break the kernel.
Signed-off-by: Gage Eads
Reviewed-by: Magnus Karlsson
---
drivers/misc/dlb2/Makefile| 1 +
drivers/misc/dlb2/dlb2_file.c
.
An application can read its domain alerts through the domain device file's
read callback. Applications are expected to spawn a thread that performs a
blocking read, and rarely (if ever) wakes and returns to user-space.
Signed-off-by: Gage Eads
Reviewed-by: Björn Töpel
---
drivers/misc
This initial commit contains basic driver functionality (load, unload,
probe, and remove callbacks) file_operations stubs, and device
documentation as well.
Signed-off-by: Gage Eads
Reviewed-by: Magnus Karlsson
---
Documentation/misc-devices/dlb2.rst | 310
his commit also adds a pending-port-unmaps ioctl, that user-space can call
to query how many pending/outstanding unmap operations exist for a given
port.
Signed-off-by: Gage Eads
Reviewed-by: Björn Töpel
---
drivers/misc/dlb2/dlb2_ioctl.c| 9 +
drivers/misc/dlb2/dlb2_main.h | 14 +
d
These interfaces include files for reading the total and available device
resources, getting and setting sequence number group allocations, and
reading the device ID.
Signed-off-by: Gage Eads
Reviewed-by: Björn Töpel
---
Documentation/ABI/testing/sysfs-driver-dlb2 | 165 +++
drivers
o block on the wait queue.
A CQ's interrupt is enabled when its port is configured, and interrupts are
enabled/disabled when a port is enabled/disabled. If a port is disabled and
a thread is blocked on the wait queue, the thread is woken and returned to
user-space.
Signed-off-by: Gage Ea
yer uses a single inode that is shared with other kernel
components -- calling unmap_mapping_range() on that shared inode would
likely break the kernel.
Signed-off-by: Gage Eads
Reviewed-by: Magnus Karlsson
---
drivers/misc/dlb2/Makefile| 1 +
drivers/misc/dlb2/dlb2_file.c
The ioctls can be used to dynamically enable or disable scheduling to a
port. (By default, ports start with their scheduling enabled.) Doing so
allows software to, for example, quickly add/remove cores to/from a worker
pool.
Signed-off-by: Gage Eads
Reviewed-by: Björn Töpel
---
drivers/misc
his commit also adds a pending-port-unmaps ioctl, that user-space can call
to query how many pending/outstanding unmap operations exist for a given
port.
Signed-off-by: Gage Eads
Reviewed-by: Björn Töpel
---
drivers/misc/dlb2/dlb2_ioctl.c| 9 +
drivers/misc/dlb2/dlb2_main.h | 14 +
d
em as needed. These allocations are controlled by the PF driver; virtual
devices, when support for them is added, will not be able to adjust them.
Signed-off-by: Gage Eads
Reviewed-by: Björn Töpel
---
drivers/misc/dlb2/dlb2_ioctl.c| 54 +++
drivers/misc
guaranteed the device is unconfigured and won't write to memory.
3. Reset software and hardware state.
4. Notify VFs that the FLR is complete. (Added in a later commit.)
5. Set reset_active to false.
6. Unlock the resource mutex.
Signed-off-by: Gage Eads
Reviewed-by: Björn Töpel
---
Documentation
These interfaces include files for reading the total and available device
resources, getting and setting sequence number group allocations, and
reading the device ID.
Signed-off-by: Gage Eads
Reviewed-by: Björn Töpel
---
Documentation/ABI/testing/sysfs-driver-dlb2 | 165 +++
drivers
interface.
Signed-off-by: Gage Eads
Reviewed-by: Björn Töpel
---
Documentation/ABI/testing/sysfs-driver-dlb2 | 15 ++
drivers/misc/dlb2/dlb2_hw_types.h | 17 ++
drivers/misc/dlb2/dlb2_main.h | 16 ++
drivers/misc/dlb2/dlb2_pf_ops.c | 177
.
An application can read its domain alerts through the domain device file's
read callback. Applications are expected to spawn a thread that performs a
blocking read, and rarely (if ever) wakes and returns to user-space.
Signed-off-by: Gage Eads
Reviewed-by: Björn Töpel
---
drivers/misc
ancy.
Signed-off-by: Gage Eads
Reviewed-by: Björn Töpel
---
drivers/misc/dlb2/dlb2_ioctl.c| 86 +++
drivers/misc/dlb2/dlb2_main.h | 3 ++
drivers/misc/dlb2/dlb2_pf_ops.c | 21 ++
drivers/misc/dlb2/dlb2_resource.c | 67
, and while a directed queue
has a 1:1 mapping with a directed port, load-balanced queues can be
configured with a set of load-balanced ports that software desires the
queue's QEs to be scheduled to.
Signed-off-by: Gage Eads
Reviewed-by: Magnus Karlsson
---
drivers/misc/dlb2/dlb2_ioctl.
;poll mode". This (device-wide) mode is selected by the driver;
to determine the mode at run time, the driver provides an ioctl for
user-space software to query which mode the driver has configured. In this
way, the policy of which mode to use is decoupled from user-space software.
Signed-o
).
This commit also introduces dlb2_bitmap_* functions, a thin convenience
layer wrapping the Linux bitmap interfaces, used by the bitmaps in the dlb2
hardware types.
Signed-off-by: Gage Eads
Reviewed-by: Magnus Karlsson
---
drivers/misc/dlb2/Makefile| 7 +-
drivers/misc/dlb2
a
subsequent commit.
Signed-off-by: Gage Eads
Reviewed-by: Magnus Karlsson
---
Documentation/userspace-api/ioctl/ioctl-number.rst | 1 +
drivers/misc/dlb2/Makefile | 1 +
drivers/misc/dlb2/dlb2_bitmap.h| 63
drivers/misc/dlb2/dlb2_ioctl.c
dware to a known good state.
Signed-off-by: Gage Eads
Reviewed-by: Magnus Karlsson
---
drivers/misc/dlb2/dlb2_main.c | 72 +
drivers/misc/dlb2/dlb2_main.h | 2 ++
drivers/misc/dlb2/dlb2_pf_ops.c | 30 +
3 files changed, 104 inser
ry (R)s
- Remove unnecessary prints
- Add a new entry in ioctl-number.rst
- Convert the ioctl handler into a switch statement
- Correct some instances of IOWR that should have been IOR
- Align macro blocks
- Don't break ioctl ABI when introducing new commands
- Remove indirect pointers from ioctl
This initial commit contains basic driver functionality (load, unload,
probe, and remove callbacks) file_operations stubs, and device
documentation as well.
Signed-off-by: Gage Eads
Reviewed-by: Magnus Karlsson
---
Documentation/misc-devices/dlb2.rst | 310
Once a scheduling domain and its resources have been configured, the start
domain ioctl is called to enable its ports to begin enqueueing to the
device. Once started, the domain's resources cannot be configured again
until after the domain is reset.
Signed-off-by: Gage Eads
Reviewed-by:
The driver detects the device type (PF/VF) at probe time, and assigns the
corresponding 'ops' callbacks from that. These callbacks include mapping
and unmapping the PCI BAR space, creating/destroying the device, and
adding/deleting a char device.
Signed-off-by: Gage Eads
Reviewed-
;poll mode". This (device-wide) mode is selected by the driver;
to determine the mode at run time, the driver provides an ioctl for
user-space software to query which mode the driver has configured. In this
way, the policy of which mode to use is decoupled from user-space software.
Signed-o
his commit also adds a pending-port-unmaps ioctl, that user-space can call
to query how many pending/outstanding unmap operations exist for a given
port.
Signed-off-by: Gage Eads
Reviewed-by: Björn Töpel
---
drivers/misc/dlb2/dlb2_ioctl.c| 6 +
drivers/misc/dlb2/dlb2_main.h | 14 +
d
These interfaces include files for reading the total and available device
resources, getting and setting sequence number group allocations, and
reading the device ID.
Signed-off-by: Gage Eads
Reviewed-by: Björn Töpel
---
Documentation/ABI/testing/sysfs-driver-dlb2 | 165 +++
drivers
, and while a directed queue
has a 1:1 mapping with a directed port, load-balanced queues can be
configured with a set of load-balanced ports that software desires the
queue's QEs to be scheduled to.
Signed-off-by: Gage Eads
Reviewed-by: Magnus Karlsson
---
drivers/misc/dlb2/dlb2_ioctl.
guaranteed the device is unconfigured and won't write to memory.
3. Reset software and hardware state.
4. Notify VFs that the FLR is complete. (Added in a later commit.)
5. Set reset_active to false.
6. Unlock the resource mutex.
Signed-off-by: Gage Eads
Reviewed-by: Björn Töpel
---
Documentation
interface.
Signed-off-by: Gage Eads
Reviewed-by: Björn Töpel
---
Documentation/ABI/testing/sysfs-driver-dlb2 | 15 ++
drivers/misc/dlb2/dlb2_hw_types.h | 17 ++
drivers/misc/dlb2/dlb2_main.h | 16 ++
drivers/misc/dlb2/dlb2_pf_ops.c | 177
The ioctls can be used to dynamically enable or disable scheduling to a
port. (By default, ports start with their scheduling enabled.) Doing so
allows software to, for example, quickly add/remove cores to/from a worker
pool.
Signed-off-by: Gage Eads
Reviewed-by: Björn Töpel
---
drivers/misc
o block on the wait queue.
A CQ's interrupt is enabled when its port is configured, and interrupts are
enabled/disabled when a port is enabled/disabled. If a port is disabled and
a thread is blocked on the wait queue, the thread is woken and returned to
user-space.
Signed-off-by: Gage Ea
ancy.
Signed-off-by: Gage Eads
Reviewed-by: Björn Töpel
---
drivers/misc/dlb2/dlb2_ioctl.c| 116 ++
drivers/misc/dlb2/dlb2_main.h | 3 +
drivers/misc/dlb2/dlb2_pf_ops.c | 21 +++
drivers/misc/dlb2/dlb2_resource.c | 67 +
em as needed. These allocations are controlled by the PF driver; virtual
devices, when support for them is added, will not be able to adjust them.
Signed-off-by: Gage Eads
Reviewed-by: Björn Töpel
---
drivers/misc/dlb2/dlb2_ioctl.c| 76 +++
drivers/misc
yer uses a single inode that is shared with other kernel
components -- calling unmap_mapping_range() on that shared inode would
likely break the kernel.
Signed-off-by: Gage Eads
Reviewed-by: Magnus Karlsson
---
drivers/misc/dlb2/Makefile| 1 +
drivers/misc/dlb2/dlb2_file.c
.
An application can read its domain alerts through the domain device file's
read callback. Applications are expected to spawn a thread that performs a
blocking read, and rarely (if ever) wakes and returns to user-space.
Signed-off-by: Gage Eads
Reviewed-by: Björn Töpel
---
drivers/misc
creation will be added in a
subsequent commit.
Signed-off-by: Gage Eads
Reviewed-by: Magnus Karlsson
---
drivers/misc/dlb2/Makefile| 1 +
drivers/misc/dlb2/dlb2_bitmap.h | 63 ++
drivers/misc/dlb2/dlb2_ioctl.c| 186 ++
drivers/misc/dlb2
Once a scheduling domain and its resources have been configured, the start
domain ioctl is called to enable its ports to begin enqueueing to the
device. Once started, the domain's resources cannot be configured again
until after the domain is reset.
Signed-off-by: Gage Eads
Reviewed-by:
ultiple virtual functions -- and thus
multiple /dev/dlb nodes -- each using unique file permissions.
Signed-off-by: Gage Eads
Reviewed-by: Magnus Karlsson
---
drivers/misc/dlb2/dlb2_ioctl.c | 68 ++
include/uapi/linux/dlb2_user.h | 30 +++
).
This commit also introduces dlb2_bitmap_* functions, a thin convenience
layer wrapping the Linux bitmap interfaces, used by the bitmaps in the dlb2
hardware types.
Signed-off-by: Gage Eads
Reviewed-by: Magnus Karlsson
---
drivers/misc/dlb2/Makefile| 7 +-
drivers/misc/dlb2
dware to a known good state.
Signed-off-by: Gage Eads
Reviewed-by: Magnus Karlsson
---
drivers/misc/dlb2/dlb2_ioctl.c | 2 ++
drivers/misc/dlb2/dlb2_main.c | 79 +
drivers/misc/dlb2/dlb2_main.h | 2 ++
drivers/misc/dlb2/dlb2_pf_ops.c
The driver detects the device type (PF/VF) at probe time, and assigns the
corresponding 'ops' callbacks from that. These callbacks include mapping
and unmapping the PCI BAR space, creating/destroying the device, and
adding/deleting a char device.
Signed-off-by: Gage Eads
Reviewed-
This initial commit contains basic driver functionality (load, unload,
probe, and remove callbacks) file_operations stubs, and device
documentation as well.
Signed-off-by: Gage Eads
Reviewed-by: Magnus Karlsson
---
Documentation/misc-devices/dlb2.rst | 313
yle corrections (multi-line comments, header order, etc.)
- Add device and software documentation (dlb2.rst)
- Use dyndbg for debug messages
- Refactor mmap and device file architecture
- Use ida library for ID management
- Fill data structure holes
- Add missing static keyword for various fu
58 matches
Mail list logo