Re: [PATCH v1 5/5] cgroup: net_cls: Rework update socket logic

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Oct 25, 2012 at 04:16:59PM +0200, Daniel Wagner wrote:
> From: Daniel Wagner <daniel.wagner@xxxxxxxxxxxx>
> 
> The cgroup logic part of net_cls is very similar as the one in
> net_prio. Let's stream line the net_cls logic with the net_prio one.
> 
> The net_prio update logic was changed by following commit (note there
> were some changes necessary later on)
> 
> commit 406a3c638ce8b17d9704052c07955490f732c2b8
> Author: John Fastabend <john.r.fastabend@xxxxxxxxx>
> Date:   Fri Jul 20 10:39:25 2012 +0000
> 
>     net: netprio_cgroup: rework update socket logic
> 
>     Instead of updating the sk_cgrp_prioidx struct field on every send
>     this only updates the field when a task is moved via cgroup
>     infrastructure.
> 
>     This allows sockets that may be used by a kernel worker thread
>     to be managed. For example in the iscsi case today a user can
>     put iscsid in a netprio cgroup and control traffic will be sent
>     with the correct sk_cgrp_prioidx value set but as soon as data
>     is sent the kernel worker thread isssues a send and sk_cgrp_prioidx
>     is updated with the kernel worker threads value which is the
>     default case.
> 
>     It seems more correct to only update the field when the user
>     explicitly sets it via control group infrastructure. This allows
>     the users to manage sockets that may be used with other threads.
> 
> Since classid is now updated when the task is moved between the
> cgroups, we don't have to call sock_update_classid() from various
> places to ensure we always using the latest classid value.
> 
> [v2: Use iterate_fd() instead of open coding]
> 
Acked-by: Neil Horman <nhorman@xxxxxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe cgroups" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]     [Monitors]

  Powered by Linux