Re: Compiling C++ modules

Avi Kivity
2006-04-25T17:20:05Z

Dmitry Torokhov wrote:
>>> TakeLock l(&lock);
>>>
>>> do_something();
>>> do_something_else();
>>>
>>> First of all, that extra TakeLock object chews up stack, at least 4 or
>>> 8 bytes of it, depending on your word size.
>>>
>> No, it's optimized out. gcc notices that &lock doesn't change and that
>> 'l' never escapes the function.
>>
>
> "l" that propects critical section gets thrown away???
Calm down, the storage for 'l' is thrown away, but its effects remain.
> What is the
> name of the filesystem you ported? I mean, I need to know so I don't
> use it by accident.
>
It's very expensive, you can't use it by accident.

--
Do not meddle in the internals of kernels, for they are subtle and quick to panic.