Re: [PATCH 01/04] Adding cipher mode context information tocrypto_tfm

From: Fruhwirth Clemens
Date: Thu Feb 10 2005 - 06:19:06 EST


On Thu, 2005-02-10 at 02:33 -0800, Andrew Morton wrote:
> Fruhwirth Clemens <clemens@xxxxxxxxxxxxx> wrote:
> >
> > On Wed, 2005-02-09 at 17:19 -0800, Andrew Morton wrote:
> > > Fruhwirth Clemens <clemens@xxxxxxxxxxxxx> wrote:
> > > Adding a few more fixmap slots wouldn't hurt anyone. But if you want an
> > > arbitrarily large number of them then no, we cannot do that.
> >
> > What magnitude is "few more"? 2, 10, 100?
>
> Not 100. 10 would seem excessive.

Out of curiosity: Where does this limitation even come from? What
prevents kmap_atomic from adding slots dynamically?

> > Is there an easy way to bring pages to lowmem? The cryptoapi is called
> > from the backlog of the networking stack, which is assigned in irq
> > context first and processed softirq context.
>
> Are networking frames ever allocated from highmem? Don't think so.

Hm, alright. So I'm going take the internal of kmap_atomic into
scatterwalk.c. to test if the page is in highmem, with PageHighMem. If
it is, I'm going to kmap_atomic and mark the fixmap as used. If it's
not, I do the "mapping" on my own with page_address.

Btw folks: why are there UpperCamelCase functions in linux/page-flags.h
and you're whining about my camelcase style in gfmulseq.c? My file isn't
even intended to be included by other files, unlike this include file.

> > If context == user, use kmap_atomic until they all used, and fall-back
> > to kmap.
>
> Taking multiple kmaps can deadlock due to kmap exhaustion though.

Ok, then relay on kmap_atomic, solely.

--
Fruhwirth Clemens <clemens@xxxxxxxxxxxxx> http://clemens.endorphin.org

Attachment: signature.asc
Description: This is a digitally signed message part