Le Jeudi 24 Août 2006 17:43, Hollis Blanchard a écrit :
> On Thu, 2006-08-24 at 09:51 +0200, Tristan Gingold wrote:
> > > My suggestion: have xencomm_create() test IS_KERNEL_ADDR() (in whatever
> > > way is best for portability) and if it is, do the "inline" stuff. On
> > > the free side, if the descriptor was inline, free can just return. That
> > > would also make me happy because it removes the need to think about
> > > whether callers can/should call "create_inline" or not; the code just
> > > does the right thing.
> > We definitly disagree here. One whole point of xencomm_create_inline is
> > it doesn't allocate memory and can't fail. Because of that we don't need
> > to worry about failure and freeing memory. This makes the code a lot
> > easier to write and to read.
> It would simplify the code even more to fold xencomm_create_inline()
> into xencomm_create(), as I suggest above. That way, the developer never
> needs to consider if the particular hypercall could ever be called
> before the page allocator works. Proving that assumption for some
> hypercall, and guaranteeing it will remain true in the future no matter
> what Linux changes occur, is a lot more difficult than remembering to
> call free() after create().
Could you modify the ppc code, I will be happy to fetch directly the code for
this new idea.
> The goal of any API should be to make it impossible to use it
> incorrectly, and I think my (firm) suggestion makes that true here.
What about possible errors ?
Xen-ppc-devel mailing list