tech-kern archive

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

Re: serious performance regression in .41



On 25 May 2014, at 12:22, Christos Zoulas <christos%astron.com@localhost> wrote:

> In article <EEDF5103-8642-4621-8823-7ACA25CD2393%eis.cs.tu-bs.de@localhost>,
> J. Hannken-Illjes <hannken%eis.cs.tu-bs.de@localhost> wrote:
>> On 24 May 2014, at 20:16, Christos Zoulas <christos%astron.com@localhost> 
>> wrote:
>> 
>>> In article <B06BA1F3-EBB6-414B-A27F-16F1395EEE1C%eis.cs.tu-bs.de@localhost>,
>>> J. Hannken-Illjes <hannken%eis.cs.tu-bs.de@localhost> wrote:
>>>> 
>>>> Why didn't you commit it then?
>>> 
>>> I just did.
>> 
>> I mean this: "selector and context should be passed to
>> vfs_vnode_iterator_init as they are invariant."
>> 
>> Call as
>> 
>> vfs_vnode_iterator_init(mp, vip, selector, context)  and
>> vfs_vnode_iterator_next(vi)
>> 
>> to make it more clear the selector and context are invariant.
> 
> I tried...
> 
> Unfortunately this introduces a lot more complexity for little benefit.
> In order to do this "right", one needs either to pass the size of the context
> to the init function, so init can allocate it, or it needs to allocate
> it itself (I don't consider the alternative (init, next and destroy to have
> scope limitations) a good idea. Nevertheless, we'll need to call malloc
> somehow...

Ok, so lets leave it as is for now.  While malloc is not a problem here
as vfs_iterator_init() is not hot, scope limitations by passing a pointer
to context are.

--
J. Hannken-Illjes - hannken%eis.cs.tu-bs.de@localhost - TU Braunschweig 
(Germany)



Home | Main Index | Thread Index | Old Index