Paul Menage wrote:
> On 11/24/06, Pavel Emelianov <[EMAIL PROTECTED]> wrote:
>> I've got it! That's what will work:
>>
>> struct task_struct {
>>         ...
>>         struct beancounter *exec_bc;
>>         struct beancounter *tmp_exec_bc; /* is set to NULL on
>>                                           * tsk creation
>>                                           */
>> };
>>
>> struct beancounter get_exec_bc(void)
>> {
>>         if (current->tmp_exec_bc)
>>                 return current->tmp_exec_bc;
>>         return rcu_dereference(current->exec_bc);
>> }
> 
> Don't forget that this means all callers need to be in an
> rcu_read_lock() section.

Sure. This is done for these particular cases.

>>
>> I will implement this in the next beancounter patches.
> 
> This is looking remarkably like the mechanism in use for my generic
> containers patches (inherited from Paul Jackson's cpusets code). In
> the last set of patches that I posted on Wednesday night, I included
> the example of the beancounters core and numfiles counter implemented
> on top of the generic containers - basically pulling out the hash
> table, refcounting and most of the configfs code (since that's handled
> by the generic containers), and moving the attribute management
> configfs code to the use the containerfs filesystem interface instead.
> The rest is pretty much unchanged.
> 
> I think you could continue to use the tmp_exec_bc idea with this, and
> have get_exec_bc() use the tmp_exec_bc if it existed, or else get the
> bc pointer via the container system.

I'll look through your patches this week and send my opinion.

> I'd appreciate any feedback you had on that approach.
> 
> Paul


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
ckrm-tech mailing list
https://lists.sourceforge.net/lists/listinfo/ckrm-tech

Reply via email to