In message <[EMAIL PROTECTED]>, Bruce Evans writes:
>>Hmmm, I know this is your code, but are you sure? 8-). My understanding of
>>dkmodslice() and friends is that they manipulate dev_t entries, but don't
>>actually initialise them. Since the subr_diskslice code takes a dev_t
>
>dkmodslice() once just manipulated bits in dev_t scalars. Now that dev_t
>is a pointer, dkmodslice() has to create something for the pointer to
>point to. That something needs to be fully initialised and not created
>more than once. The initialisation is apparently incomplete. Multiple
>creation is avoided by searching the list of previously created entries.
>
>Now I understand why my memory is filling up with unused dev_t
>entries :-). subr_diskslice churns through a not insignificant part
>of the per-drive minor number space (32 slices * 8 partitions * {raw,
>buffered}), using dkmodslice to create new dev_t's.
yes, this is the remaining sticky issue, and the only cure I know for
this and for the DEVFS issue is to relayer the slice/label processing
out of the device driver entirely. This is now almost possible to do.
--
Poul-Henning Kamp FreeBSD coreteam member
[EMAIL PROTECTED] "Real hackers run -current on their laptop."
FreeBSD -- It will take a long time before progress goes too far!
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message