Greetings,

The following webrev contains fixes for the following issue:

  15169 image-update plans twice and keeps both

webrev:
http://cr.opensolaris.org/~swalker/pkg-mem/

image-update (via the pkg.client.api) calls plan_update_all(). plan_update_all calls ipkg_is_up_to_date check which does a plan_install to see if the pkg(1) client needs updating.

If that succeeds, it then does a make_udpate_plan for all packages on the system. However, when it creates the second plan, the first plan isn't discarded first.

Because the first plan isn't discarded, a significant amount of memory can't be re-used before the new plan is started. The fix for this is to simply always discard the current imageplan before creating a new one.

b131 system using /dev and /extra repositories (redistributable not installed):

$ pfexec pkg -R / image-update -n

First Column of pmap -x total output at end of operation:
Gate Tip Peak Memory: 759,572KB
Gate Tip + Patch Peak Memory: 634,444KB

The workaround for older clients is to simply use the -f option to image-update, which gives a very similar reduction in memory usage.

Cheers,
--
Shawn Walker
_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss

Reply via email to