[Pvfs2-developers] request unify and cleanup
Sam Lang
slang at mcs.anl.gov
Wed Feb 13 11:42:27 EST 2008
cvs co -r <your branch> pvfs2
cd pvfs2
patch -p 0 < patch-file
cvs commit
Why doesn't that work for you?
-sam
On Feb 13, 2008, at 10:41 AM, Walter B. Ligon III wrote:
> Well, no, that patch is against the repository files. I can't do
> that.
> Hmmm, OK, I guess I'll have to make a patch.
>
> Walt
>
> Sam Lang wrote:
>> Hi Walt,
>> Yes its against HEAD, and its already been committed. It should
>> apply cleanly to your branch though.
>> -sam
>> On Feb 13, 2008, at 9:09 AM, Walter B. Ligon III wrote:
>>> Sam, is this patch against the current trunk? This looks like
>>> something we should include in our branch, since we are about to
>>> add a server request/state machine or 3.
>>>
>>> Walt
>>>
>>> Sam Lang wrote:
>>>> The attached patch tries to cleanup some of our server request
>>>> code, so that adding a new server request+state machine doesn't
>>>> mean searching for all the places where we perform a switch/case
>>>> on the server op enum. It was motivated by the need for a more
>>>> generic prelude state machine and request scheduler, but its been
>>>> something that I've been itching to knock out for a while now. I
>>>> think there are still improvements that can be made here,
>>>> especially to the encoding/decoding and request scheduler, but
>>>> this gives me the functionality that I needed, so I decided its a
>>>> good place to stop.
>>>> What it does in summary:
>>>> The normal path for a server request operation is to jump to the
>>>> prelude state machine, which tries schedule the request based on
>>>> the handle+fsid. This meant that the request scheduler code had
>>>> a switch/case returning the handle+fsid for each request we
>>>> defined. The function was also overloaded with a readonly
>>>> parameter (whether the request modified any objects on the
>>>> server), and a scheduling policy parameter (as the return code),
>>>> which specified whether the request scheduling could be bypassed
>>>> for this request.
>>>> I moved all that to a per-request parameter structure, that gets
>>>> specified within the server state machine for the request. Now
>>>> there is one array of server requests (moved to pvfs2-server-
>>>> req.c) which the request scheduler and prelude state machine can
>>>> poke at to get parameters (defined in the state machine for that
>>>> request), and based decisions on.
>>>> The patch includes some other minor changes:
>>>> * A fix to the BMI addr ref count increment/decrement.
>>>> Previously, the addr ref count was being incremented/decremented
>>>> in the prelude/final-response state machines. That requires that
>>>> those state machines get invoked, which I don't want to have to
>>>> depend on. I've moved the INC call to the unexpected_sm, and the
>>>> DEC call to where the state machine gets finished in the server.
>>>> That way we don't have to worry about whether we're using prelude/
>>>> final-response.
>>>> * Cleanup of the request scheduler. The way we were changing the
>>>> mode from normal to admin was sort of embedded into the request
>>>> scheduling code, so we had to hack the mode change from
>>>> prelude_sm instead of in setparam. Also, the request scheduler
>>>> had to be aware of the setparam fields in the request. I've
>>>> moved the mode change code to separate request scheduler and job
>>>> calls. I think something similar could be done for the timer
>>>> code (it doesn't really belong in the request scheduler), but
>>>> I'll leave that for another patch.
>>>> * Changed the way we compile the server binary in Makefile.in to
>>>> allow for multiple object files.
>>>> Let me know what you think.
>>>> Thanks,
>>>> -sam
>>>> ------------------------------------------------------------------------
>>>> _______________________________________________
>>>> Pvfs2-developers mailing list
>>>> Pvfs2-developers at beowulf-underground.org
>>>> http://www.beowulf-underground.org/mailman/listinfo/pvfs2-
>>>> developers
>>>
>>> --
>>> Dr. Walter B. Ligon III
>>> Associate Professor
>>> ECE Department
>>> Clemson University
>>>
>
> --
> Dr. Walter B. Ligon III
> Associate Professor
> ECE Department
> Clemson University
>
More information about the Pvfs2-developers
mailing list