Git Product home page Git Product logo

Comments (2)

axboe avatar axboe commented on August 22, 2024 1

This probably should've been two separate discussions raised, rather than a single issue...

DEFER_TASKRUN does not imply the same behavior as COOP_TASKRUN. For the latter, the task_work will be run for any transition back from the kernel to userspace. For DEFER_TASKRUN, it's only run when the task waits on completions, either by using one of the io_uring_wait_cqe() variants, or by calling io_uring_get_events(). I don't think the kernel will complain if you set COOP_TASKRUN with DEFER_TASKRUN, but it won't make a difference. The former refers to task_work that the kernel knows about (it's referenced off the task struct itself), while the latter is an io_uring private type of task_work that the kernel doesn't have any insight into.

For non-multishot receive, msg_control is delivered just like it is with a recvmsg(2) syscall. Multishot has to place the data somewhere else, or it would be overwritten by the next trigger of the receive. And since you can have many come in before you process them in the application, that would not work so well.

from liburing.

axboe avatar axboe commented on August 22, 2024

Closing this one, please open as a discussion if there are further questions.

from liburing.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.