STRUCT DMATEST_PARAMS(9)
π struct dmatest_params(9) β bestie edition π
okay so first things first: this is a page from the Kernel API Manual, and we're talking about struct dmatest_params β the literal vibe-check control panel for the dmatest situation. sit down, grab a strawberry drink π, and let's get into it.
β¨ NAME β¨
struct dmatest_params β test parameters. that's it, that's the whole vibe. it's the little struct that holds all the knobs you can twist before the test runs. iconic honestly π
πΈ SYNOPSIS πΈ
here's the whole thing laid out, and no i did not touch a single character, look:
struct dmatest_params {
bool nobounce;
unsigned int buf_size;
char channel[20];
char device[32];
unsigned int threads_per_chan;
unsigned int max_channels;
unsigned int iterations;
unsigned int xor_sources;
unsigned int pq_sources;
int timeout;
bool noverify;
bool norandom;
int alignment;
unsigned int transfer_size;
bool polled;
};
likeβ¦ she has range π. bools, unsigned ints, chars in arrays, an int or two β a whole little ensemble cast. main character energy fr fr.
π¦ Members π¦
okay this is the part where we meet everyone in the group chat, one by one:
nobounceβ prevents using the swiotlb buffer. likeβ¦ no bouncing. we stay grounded π«Άbuf_sizeβ the size of the memcpy test buffer. it is what it says on the tin, bestie β¨channelβ the bus ID of the channel to test. achararray of 20, so π watch your lengthdeviceβ the bus ID of the DMA Engine to test. this one gets 32 chars of room, generous queen πthreads_per_chanβ how many threads get started per channel. the more the merrier, allegedlymax_channelsβ the maximum number of channels to use. a whole ceiling on the chaositerationsβ how many iterations happen before stopping the test. iykyk πxor_sourcesβ the number of xor source bufferspq_sourcesβ the number of p+q source buffers. p and q, both invited to the party πtimeoutβ transfer timeout in msec, and lowkey important:-1means infinite timeout. no clock, no stress βnoverifyβ disables data verification. turning off the checking era πnorandomβ disables random offset setup. we're going predictable this timealignmentβ custom data address alignment, taken as 2^alignment. yes it's an exponent, no you can't just pass the byte count, read it again bestie πtransfer_sizeβ custom transfer size in bytespolledβ use polling for completion instead of interrupts. different technique, same goal π
no cap: every single field is listed above. if you were looking for a shortcut through this list β there isn't one, and honestly why would you want one π
π₯ SEE ALSO π₯
- Kernel file
./drivers/dma/dmatest.c struct dmatest_info(9)
and that's the whole page, periodt π. this lil beauty lives in ./drivers/dma, dated October 2026 β so yes, mark your calendars, the struct dmatest_params(9) girlies are thriving π§π go read dmatest.c and slay β¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms