Skip to content

Tag: linux-device-driver

Scheduling multiple tasklets in linux

I am new to tasklets in Linux. Here I am scheduling 3 tasklets in ISR. But what I observed is that only one tasklet in executed. fill_buf is tasklet_struct and Linux version is 5.10.63. Answer You are scheduling the same tasklet three times in a row, but a tasklet can only be scheduled again if it has already run (or

Can I use ioread32_rep(addr, buf, 2) to replace ioread64()?

I am currently going through Linux Device Drivers book and found the functions for reading from I/O memory: To read from I/O memory, use one of the following: unsigned int ioread8(void *addr); unsigned int ioread16(void *addr); unsigned int ioread32(void *addr); If you must read or write a series of values to a given I/O memory address, you can use the

Get user’s group from linux kernel driver

I’m developing a simple pipe kernel driver as an excercise for university, and my task states that users from each user group should have access to their own separate pipe. But I can’t find how to get group of the user who opened my driver file. I have functon static int pipe_open(struct inode *i, struct file *f) which receives arguments

How are memory regions on ARM Cortex A denoted as “device” or “strongly ordered” under Linux

On the ARM Cortex-A9 that comprises part of the Zynq SoC I’m using, regions of memory are labelled as “normal”, “device” or “strongly ordered”. This is described in the Zynq technical reference manual, but I understand it is a property of ARMs more generally. Obviously, the ability to have strongly ordered memory accesses for memory mapped devices (which includes many

Is there a way to lookup refcount for a kobject?

I expected to find a function along the lines of kobject_check_refcount, that returned the current refcount without altering it, in kobject.c, but as far as I can see there isn’t one. Is there such a function existing in the kernel source somewhere? I can see it being useful for debugging purposes at points. Edit: found kref_read which sounds like it